Décodeur TLV & Inspecteur de Code QR Fiscal ZATCA (Fatoora)
Décodez, inspectez et validez les structures TLV (Tag-Length-Value) et les codes QR fiscaux ZATCA Fatoora (Phases 1 et 2) directement dans votre navigateur.
Qu'est-ce que le TLV et comment fonctionne le code QR fiscal ZATCA ?
La norme TLV (Tag-Length-Value) est un format d'encodage binaire compact où chaque champ est représenté séquentiellement par son identifiant (Tag), sa longueur en octets (Length) et sa valeur brute (Value).
L'autorité fiscale d'Arabie Saoudite (ZATCA / GAZT) a adopté cette norme pour le projet Fatoora. En Phase 1, le code QR stocke les balises 1 à 5. En Phase 2 (Intégration), s'ajoutent les balises 6 à 9 avec les empreintes SHA-256 et les signatures cryptographiques ECDSA.
Anatomie des 9 Balises Fiscales ZATCA (Fatoora)
Spécification normative des balises officielles du code QR fiscal saoudien :
| Balise | Champ Officiel | Format | Définition Technique | Exemple Canonique |
|---|---|---|---|---|
| 1 | Seller's Name | UTF-8 | Nom ou raison sociale de l'entreprise émettrice. | Modern Bakery Ltd |
| 2 | VAT Number | 15 chiffres | Numéro fiscal débutant et se terminant obligatoirement par 3. | 310123456700003 |
| 3 | Timestamp | ISO 8601 | Date et heure exactes au format YYYY-MM-DDTHH:mm:ssZ. | 2026-09-11T08:00:00Z |
| 4 | Invoice Total | Décimal | Montant total TTC de la facture. | 115.00 |
| 5 | VAT Total | Décimal | Montant total de la taxe sur la valeur ajoutée facturée. | 15.00 |
| 6 | Invoice Hash | SHA-256 (32B) | Empreinte cryptographique SHA-256 du corps XML de la facture. | 4a1b2c3d... |
| 7 | ECDSA Signature | DER (64-72B) | Signature numérique cryptographique apposée par l'appareil. | 3045022100... |
| 8 | Public Key | X.509 PubKey | Clé publique du certificat d'estampillage du dispositif. | 3059301306... |
| 9 | Stamp Signature | Binaire | Tampon cryptographique de validation émis par la ZATCA. | Tampon Numérique |
Processus Déterministe de Décodage et de Vérification
Le moteur d'inspection analyse les tampons binaires bruts sans aucun appel réseau :
- 1. Extraction Binaire et Découpage des Balises: La charge utile Base64 ou Hex est convertie en tampon binaire et itérée séquentiellement. Le moteur lit la Balise (1 octet) et la Longueur (1 octet) avec contrôle strict des limites.
- 2. Vérification des Règles Fiscales et Cryptographiques: Les champs sont contrôlés selon les critères ZATCA : validité du numéro de TVA à 15 chiffres (début/fin 3), cohérence comptable entre Total et TVA, et conformité ISO 8601.