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 nowWhat 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?"
| Step | Question it answers |
|---|---|
| Decode the QR payload | Are all five fields present and correctly formatted? |
| Compare QR against invoice | Do 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.