ZATCA · Odoo 19

ZATCA Phase 2 (Saudi Arabia): e-invoicing in Odoo

ZATCA Phase 2 (Fatoorah) requires issuing signed invoices, with QR, hash and clearance through the Saudi tax authority platform. If your company is in waves 23-24, you need Odoo integrated with the platform.

ZATCA Phase 2 in Odoo

Saudi Arabia has rolled out mandatory e-invoicing in two phases through ZATCA (Zakat, Tax and Customs Authority), under the Fatoorah name. Phase 1 (from December 2021) already required generating and keeping structured electronic invoices. Phase 2 goes much further: direct technical integration with the authority's platform.

Who it affects: every business registered for Saudi VAT. ZATCA groups taxpayers into waves by annual turnover and notifies each at least six months ahead. Waves 23 and 24 cover SMEs with lower revenue thresholds, onboarding through 2025-2026.

What exactly Phase 2 (Integration Phase) is

Phase 2 is known as the Integration Phase. Generating the invoice is no longer enough: your invoicing system must connect via API to ZATCA's platform (Fatoora) and follow a specific format and validation cycle.

ZATCA distinguishes two document types with different flows:

Technical requirements you cannot skip

How it works in Odoo 19

Our module integrates this whole cycle inside Odoo's native invoicing flow, with no external back-office. When you confirm an invoice, Odoo generates the UBL XML, computes the chained hash, sends it to be signed with the ZATCA certificate, builds the QR and makes the clearance or reporting call according to the document type.

Each invoice stores its ZATCA status (accepted, accepted with warnings or rejected), the authority's message and the returned stamp. If ZATCA rejects a document, the reason is logged on the invoice itself so you can fix and resubmit it without losing traceability.

ZATCA Phase 2 module for OdooSee the scope, support and how it covers waves 23-24 Module on the Odoo App StoreInstall it on your Odoo 19

What to watch before your deadline

ZATCA Phase 2 is not a cosmetic add-on: it changes how every invoice is issued. Done well inside Odoo, it is transparent to the billing team; done halfway, it turns into rejected invoices and daily manual work.

Do you need to comply with ZATCA Phase 2 in your Odoo?

Book a call on Calendly or call us at +34 616 809 504 and we'll review your wave, your onboarding and how to integrate clearance into your Odoo invoicing.

Talk to an engineer