Guide

What is inside the ZATCA QR code, and how do you read it?

The QR code on a Saudi e-invoice is Base64 text that packs the invoice's key fields in TLV (tag, length, value) form. Phase 1 QR codes hold five fields: seller name, seller VAT number, invoice date and time, total with VAT and the VAT amount. Phase 2 QR codes add the invoice hash, the digital signature and the public key. To read one, decode the Base64 and split the TLV fields, or use a free reader like the BookMyBills ZATCA QR reader.

Updated 24 October 2026 · By OpenArabia

Which fields does the QR hold?

TagFieldPhase
1Seller name1 and 2
2Seller VAT registration number1 and 2
3Invoice date and time1 and 2
4Invoice total including VAT1 and 2
5VAT total1 and 2
6Hash of the XML invoice2
7ECDSA digital signature2
8ECDSA public key2
9ZATCA's stamp signature (simplified invoices)2

How do you read it?

  1. Scan the QR with any QR scanner or a phone camera and copy the text.
  2. Decode the text from Base64 into bytes.
  3. Read the bytes as a chain of fields: one byte for the tag, one byte for the length, then that many bytes of value.
  4. Compare each field with the printed invoice.

The free ZATCA QR reader does all four steps in your browser from a photo or the QR text.

What should you check on a supplier bill?

  • The seller name and VAT number match the printed supplier.
  • The VAT number has 15 digits and starts and ends with 3.
  • The total and the VAT match the printed figures, and the VAT is 15% of the amount before VAT.
  • The date matches the invoice date.

A mismatch is a reason to ask the supplier before you claim the VAT.

Why won't the QR scan?

  • Blurry or far photo: take a closer photo of the QR alone, in good light.
  • Thermal paper faded or creased: flatten the receipt; a faded QR may not be readable at all.
  • Screenshot of a PDF: zoom into the QR before the screenshot.
  • It reads, but shows strange text: that is the Base64 content; paste it into a reader.
  • It reads, but the fields are wrong: the invoice may come from a system that builds the QR incorrectly; ask the supplier for a corrected invoice.

How BookMyBills uses it

BookMyBills reads the QR on every bill your team sends on WhatsApp, checks it against the printed bill and books 15% input VAT only on valid tax invoices. Sources: ZATCA e-invoicing FAQ, ZATCA Guideline for Tax Invoicing and Records (v3, May 2026).

General information, not tax advice.

Common questions

Why doesn't my phone open a link when I scan it?

The ZATCA QR is not a web link. It is Base64 text holding the invoice fields, so a phone camera shows a block of letters. Paste it into a ZATCA QR reader to see the fields.

Is the QR code required on every invoice?

ZATCA requires a QR code on simplified tax invoices from Phase 1, and its current invoicing guideline lists it among the contents of standard tax invoices too. Check ZATCA's guideline for the rule that applies to your invoice type and date.

Can a QR code prove an invoice is real?

A QR that matches the printed bill is a good sign, not proof. Phase 2 QR codes carry a digital signature that ZATCA's systems can verify; a simple reader only shows the fields.

See it book your own bills.

Message us on WhatsApp. We show you BookMyBills working on real bills. No card, no setup.

Get a free demo on WhatsApp

+966 59 281 3786