ZATCA e-factuur QR (Saudi FATOORA)

ZATCA (Zakat-, belasting- en douaneautoriteit) van Saudi-Arabië verplicht een QR op elke belastingfactuur in het Koninkrijk. Fase 1 is vereenvoudigd TLV; Fase 2 voegt cryptografische verzegeling toe via integratie met het FATOORA-platform. Niet-conforme facturen worden geweigerd door de boekhoudsoftware van de koper en zijn ongeldig voor BTW-teruggave.

Officiële specificatie:ZATCA E-Invoicing Resolutie & Uitvoeringsregels, actueel t/m 2026.
Fase 1 (Generatie): van kracht sinds 4 december 2021. Alle BTW-geregistreerde bedrijven moeten digitale facturen met QR uitreiken.
Fase 2 (Integratie): uitrol per bedrijfsgrootte golf vanaf 1 januari 2023. Voegt digitale handtekening + ZATCA-goedkeuring toe voor standaardfacturen en realtime rapportage voor vereenvoudigde facturen.

Wat het is

De QR codeert een Base64-string. Decodeer de Base64 om een binaire TLV-reeks te krijgen met 5 verplichte velden in vaste volgorde:

TagVeldTypeOpmerkingen
01Naam verkoperUTF-8-stringHandelsnaam van de verkoper. Arabisch en Latijn beide geaccepteerd.
02BTW-registratienummer15 cijfersBegint met 3 voor Saudische entiteiten. Formaat: 3XXXXXXXXXXXXX3.
03Tijdstempel factuurISO 8601Bijv. 2026-04-18T10:30:00Z. Moet tijdzone bevatten.
04Totaal factuur (incl. BTW)Decimale stringBijv. 115.00. Valuta is impliciet SAR.
05BTW-bedragDecimale stringBijv. 15.00. Huidig standaardtarief 15%.
06Hash factuur (Fase 2)Base64 SHA-256SHA-256 van de canonieke factuur-XML.
07Digitale handtekening (Fase 2)Base64ECDSA over de facturhash met het CSID-certificaat van de verkoper.
08Publieke sleutel (Fase 2)Base64 X.509ECDSA-publieke sleutel van de verkoper (uit het CSID).
09ZATCA-stempel (Fase 2)Base64Tegenhandtekening van ZATCA. Alleen aanwezig na ZATCA-goedkeuring.

Elk TLV-record is 1 tagbyte + 1 lengtebyte + <lengte> waardebytes. De hele reeks wordt dan Base64-gecodeerd om de QR-payload te worden.

Fase 1 (vereenvoudigd) vs Fase 2 (integratie)

AspectFase 1Fase 2
QR-inhoudAlleen tags 01–05Tags 01–05 plus 06, 07, 08, optioneel 09
ZATCA-integratieGeen, offlineRealtime API voor vereenvoudigde facturen, goedkeuringsstroom voor standaardfacturen
Vereiste certificatenNeeJa, CSID (Cryptografische Stempelidentificator) uitgegeven door ZATCA
Ingangsdatum2021-12-04 (alle bedrijven)2023-01-01 (progressieve golven per omzet)
FactuuromvangB2C (vereenvoudigd) + B2B (standaard)B2C vereenvoudigd: realtime rapportage. B2B standaard: goedkeuring (pre-validatie) voor uitgifte.

Canonieke testvectoren

Voorbeeld TLV (voor Base64):

01 0A "Acme Saudi" 02 0F "300000000000003" 03 14 "2026-04-18T10:30:00Z" 04 06 "115.00" 05 05 "15.00"

Na Base64-codering:

AQpBY21lIFNhdWRpAg8zMDAwMDAwMDAwMDAwMDMDFDIwMjYtMDQtMThUMTA6MzA6MDBaBAYxMTUuMDAFBTE1LjAw
GevalInvoerBase64-voorvoegsel
Fase 1, minimaal vereenvoudigdseller=Acme Saudi
vat=300000000000003
time=2026-04-18T10:30:00Z
total=115.00
vat_amount=15.00
AQpBY21lIFNhdWRp...
Arabische naam verkoperseller=شركة أكمي
vat=300000000000003
...
Naam verkoper UTF-8-gecodeerd in TLV voor Base64.
Fase 2 standaardfactuurAlles hierboven plus hash=<SHA-256 Base64>
signature=<ECDSA Base64>
public_key=<X.509 Base64>
Veel langere Base64. Decoders moeten extra tags voorbij 05 tolereren.

Veelgemaakte fouten

Scannercompatibiliteit

LezerOndersteuningOpmerkingen
ZATCA FATOORA appNativOfficiële ministerie-app; verifieert Fase 2-handtekeningen tegen ZATCA PKI.
Saudisch boekhoudsoftware (SAP B1, Oracle, Microsoft Dynamics)Nativ (post-2023)Gelokaliseerde Saudische builds hebben ZATCA-parsing in de AP-pipeline.
iOS CameraRuwe Base64Niet herkend als belastingfactuur. Gebruiker moet de FATOORA-app openen.
Android Camera / Google LensRuwe Base64Zelfde, geen native parsing.
Audit-tools van derden (PwC, KPMG, Deloitte Saudische eenheden)NativAudit-technologiesuites parseren en verifiëren Fase 2-handtekeningen.

Zie ook

Specificatiereferenties geverifieerd op 2026-04-18 (ZATCA E-Invoicing Resolutie, actueel). Volgende beoordeling: 2026-07-18.