Gerador de Fatoora UUID & Hash (ZATCA Fase 2)
Gere e formate Fatoora UUID & Hash (ZATCA Fase 2) válidos para desenvolvimento e testes de software.
Sobre o Fatoora UUID & Hash (ZATCA Fase 2)
O projeto Fatoora é a plataforma de faturamento eletrônico governamental da Arábia Saudita, regulada pela Autoridade de Zakat, Tributos e Alfândega (ZATCA). A Fase 2 (Fase de Integração) exige que cada fatura emitida (Standard ou Simplified) seja assinada digitalmente com certificado X.509 e possua um hash criptográfico sequencial que a vincula à fatura anterior.
A estrutura requer um UUID versão 4 canônico (`8-4-4-4-12` caracteres hexadecimais) no nó `<cbc:UUID>` do padrão UBL 2.1 XML e um Invoice Hash SHA-256 codificado em Base64 (44 caracteres) inserido no nó de extensão `<ext:UBLExtensions>`, permitindo à API da ZATCA verificar adulterações cadastrais.
Anatomia & Estrutura do Fatoora QR Code (TLV Base64) — Arábia Saudita
O código QR da fatura eletrônica codifica 5 tags obrigatórias em formato binário TLV:
| Posição | Campo | Tamanho | Significado & Regra | Exemplo |
|---|---|---|---|---|
| Tag 1 | Razão Social do Vendedor | Variável | Nome da empresa emissora em UTF-8 | Acme Corp |
| Tag 2 | Número de IVA do Vendedor | 15 dígitos | VAT de 15 dígitos iniciado e terminado em 3 | 300123456700003 |
| Tag 3 | Data e Hora da Fatura | ISO 8601 | Timestamp no padrão YYYY-MM-DDTHH:mm:ssZ | 2024-01-15T12:00:00Z |
| Tag 4 | Valor Total da Fatura | Decimal | Total com IVA incluído | 115.00 |
| Tag 5 | Valor do Imposto (IVA) | Decimal | Montante de IVA destacado | 15.00 |
Codificação TLV e Base64 (ZATCA Fatoora Phase 1/2)
Algoritmo de codificação do QR Code fiscal:
- 1. Para cada campo fiscal (1 a 5), grava-se o identificador da tag em 1 byte.
- 2. Grava-se o comprimento do valor em UTF-8 em 1 byte.
- 3. Grava-se os bytes correspondentes ao valor textual.
- 4. Concatena-se todos os blocos e converte-se o buffer binário para Base64.