ZATCA e-fakturační QR (saúdská FATOORA)
ZATCA (Úřad pro Zakát, daně a cla) Saúdské Arábie nařizuje QR na každé daňové faktuře vystavené v Království. Fáze 1 je zjednodušený TLV; Fáze 2 přidává kryptografické pečetění prostřednictvím integrace s platformou FATOORA. Nevyhovující faktury jsou odmítány účetním softwarem kupujícího a jsou neplatné pro odpočet DPH.
Kanonická specifikace:ZATCA E-Invoicing Resolution & Implementing Regulations, platná do roku 2026.
Fáze 1 (generování): v platnosti od 4. prosince 2021. Všechny podniky registrované k DPH musí vystavovat digitální faktury s QR.
Fáze 2 (integrace): postupné zavádění podle velikosti podniku od 1. ledna 2023. Přidává digitální podpis + clearance ZATCA pro standardní faktury a hlášení v reálném čase pro zjednodušené faktury.
Fáze 1 (generování): v platnosti od 4. prosince 2021. Všechny podniky registrované k DPH musí vystavovat digitální faktury s QR.
Fáze 2 (integrace): postupné zavádění podle velikosti podniku od 1. ledna 2023. Přidává digitální podpis + clearance ZATCA pro standardní faktury a hlášení v reálném čase pro zjednodušené faktury.
Co to je
QR kóduje řetězec Base64. Dekódujte Base64 a získáte binární sekvenci TLV s 5 povinnými poli v pevném pořadí:
| Tag | Pole | Typ | Poznámky |
|---|---|---|---|
01 | Název prodejce | Řetězec UTF-8 | Obchodní název prodejce. Arabština i latina jsou přijatelné. |
02 | Číslo registrace DPH | 15 číslic | Začíná 3 pro saúdské subjekty. Formát: 3XXXXXXXXXXXXX3. |
03 | Časové razítko faktury | ISO 8601 | Např. 2026-04-18T10:30:00Z. Musí obsahovat časové pásmo. |
04 | Celková částka faktury (s DPH) | Desetinný řetězec | Např. 115.00. Měna je implicitně SAR. |
05 | Částka DPH | Desetinný řetězec | Např. 15.00. Aktuálně standardní sazba 15 %. |
06 | Hash faktury (Fáze 2) | Base64 SHA-256 | SHA-256 kanonického XML faktury. |
07 | Digitální podpis (Fáze 2) | Base64 | ECDSA nad hashem faktury s použitím certifikátu CSID prodejce. |
08 | Veřejný klíč (Fáze 2) | Base64 X.509 | ECDSA veřejný klíč prodejce (z CSID). |
09 | Razítko ZATCA (Fáze 2) | Base64 | Kontrapodpis ZATCA. Přítomen pouze po clearance ZATCA. |
Každý TLV záznam je 1 byte tagu + 1 byte délky + <délka> bytů hodnoty. Celá sekvence je pak zakódována Base64 jako payload QR.
Fáze 1 (zjednodušená) vs Fáze 2 (integrace)
| Aspekt | Fáze 1 | Fáze 2 |
|---|---|---|
| Obsah QR | Pouze tagy 01–05 | Tagy 01–05 plus 06, 07, 08, volitelně 09 |
| Integrace ZATCA | Žádná, offline | API v reálném čase pro zjednodušené faktury, clearance pro standardní faktury |
| Požadované certifikáty | Ne | Ano, CSID (Cryptographic Stamp Identifier) vydaný ZATCA |
| Datum účinnosti | 2021-12-04 (všechny podniky) | 2023-01-01 (postupné vlny podle obratu) |
| Rozsah faktury | B2C (zjednodušená) + B2B (standardní) | B2C zjednodušená: hlášení v reálném čase. B2B standardní: clearance (předběžná validace) před vystavením. |
Kanonické testovací vektory
Příklad TLV (před Base64):
01 0A "Acme Saudi" 02 0F "300000000000003" 03 14 "2026-04-18T10:30:00Z" 04 06 "115.00" 05 05 "15.00"Po kódování Base64:
AQpBY21lIFNhdWRpAg8zMDAwMDAwMDAwMDAwMDMDFDIwMjYtMDQtMThUMTA6MzA6MDBaBAYxMTUuMDAFBTE1LjAw| Případ | Vstupy | Prefix Base64 |
|---|---|---|
| Fáze 1, minimální zjednodušená | seller=Acme Saudi | AQpBY21lIFNhdWRp... |
| Arabský název prodejce | seller=شركة أكمي | Název prodejce UTF-8 zakódovaný uvnitř TLV před Base64. |
| Standardní faktura Fáze 2 | Vše výše plus hash=<SHA-256 Base64> | Mnohem delší Base64. Dekodéry musí tolerovat extra tagy za 05. |
Typické chyby
- Délka čísla DPH. Čísla DPH ZATCA mají přesně 15 číslic, začínají a končí
3. Cokoliv jiného selže při validaci na straně příjmu faktury. - Časové razítko bez časového pásma. Specifikace vyžaduje ISO 8601 s explicitní zónou (
Znebo+03:00). Naivní lokální časová razítka jsou odmítána. - Pořadí kódování. TLV pole musí být v pořadí čísla tagu (01, 02, 03, 04, 05, …). Přeuspořádání způsobí úspěšné dekódování QR, ale někteří validátoři jej označí jako nekanonický.
- Formátování desetinných čísel. Celková částka faktury a DPH používají tečkovou desetinnou čárku (
115.00), ne čárku (115,00). Také žádné oddělovače tisíců. - Měna je implicitně SAR. Faktury v cizí měně se stále převádějí do SAR pro pole QR. Základní XML může nést původní měnu; QR ne.
- Selhání clearance Fáze 2. Standardní faktura předložená API clearance ZATCA může být odmítnuta (špatný CSID, chybné XML, chybný výpočet daně). Faktura je právně neplatná, dokud není vyúčtována. Ponechte smyčku opakování s exponenciálním zpětným krokem; nevydávejte fakturu, dokud clearance neuspěje.
- Rotace certifikátu CSID. CSID Fáze 2 expirují (typicky 1 rok). Zabudujte kontrolu obnovení do svého e-fakturačního systému, jinak náhle přestanete moci vydávat faktury.
Kompatibilita skenerů
| Čtečka | Podpora | Poznámky |
|---|---|---|
| Aplikace ZATCA FATOORA | Nativní | Oficiální aplikace ministerstva; ověřuje podpisy Fáze 2 vůči ZATCA PKI. |
| Saúdský účetní software (SAP B1, Oracle, Microsoft Dynamics) | Nativní (po 2023) | Lokalizované saúdské sestavy mají parsování ZATCA v AP pipeline. |
| Fotoaparát iOS | Surový Base64 | Nerozpoznáno jako daňová faktura. Uživatel musí otevřít aplikaci FATOORA. |
| Fotoaparát Android / Google Lens | Surový Base64 | Stejné, žádné nativní parsování. |
| Nástroje třetích stran pro audit (PwC, KPMG, saúdské jednotky Deloitte) | Nativní | Sady auditních technologií parsují a ověřují podpisy Fáze 2. |
Viz také
- /zatca-saudi-einvoice-qr-code/, generátor.
- /standards/, zpět na index standardů.
- Vývojářský portál ZATCA, autoritativní zdroje a sandbox FATOORA.