ZATCA e-faktura QR (Saudi FATOORA)

ZATCA (Zakat, Tax and Customs Authority) i Saudi-Arabien kræver en QR på enhver skattefaktura udstedt i Kongeriget. Fase 1 er forenklet TLV; Fase 2 tilføjer kryptografisk forsegling via integration med FATOORA-platformen. Ikke-overensstemmende fakturaer afvises af købers regnskabssoftware og er ugyldige for momsgodtgørelse.

Kanonisk specifikation:ZATCA E-Invoicing Resolution & Implementing Regulations, gyldig til og med 2026.
Fase 1 (generering): I kraft siden 4. december 2021. Alle momsregistrerede virksomheder skal udstede digitale fakturaer med QR.
Fase 2 (integration): Udrulning i bølger efter virksomhedsstørrelse siden 1. januar 2023. Tilføjer digital signatur + ZATCA-godkendelse for standardfakturaer og realtidsrapportering for forenklede fakturaer.

Hvad det er

QR-koden koder en Base64-streng. Afkod Base64 for at få en binær TLV-sekvens med 5 obligatoriske felter i fast rækkefølge:

TagFeltTypeBemærkninger
01SælgernavnUTF-8-strengSælgerens handelsnavn. Arabisk og latinsk begge accepteret.
02Momsregistreringsnummer15 cifreStarter med 3 for saudiske enheder. Format: 3XXXXXXXXXXXXX3.
03FakturatidsstempelISO 8601F.eks. 2026-04-18T10:30:00Z. Skal inkludere tidszone.
04Fakturatotal (med moms)DecimalstrengF.eks. 115.00. Valuta er implicit SAR.
05MomsbeløbDecimalstrengF.eks. 15.00. Aktuelt 15% standardsats.
06Fakturahash (Fase 2)Base64 SHA-256SHA-256 af det kanoniske faktura-XML.
07Digital signatur (Fase 2)Base64ECDSA over fakturahash med sælgerens CSID-certifikat.
08Offentlig nøgle (Fase 2)Base64 X.509Sælgerens ECDSA offentlige nøgle (fra CSID).
09ZATCA-stempel (Fase 2)Base64ZATCAs kontraunderskrift. Til stede kun efter ZATCA-godkendelse.

Hver TLV-post er 1 tag-byte + 1 længde-byte + <længde> værdibytes. Hele sekvensen er derefter Base64-kodet som QR-payload.

Fase 1 (forenklet) vs Fase 2 (integration)

AspektFase 1Fase 2
QR-indholdKun tags 01–05Tags 01–05 plus 06, 07, 08, valgfrit 09
ZATCA-integrationIngen, offlineRealtids-API for forenklede fakturaer, godkendelsesflow for standardfakturaer
Certifikater krævetNejJa, CSID (Cryptographic Stamp Identifier) udstedt af ZATCA
Ikrafttrædelsesdato2021-12-04 (alle virksomheder)2023-01-01 (rullende bølger efter omsætning)
FakturaomfangB2C (forenklet) + B2B (standard)B2C forenklet: realtidsrapport. B2B standard: godkendelse (forudvalidering) inden udstedelse.

Kanoniske testvektorer

Eksempel TLV (før Base64):

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

Efter Base64-kodning:

AQpBY21lIFNhdWRpAg8zMDAwMDAwMDAwMDAwMDMDFDIwMjYtMDQtMThUMTA6MzA6MDBaBAYxMTUuMDAFBTE1LjAw
TilfældeInputBase64-præfiks
Fase 1, minimal forenkletseller=Acme Saudi
vat=300000000000003
time=2026-04-18T10:30:00Z
total=115.00
vat_amount=15.00
AQpBY21lIFNhdWRp...
Arabisk sælgernavnseller=شركة أكمي
vat=300000000000003
...
Sælgernavn UTF-8-kodet inde i TLV før Base64.
Fase 2 standardfakturaAlt det ovenstående plus hash=<SHA-256 Base64>
signature=<ECDSA Base64>
public_key=<X.509 Base64>
Meget længere Base64. Dekodere skal tolerere ekstra tags efter 05.

Almindelige faldgruber

Scannerkompatibilitet

LæserUnderstøttelseBemærkninger
ZATCA FATOORA-appNativOfficiel ministeriets app; verificerer Fase 2-signaturer mod ZATCA PKI.
Saudiarabisk regnskabssoftware (SAP B1, Oracle, Microsoft Dynamics)Nativ (efter 2023)Lokaliserede saudiarabiske builds har ZATCA-parsing i AP-pipelinen.
iOS-kameraRå Base64Ikke genkendt som skattefaktura. Brugeren skal åbne FATOORA-appen.
Android-kamera / Google LensRå Base64Samme, ingen nativ parsing.
Tredjeparts revisionsværktøjer (PwC, KPMG, Deloitte Saudi-enheder)NativRevisions-teknologisuiter parser og verificerer Fase 2-signaturer.

Se også

Specifikationsreferencer verificeret 2026-04-18 (ZATCA E-Invoicing Resolution, aktuel). Næste gennemgang: 2026-07-18.