ZATCA QR Codes Explained: What's Inside a Saudi E-Invoice QR
Every Saudi e-invoice carries a QR code encoding key tax data as Base64 TLV. Here's what's inside it and how to decode and check one for free.
The QR on every Saudi invoice
Saudi Arabia's e-invoicing system (Fatoora), run by ZATCA, requires a QR code on every invoice. It encodes key tax data as a Base64-encoded TLV (Tag-Length-Value) string. The free ZATCA QR Decoder unpacks it into readable fields.
What's inside
The TLV structure carries, by tag:
- (1) Seller name
- (2) VAT registration number
- (3) Timestamp of the invoice
- (4) Invoice total including VAT
- (5) VAT total
Phase 2 invoices add a cryptographic hash, signature, and public key for authenticity.
How to read one
Scan the QR with any reader and it returns a Base64 string rather than a URL. Paste that into the decoder to see each labelled field โ useful when testing an integration or checking a supplier's invoice is well-formed.
Decoding vs full validation
The decoder reads the structure and values and confirms the TLV is well-formed. It does not verify the Phase 2 cryptographic signature, which requires the issuer's certificate. For UAE counterparts, see the TRN Validator.