Back to the ZATCA CheckerCore guide

How do I know if my e-invoice is ZATCA compliant?

The honest answer is that "compliance" under Phase 1 of Saudi e-invoicing has a specific and limited meaning: you issue an invoice that is machine-readable, and its most visible element is the QR code. This guide explains what you can verify yourself — and what no external tool can verify for you.

ZATCA Checker

A practical two-step check for the simplified tax invoice under Phase 1: decode the QR code, verify the five fields, then compare the QR against what the invoice actually shows.

Check your invoice now

What makes an invoice machine-readable?

On a simplified tax invoice, the QR payload is encoded as TLV and then converted to Base64. When a scanner reads it, five fields must come out without any manual typing. If any one of them fails to appear, the code itself is incomplete.

  • Seller name — as registered for the business.
  • VAT number — 15 digits, conventionally starting and ending with 3.
  • Invoice date and time — in ISO 8601 format.
  • Invoice total including VAT.
  • VAT amount.

Two steps, not one

Most tools stop at step one: decode the code and confirm the fields exist. That matters, but it is incomplete. It answers "is the code well-formed?" and not the more dangerous question: "does the code agree with the invoice?"

StepQuestion it answers
Decode the QR payloadAre all five fields present and correctly formatted?
Compare QR against invoiceDo the amount, date and VAT number in the code match the printed invoice?

Step two is where real errors surface. An invoice printed as 1,200 SAR while the code says 1,150 SAR looks perfectly fine to the eye — only a comparison catches it.

Check your invoice free, inside your browser

The Isal ZATCA Checker performs both steps. Upload the invoice (PDF or image) or photograph just the QR code: the tool decodes the payload, verifies the fields, then compares the values against the invoice text. Everything runs on your device — the file is never uploaded anywhere.

What a pass does not mean

This is the most important part of the page. A well-formed code does not mean the invoice was approved by the authority, that it was recorded, or that it would be accepted under Phase 2. The check covers Phase 1 technical requirements only.

  • It is not official approval from the Zakat, Tax and Customs Authority.
  • It does not mean the invoice was transmitted or integrated with the authority.
  • It does not prove the seller is registered — the tool validates the number format, not the registry.
  • It does not check prices, line items or contractual terms.

Frequently asked questions

Does passing the check mean ZATCA approved the invoice?

No. The check verifies Phase 1 elements inside the QR code only. Official approval is not something an external tool can confirm.

What should I do if the code and the invoice disagree?

Ask the seller to reissue the invoice. A mismatch between the encoded payload and the printed text means one of them is wrong, and a reissued invoice is the only practical fix.

Can I check an invoice without uploading it?

Yes. Photograph only the QR code, type the values in manually, or paste the raw QR text. All three paths work.

E-invoicing guide