- Compliance
- MENA
ZATCA E-Invoicing in Saudi Arabia: A Plain-English Guide
What ZATCA e-invoicing (Fatoora) actually requires, how Phase 1 and Phase 2 differ, and what compliance means for your ERP, POS, or billing software.
If you run a VAT-registered business in Saudi Arabia, ZATCA e-invoicing is no longer optional — it's the way you're expected to issue invoices. The rules can sound intimidating, full of cryptographic stamps and XML schemas, but the underlying idea is simple: invoices become structured digital records that the tax authority can read and, eventually, clear in near real time. This guide explains what that means in plain terms, without the jargon.
One note before we start: this is general guidance, not tax or legal advice. Deadlines, thresholds, and which "wave" you fall into change over time, so always confirm your specific obligations against the current ZATCA requirements.
What is ZATCA e-invoicing?
ZATCA is the Zakat, Tax and Customs Authority — Saudi Arabia's tax regulator. Its e-invoicing initiative is branded Fatoora, and it replaces paper and simple PDF invoices with structured electronic invoices in a standard format.
The goal is to reduce tax evasion, cut down on manual errors, and give the authority a consistent, machine-readable view of transactions across the economy. In practice, it means your billing system can no longer just print a document. It has to generate a specific, validated electronic invoice — and later, communicate it to ZATCA's platform.
Two invoice types matter here:
- Standard (tax) invoices — business-to-business and business-to-government transactions.
- Simplified invoices — typically business-to-consumer, like a retail or restaurant receipt. These are the ones that carry a QR code.
Who has to comply?
Broadly, e-invoicing applies to VAT-registered businesses in Saudi Arabia (and to third parties who issue invoices on their behalf). The rollout has been staged in waves, with ZATCA notifying groups of taxpayers based on their revenue and giving each a window to get ready.
Because the wave you belong to depends on thresholds that shift over time, don't rely on rumor or an old article. Check the current ZATCA requirements, or look for the official notification tied to your VAT registration, to confirm when your obligation starts.
What are the two phases?
ZATCA e-invoicing rolls out in two broad phases. Phase 1 is about generating compliant invoices. Phase 2 is about connecting your system to ZATCA. Here's how they compare:
| Phase 1 — Generation | Phase 2 — Integration | |
|---|---|---|
| Core idea | Issue compliant structured e-invoices | Connect your system to ZATCA's platform |
| Format | Structured electronic invoice (no handwritten or PDF-only) | Standardized XML, or PDF/A-3 with embedded XML |
| QR code | Required on simplified invoices | Required, generated from ZATCA-validated data |
| ZATCA connection | None — you generate and store locally | Real-time / near-real-time clearance and reporting |
| Security | Basic compliant structure | Cryptographic stamp (digital signature), UUID, invoice hash |
| Onboarding | Compliant software | Register devices and obtain a cryptographic certificate |
Phase 1: Generation
Phase 1 was the starting line. From its go-live date, businesses had to stop issuing handwritten or PDF-only invoices and instead generate compliant, structured electronic invoices from a proper e-invoicing solution. Simplified invoices had to include a QR code. There's no live connection to ZATCA at this stage — you generate and archive invoices in the required form.
Phase 2: Integration
Phase 2 is the bigger technical lift. Your billing system must integrate directly with ZATCA's platform (Fatoora) so invoices are transmitted for clearance or reporting:
- Standard invoices go through clearance — ZATCA validates and approves them before they're considered legally issued.
- Simplified invoices are reported to ZATCA shortly after they're issued.
Each invoice carries a cryptographic stamp, a unique UUID, and a hash that links it to the previous invoice, making the chain tamper-evident. Invoices are exchanged as standardized XML (or a PDF/A-3 file with the XML embedded). To take part, your devices or solution units are registered with ZATCA and issued a cryptographic certificate.
What does it mean for your software?
This is where it gets practical. Whether you use an off-the-shelf ERP, a point-of-sale system, or a custom platform, it has to be able to:
- Generate invoices in the required structured format (XML / PDF-A3).
- Produce a valid QR code on simplified invoices.
- Apply the cryptographic stamp, UUID, and hash for Phase 2.
- Connect to ZATCA's APIs for clearance and reporting, and handle responses and errors gracefully.
- Store invoices in a compliant, auditable way.
Many mainstream ERP and POS products now offer ZATCA modules. But if your business runs on a custom or heavily-tailored system — or a mix of tools stitched together — compliance usually means building or integrating the e-invoicing layer yourself. That's a large part of what we do at OCA: we've shipped signed-XML-and-QR e-invoicing in production, and we treat it as a core feature of the custom software we build, not an afterthought.
How do you get compliant?
A sensible path looks like this:
- Assess. Confirm your wave and obligations against current ZATCA requirements, and map how you invoice today across every channel — sales, retail, e-commerce.
- Choose your route. Either adopt a ZATCA-compliant product or build/integrate the e-invoicing capability into your existing system.
- Test in the sandbox. ZATCA provides a testing environment. Validate your XML, QR codes, and signatures there before going anywhere near production.
- Onboard and get certified. Register your solution units and obtain the cryptographic certificate that lets you transmit real invoices.
- Go live and monitor. Watch for rejected invoices and error responses, and keep an audit trail.
Common pitfalls to avoid
- Treating it as a one-time IT task rather than an ongoing compliance process.
- Leaving simplified-invoice QR codes malformed or missing required fields.
- Underestimating error handling — what happens when clearance fails mid-sale.
- Forgetting offline scenarios for POS, where connectivity drops.
- Assuming a plugin covers you when your workflow is non-standard.
The short version
ZATCA e-invoicing (Fatoora) turns your invoices into structured digital records. Phase 1 (Generation) means issuing compliant electronic invoices with QR codes and dropping paper/PDF-only. Phase 2 (Integration) means connecting your system to ZATCA for real-time clearance and reporting, with cryptographic stamps, UUIDs, and standardized XML. It applies to VAT-registered businesses — confirm your specific wave with ZATCA.
If you operate in both Saudi Arabia and Egypt, it's worth understanding how this compares with Egypt's own system too — see our guide to ETA e-invoicing in Egypt.
Getting compliant is very doable — the businesses that struggle are usually the ones whose software wasn't built with this in mind. If you're weighing whether to adapt your current system or build the e-invoicing layer properly, we're happy to think it through with you before you commit to a direction.