The threshold keeps falling. That is the part most business owners miss.
When ZATCA began Phase 2 of its e-invoicing programme, the first wave applied only to companies turning over more than SAR 3 billion. It was, for almost everyone, someone else’s problem. Twenty-five waves later, the threshold sits at SAR 187,500 — and it is no longer someone else’s problem. It is a compliance obligation for a very large share of VAT-registered businesses in the Kingdom.
If your revenue exceeded SAR 187,500 in any year from 2022 to 2025, you are in scope for Wave 25 and you must be integrated with the Fatoora platform by 1 February 2027.
This guide explains what Phase 2 actually requires, what changes technically, and how Odoo handles it.
Phase 1 vs Phase 2: What Actually Changed
Phase 1 — the Generation Phase, live since December 2021 — required you to stop issuing handwritten or free-text invoices and start generating structured electronic invoices with specific mandatory fields and a QR code. It was largely about your own system.
Phase 2 — the Integration Phase — is different in kind. Your invoicing system must now talk directly to ZATCA’s Fatoora platform. The requirements:
Structured XML format. Invoices must be issued in the ZATCA-specified XML (or PDF/A-3 with embedded XML) format, not as a PDF you designed yourself.
Cryptographic stamping. Each invoice carries a cryptographic stamp generated from a certificate issued to your business.
UUID and hash chaining. Every invoice has a unique identifier and a hash linking it to the previous one, making the sequence tamper-evident.
Clearance for B2B. Standard tax invoices must be submitted to ZATCA and cleared before you give them to the customer. An uncleared invoice is not a valid invoice.
Reporting for B2C. Simplified invoices — the retail case — are reported to ZATCA within 24 hours rather than cleared in advance.
Archiving. Invoices must be stored in the required format and remain retrievable.
The practical consequence: you cannot be compliant with a spreadsheet, a Word template, or most legacy accounting software. You need a system with a live, certified connection to ZATCA. The full official requirements are published on the ZATCA e-invoicing portal.
Where the Waves Stand in 2026
Each wave targets taxpayers above a revenue threshold, measured across specified calendar years. Recent waves:
Wave | Revenue threshold | Years measured | Integration deadline |
|---|---|---|---|
Wave 22 | Over SAR 1,000,000 | 2022–2024 | Oct–Dec 2025 |
Wave 23 | Over SAR 750,000 | 2022–2024 | 31 March 2026 |
Wave 24 | Over SAR 375,000 | 2022–2024 | 30 June 2026 |
Wave 25 | Over SAR 187,500 | 2022–2025 | 1 February 2027 |
Two things follow from this table.
First, if you are reading this in late 2026 and your revenue crossed SAR 375,000 in 2022, 2023 or 2024, your Wave 24 deadline has already passed. That needs addressing now, not in January.
Second, the direction of travel is unmistakable. The threshold has halved repeatedly. Businesses currently below SAR 187,500 should treat compliance as a matter of when, not if.
There is also a deadline that gets less attention: ZATCA’s fines cancellation and penalty exemption initiative has been extended through 31 December 2026. Businesses with outstanding issues have a window to regularise without penalties — but the amnesty does not cover every category of fine, and it does close.
How Odoo Handles ZATCA Phase 2
Odoo ships a Saudi Arabia fiscal localization built specifically for these requirements. It is documented in Odoo’s official Saudi Arabia localization guide, and it covers:
The ZATCA-compliant XML invoice structure, with all mandatory fields for both standard and simplified invoices
QR code generation with the required encoded data
Cryptographic stamping and CSID onboarding — obtaining and installing the certificate that identifies your business to ZATCA
Direct Fatoora platform integration, submitting invoices for clearance or reporting automatically
Hash chaining and UUID assignment handled by the system rather than by a person
Arabic and bilingual invoice layouts meeting the presentation requirements
Compliant archiving of issued documents
The advantage of handling this inside an ERP rather than through a bolt-on e-invoicing tool is that the invoice is generated from the same data as the sale, the delivery and the journal entry. There is no export, no middleware, no reconciliation between two systems that disagree. Our guide to Odoo ERP finance features covers how the accounting side fits together.
For retailers, the simplified-invoice path matters most, and the Odoo POS system for Saudi retail generates compliant simplified invoices at the counter and reports them within the required window.
Getting Compliant: The Practical Steps
1. Confirm your wave. Check your VAT-subject revenue for 2022, 2023, 2024 and 2025 against the thresholds above. ZATCA notifies affected taxpayers directly, but do not wait for the letter — the notification arrives roughly six months before the deadline, which is not long if you also need to change systems.
2. Audit your current invoicing. Can your system produce ZATCA XML? Can it connect to Fatoora? Can it stamp cryptographically? For most businesses still on spreadsheets or older accounting packages, all three answers are no. Our guide to migrating from spreadsheets to Odoo covers what that transition involves.
3. Choose and configure a compliant system. If that system is Odoo, it means installing the Saudi localization, configuring your VAT setup and chart of accounts, and preparing your customer and product data with the fields ZATCA requires.
4. Complete CSID onboarding. Generate your cryptographic certificate request and complete onboarding through the Fatoora portal. This step is technical, and it is where most self-service attempts stall.
5. Test in the sandbox. ZATCA provides a simulation environment. Run real invoice scenarios through it — standard, simplified, credit notes, debit notes — before going live.
6. Go live and monitor. Watch clearance responses in the first weeks. Rejections are usually caused by data quality issues in customer VAT numbers or addresses, not by the integration itself.
The Mistake Worth Avoiding
The most expensive version of this project is the one where compliance is treated as a bolt-on. A business buys a standalone e-invoicing tool, connects it loosely to whatever accounting system it already has, and ends up maintaining two sources of truth — with a reconciliation problem every month and a fresh integration bill every time either system updates.
Compliance is a good reason to fix the underlying system rather than paper over it. If you are going to change how invoices are produced, it is worth asking whether the same project should also give you real-time inventory, a working sales pipeline and a month-end close that takes days rather than weeks. That is the argument for handling it inside Odoo ERP rather than beside it.
Get Your ZATCA Readiness Assessment
H2Solutions is an Official Odoo Partner in Dammam. We have taken Saudi businesses through Phase 2 onboarding — including CSID setup, Fatoora integration and sandbox testing — and we know where implementations get stuck.
Request a free ZATCA readiness assessment and we will tell you which wave you fall into, what your current system can and cannot do, and what compliance would actually take.
