Many businesses receive a notice from the Zakat, Tax and Customs Authority (ZATCA) with a date to integrate their invoicing system with the Fatoora platform, and the questions start: what exactly is required, and can our system do it? This article explains Phase 1 versus Phase 2, how ZATCA announces waves and thresholds, what to prepare, and how Odoo supports it. All dates and thresholds below come from ZATCA's official pages, linked.

Phase 1 vs Phase 2

According to ZATCA's roll-out phases page:

Phase 1 (Generation)Phase 2 (Integration)
In force4 December 2021, for all resident taxpayersFrom 1 January 2023, in waves
RequirementGenerate and store invoices and notes electronically with a compliant solution and required fieldsIntegrate the solution with Fatoora, issue invoices in a specific format, add extra fields
WhoAll resident taxpayers and parties issuing on their behalfTaxpayers targeted in each wave

For Phase 2, ZATCA's How to Get Ready guide says the solution must connect to the internet and generate and store invoices as XML or PDF/A-3 with embedded XML, with all mandatory fields.

Tax invoices and simplified invoices: clearance and reporting

  • Standard tax invoices (typically B2B) are sent to ZATCA for clearance before being shared with the buyer.
  • Simplified tax invoices (typically B2C) are reported to ZATCA; according to the E-Invoicing Implementation Resolution, within a period not exceeding 24 hours of issuance.

How ZATCA announces waves

ZATCA rolls out Phase 2 to groups of taxpayers. For each wave it announces a threshold of VAT-subject revenue and reference years; exceeding the threshold in any of those years puts a taxpayer in the wave. ZATCA states it notifies targeted taxpayers at least six months before their integration date. The latest waves we verified:

WaveVAT-subject revenue exceededReference yearsIntegrate no later thanSource
22SAR 1 million2022, 2023 or 202431 December 2025ZATCA notice
24SAR 375,0002022, 2023 or 202430 June 2026ZATCA notice
25SAR 187,5002022, 2023, 2024 or 20251 February 2027ZATCA notice

Wave 25 is the latest wave we found in ZATCA's media centre as of November 2026. Thresholds fall with each wave, so smaller businesses are being brought in progressively. Do not rely on this table alone: the reference is ZATCA's notice to your business and what it publishes on its site.

What your business should prepare

Before the notice

  • Calculate VAT-subject revenue for each reference year to see when you may be included.
  • Check that your invoicing system supports Phase 2: integration, XML or PDF/A-3, additional fields.
  • Clean customer data: VAT numbers and addresses of business customers affect clearance.
  • List every point that issues invoices: branches, POS, online store, other systems.

After the notice

ZATCA's guide sets out three steps:

  1. Confirm with your solution provider that the solution is integration-compliant.
  2. Log in to fatoora.zatca.gov.sa, choose to onboard a new solution unit or device, generate an OTP and enter it in your solution.
  3. Verify with your provider that the solution works and generates compliant invoices.

How Odoo supports Phase 2

Odoo's Saudi localization includes Saudi Arabia - E-invoicing (l10n_sa_edi) for invoices and E-invoicing (Simplified) for point of sale. According to the Saudi localization documentation:

  • Three environments: Sandbox, Simulation (pre-production, on a copy of your database with an OTP from the simulation portal), and Production (OTP from the production portal). Once an invoice is submitted in Production, you cannot switch back.
  • Each sales journal is onboarded separately from its ZATCA tab; the OTP is valid for 60 minutes.
  • Clearance and reporting: tax invoices go to the clearance API; simplified invoices get a QR code and go to the reporting endpoint.
  • Status tracking in the invoice chatter: accepted, accepted with warnings, or rejected and to be corrected and resubmitted.
  • Credit and debit notes require a ZATCA-approved reason.

Odoo 19 and Odoo 20 both added updates to this localization. What is actually configured depends on your Odoo version, your business's e-invoicing phase, setup and testing; the module does not replace testing every invoice and note type you issue. See also Odoo Accounting and ZATCA e-invoicing.

FAQ

How do I know my wave?

ZATCA notifies targeted taxpayers at least six months before the integration date. Compare your VAT-subject revenue with announced thresholds and watch for ZATCA notices.

Is Phase 1 enough if I have not been notified?

Phase 1 applies to all resident taxpayers since December 2021; Phase 2 applies from the integration date of your wave.

Can several branches be connected?

Yes. In Odoo each sales journal is onboarded separately, and Odoo 19 added branch onboarding. Details depend on your structure.

Next step

If you have received an integration notice or expect to be in an upcoming wave, Maham Pro, an official Odoo partner at Ready Partner level, can set up the Saudi localization and test the integration as part of our Odoo service. See packages or book a free 30-minute introductory session.

Sources: ZATCA Roll-out phases, Wave 25, Wave 24, Wave 22, How to Get Ready, E-Invoicing Implementation Resolution, Odoo Saudi Arabia localization. Reviewed November 2026.