ZATCA E-Invoicing (Fatoora) Guide for Saudi Accountants
How Phase 2 changes the way you book sales, prove compliance, and close month-end.
What ZATCA E-Invoicing (Fatoora) Is — And Why It's Not Just a Tech Update
If you work in accounting in Saudi Arabia, ZATCA e-invoicing Fatoora has changed how you record almost every sale. It is not a software upgrade. It is a structural change to *when* and *how* an invoice legally exists.
Under the old paper system, an invoice became real the moment your accounting software printed it. Under ZATCA, a B2B invoice is not legally valid until ZATCA itself stamps it through the Fatoora platform. That single shift moves the invoice from being a private business document to a cleared transaction sitting inside a government-verified chain of trust.
The Zakat, Tax and Customs Authority (ZATCA) introduced this system in two phases starting December 4, 2021. The goal was to close the VAT compliance gap by removing the possibility of paper-trail manipulation and cash-only off-the-books sales. For accountants, the consequence is concrete: your journal entries, your cut-off procedures, and even your month-end close depend on whether the Fatoora platform accepted the invoice.
This guide walks you through the ZATCA e-invoicing Fatoora rules every accountant in Saudi Arabia needs to operate cleanly — what the two phases mean, the difference between Standard and Simplified invoices, the technical fields, the journal entries, and the mistakes that show up most often in practice.
The Two Phases: Generation and Integration
ZATCA e-invoicing Fatoora rolls out in two phases. You need to know which phase your business is in to understand your daily compliance burden.
Phase 1 — Generation (started December 4, 2021). All VAT-registered businesses had to stop issuing handwritten or simple PDF invoices. Every invoice now had to be generated by a compliant electronic system that included a basic QR code, the seller's VAT number, and an invoice number. There was no integration with ZATCA at this stage — invoices stayed inside the seller's system. Phase 1 was effectively a digitization mandate.
Phase 2 — Integration (started January 1, 2023). This is where the real shift happened. Businesses now have to connect their billing systems directly to the Fatoora platform and either send each invoice for clearance or report it within 24 hours, depending on invoice type.
ZATCA rolls out Phase 2 in waves based on annual VATable revenue. Each wave gets a notice and a deadline:
- Wave 23 — businesses with annual VATable revenue above SAR 750,000 in any of 2022, 2023, or 2024 must integrate by March 31, 2026.
- Wave 24 — the next group of taxpayers must integrate with the Fatoora platform by June 30, 2026.
If your business is in a future wave, you are still in Phase 1 today, but you should already be selecting a Phase 2 compliant solution. Once you are notified, you have a fixed window to integrate, and the technical work — generating compliant XML, integrating cryptographic stamps, building the clearance workflow — is not trivial.
Standard vs Simplified Invoices: Two Compliance Models
ZATCA e-invoicing Fatoora treats two invoice types differently, and this is the most important distinction to internalize.
Standard Tax Invoice (B2B and B2G). Issued when you sell to another VAT-registered business or to a government entity. These follow the clearance model: every Standard Tax Invoice must be sent to ZATCA in real time, validated, and cryptographically stamped by ZATCA *before* you can deliver it to the buyer. If clearance fails, the invoice is not legally valid and you cannot send it.
Simplified Tax Invoice (B2C). Issued when you sell to an individual consumer. These follow the reporting model: you generate the invoice, hand it to the customer at the point of sale (with the QR code already on it), and then your system must report the invoice to the Fatoora platform within 24 hours.
The split exists for a reason. A coffee shop cannot pause every customer at the counter while the invoice is cleared by ZATCA. So B2C uses the asynchronous reporting model. B2B can absorb the small clearance latency because the buyer is another business and timing is more flexible.
This distinction also affects your accounting workflow. For a Standard Tax Invoice, you should not post the sale to the ledger until clearance succeeds. For a Simplified Tax Invoice, the sale is recorded immediately at the point of sale and reporting happens in the background.
The Anatomy of a Phase 2 E-Invoice
Every Phase 2 invoice — Standard or Simplified — must contain a fixed set of technical fields. You do not have to generate these by hand. Your billing system does it. But you need to understand them because audits, disputes, and reconciliation issues all trace back to whether these fields were correct.
Each compliant invoice carries:
- A Universally Unique Identifier (UUID) that uniquely identifies the invoice within your system.
- A previous invoice hash that chains your invoice to the one before it, creating a tamper-evident sequence.
- A cryptographic stamp — a digital signature using your business's private key (issued during ZATCA onboarding).
- A QR code containing nine fields: seller name, seller VAT number, invoice timestamp, invoice total (with VAT), VAT total, the invoice hash, the cryptographic stamp, the public key, and the ECDSA signature. The QR is base64-encoded.
- An invoice classification marker indicating whether the invoice is Standard or Simplified, and whether it is an invoice, debit note, or credit note.
The output format is XML or PDF/A-3 with embedded XML. The XML is the legally binding format — a regular PDF is not enough on its own. Most billing systems generate the PDF/A-3 version that wraps the XML inside it, so the buyer sees a readable document and your system retains the machine-readable file.
For accountants, the practical takeaway is that the QR code is no longer decorative. It is the proof that an invoice exists in ZATCA's chain of trust. If you receive an invoice from a supplier without a valid Phase 2 QR code, that is a red flag — and it may not be valid for input VAT recovery.
The Accounting Side: Journal Entries and Timing Implications
ZATCA e-invoicing Fatoora does not change the structure of a sale's journal entry. It changes the *event* that triggers it.
Under the clearance model (Standard Tax Invoice), the trigger for revenue recognition is no longer the moment your sales clerk hits "issue." It is the moment ZATCA returns a successful clearance response. Until then, the invoice is in a pending state and should not be posted to the ledger as a finalized sale.
Why does this matter? Three reasons:
1. Cut-off accuracy. At month-end, an invoice generated on March 31 at 23:55 but cleared on April 1 at 00:02 belongs to *April*. Before Phase 2, the issue date controlled the period. Now the cleared timestamp does. Get this wrong and your VAT return will not reconcile to the Fatoora platform.
2. Failed clearance handling. If ZATCA rejects an invoice (wrong VAT number, missing field, expired certificate), the sale never legally happened. Your system must either correct and resubmit or void the entry. Your accounting policy needs to define how rejections are tracked.
3. Output VAT timing. Output VAT becomes payable on the invoice that is cleared, not the one that was attempted. A pending invoice is not a tax liability yet.
Under the reporting model (Simplified Tax Invoice), recognition happens at point of sale. The reporting to ZATCA within 24 hours is a compliance event, not an accounting event. If the report fails, you have a compliance issue to fix — but the sale was already recorded.
Practical journal entry for both models follows the standard VAT accounting structure:
The only difference is *when* you make the entry. Clearance model: after ZATCA returns success. Reporting model: at point of sale.
Worked Example: B2B Sale Under the Clearance Model
Let's walk through a concrete scenario.
Scenario. Apex Digital, a Riyadh-based software consultancy, completes a project for Riyadh Trading Co. on May 5, 2026. The fee is SAR 50,000 plus 15% VAT (SAR 7,500), total SAR 57,500. Both companies are VAT-registered and the invoice is therefore a Standard Tax Invoice going through the clearance model.
Step 1 — Invoice generation. Apex Digital's accounting system creates the invoice with a UUID, the previous invoice hash, the cryptographic stamp, the buyer's VAT number, and a Phase 2 QR code. The system does not yet send it to Riyadh Trading Co.
Step 2 — Clearance request. The system submits the invoice XML to the Fatoora platform for clearance. ZATCA validates the structure, the cryptographic stamp, and the seller's certificate. ZATCA adds its own signature using the government's private key and returns the cleared invoice.
Step 3 — Delivery to buyer. Apex Digital's system now delivers the cleared invoice (PDF/A-3 with embedded XML) to Riyadh Trading Co.
Step 4 — Journal entry. Only now, after successful clearance, does Apex Digital book the sale:
Step 5 — Buyer's side. Riyadh Trading Co. receives the cleared invoice. They verify the QR code matches ZATCA's records, then post:
What happens if clearance fails? Suppose ZATCA rejects the invoice because Apex Digital's cryptographic certificate expired the day before. Apex Digital has not made any sale yet. There is no journal entry. The accounts team must work with IT to renew the certificate, regenerate the invoice (with a new UUID and updated hash chain), and resubmit. The original invoice number is voided and that voiding is itself a reportable event.
Worked Example: B2C Simplified Invoice in a Coffee Shop
Now contrast the Standard Tax Invoice flow with a B2C example.
Scenario. Bayan Café in Jeddah sells a customer a SAR 23 cappuccino on the morning of May 6, 2026. VAT at 15% is SAR 3, total SAR 26. The customer pays in cash. This is a Simplified Tax Invoice going through the reporting model.
Step 1 — Invoice generation at the till. The café's POS system creates the simplified invoice with the seller's VAT number, the invoice timestamp, the totals, the cryptographic stamp, and a Phase 2 QR code. The customer is handed a printed receipt with the QR code and walks out.
Step 2 — Sale recorded immediately. Bayan Café's POS posts the sale at the moment of payment. The journal entry is straightforward:
Step 3 — Reporting in the background. Within 24 hours, the POS sends the invoice XML to the Fatoora platform. ZATCA validates and acknowledges. No clearance is required, no waiting. The reporting is asynchronous and does not block business operations.
Step 4 — End of day reconciliation. At end of day, Bayan Café's accountant compares the POS sales summary to the Fatoora platform acknowledgment log. Each transaction should match. If a transaction was generated locally but did not appear in ZATCA's records within 24 hours, it is flagged for investigation.
The mental model: in the reporting model, the accounting entry leads and the compliance event follows. In the clearance model, the compliance event leads and the accounting entry follows.
Common Mistakes Accountants Make With ZATCA E-Invoicing
These come up in practice all the time, and most of them are entirely avoidable once you know what to look for.
Posting Standard Tax Invoices before clearance succeeds. The single most common mistake. Your billing system shows the invoice was "issued," your AR ledger reflects a receivable, and then the next day you discover the Fatoora platform rejected it. Now you have a phantom receivable and a misstated revenue figure. Always wait for confirmed clearance.
Confusing Phase 1 QR codes with Phase 2 QR codes. A Phase 1 QR encodes only basic seller information. A Phase 2 QR encodes nine fields including the cryptographic stamp and ECDSA signature. Treating a Phase 1 QR as adequate proof of compliance after your wave deadline is a compliance failure, not a clerical one.
Recovering input VAT from non-compliant supplier invoices. If your supplier is in Phase 2 but their invoice does not carry a valid Phase 2 QR code, that invoice is not a legally compliant tax invoice, and ZATCA can deny your input VAT recovery. Always validate supplier invoices on receipt — at minimum, confirm the QR code, the seller's VAT number, and the cryptographic stamp.
Mixing cleared and pending invoices in the AR aging report. Your AR aging should not show invoices that failed clearance as outstanding receivables. They are not receivables. Build a separate "pending clearance" bucket so accounts payable on the buyer side and accounts receivable on the seller side stay clean.
Treating credit notes as ordinary corrections. Phase 2 requires credit notes to follow the same compliance flow as the invoices they reverse. A B2B credit note must clear ZATCA. A B2C credit note must be reported. You cannot quietly adjust an invoice in your system without going through the Fatoora platform.
Forgetting about cross-period clearance. If an invoice is generated in one VAT period but cleared in the next, the period assignment can drift. This becomes painful at month-end and quarter-end if your team does not have a documented cut-off rule. Your policy should be explicit about which timestamp controls.
Practice ZATCA-Style Workflows on Accountery
Reading about ZATCA e-invoicing Fatoora is one thing. Booking the entries under realistic conditions is another. The fastest way to internalize the difference between the clearance and reporting models is to work through journal entries, period cut-offs, and credit note reversals on practice cases that mirror Saudi business scenarios.
Accountery's practice library includes journal entry exercises that walk you through Standard and Simplified invoice flows, complete with SAR amounts, Saudi business names, and the timing edge cases you'll see at month-end. You can build classroom assignments around ZATCA scenarios for your students, or run through them solo to prepare for SOCPA Fellowship and ACCA exams that increasingly test the Saudi tax framework.
Start practicing the entries until the timing rules become reflexive — that's the point at which compliance stops being a checklist and becomes part of how you think about every sale.