Decodificador TLV e Inspector de Código QR Fiscal ZATCA (Fatoora)
Decodifique, inspeccione y valide estructuras TLV (Tag-Length-Value) y códigos QR fiscales ZATCA Fatoora (Fases 1 y 2) directamente en el navegador.
¿Qué es TLV y cómo funciona el código QR fiscal ZATCA?
El estándar TLV (Tag-Length-Value) es un esquema de codificación binaria compacto donde cada campo está representado secuencialmente por su identificador numérico (Tag), longitud en bytes (Length) y valor bruto (Value).
La autoridad fiscal de Arabia Saudita (ZATCA / GAZT) adoptó este estándar para el proyecto Fatoora. En la Fase 1, el código QR almacena las etiquetas 1 a 5. En la Fase 2 (Integración), se agregan las etiquetas 6 a 9 con hashes SHA-256 y firmas ECDSA.
Anatomía de las 9 etiquetas fiscales ZATCA (Fatoora)
Especificación normativa de las etiquetas oficiales del código QR fiscal saudí:
| Etiqueta | Campo Oficial | Formato | Definición Técnica | Ejemplo Canónico |
|---|---|---|---|---|
| 1 | Seller's Name | UTF-8 | Razón social o nombre de la empresa vendedora. | Modern Bakery Ltd |
| 2 | VAT Number | 15 dígitos | Número de IVA que debe comenzar y terminar con 3. | 310123456700003 |
| 3 | Timestamp | ISO 8601 | Fecha y hora exacta en formato YYYY-MM-DDTHH:mm:ssZ. | 2026-09-11T08:00:00Z |
| 4 | Invoice Total | Decimal | Importe total de la factura con impuestos incluidos. | 115.00 |
| 5 | VAT Total | Decimal | Importe total del impuesto sobre el valor añadido. | 15.00 |
| 6 | Invoice Hash | SHA-256 (32B) | Resumen criptográfico SHA-256 del XML de la factura. | 4a1b2c3d... |
| 7 | ECDSA Signature | DER (64-72B) | Firma digital criptográfica generada por el dispositivo. | 3045022100... |
| 8 | Public Key | X.509 PubKey | Clave pública del certificado del dispositivo emisor. | 3059301306... |
| 9 | Stamp Signature | Binary | Sello criptográfico de validación emitido por ZATCA. | Sello Digital |
Proceso de Decodificación y Verificación Determinista
El motor de inspección opera linealmente sobre búferes binarios sin tráfico de red:
- 1. Extracción Binaria y Desempaquetado: La carga útil Base64 o Hex se convierte a búfer binario y se itera secuencialmente, leyendo la Etiqueta (1 byte) y la Longitud (1 byte) con protección estricta contra desbordamientos.
- 2. Verificación de Reglas Fiscales: Los campos decodificados se validan conforme a las normas ZATCA: formato del número de IVA de 15 dígitos (inicia y finaliza con 3) y coherencia contable entre Total e IVA.