Odoo ZATCA E-Invoicing Integration
Connecting Odoo to ZATCA's Fatoora platform for Phase 1 and Phase 2: configuration, onboarding, invoice testing, and handling rejections after go-live.
Odoo e-invoicing integration with CoreX Solutions, an official Odoo Partner in Riyadh. We prepare your Odoo system to issue invoices that meet the Zakat, Tax and Customs Authority (ZATCA) requirements, connect and onboard it with the Fatoora platform, and stay with you after go-live to handle any rejected invoice.
The two phases of e-invoicing
Phase 1: Generation
Issuing and storing invoices electronically from an accounting system, with the mandatory fields and a QR code on simplified invoices. Odoo supports this phase in its standard Saudi localization.
Phase 2: Integration
Connecting the system directly to the Fatoora platform, so every invoice is sent to ZATCA in XML format with a cryptographic stamp:
- Standard tax invoices (B2B) — sent for clearance before they are delivered to the customer.
- Simplified invoices (B2C) — reported to ZATCA within 24 hours of issue.
Phase 2 is rolled out to businesses in waves based on revenue, and ZATCA notifies each business of its integration date at least six months in advance.
What our integration project covers
- Readiness review — company data, VAT number, national addresses, customer data and tax settings in Odoo.
- Odoo configuration — enabling the Saudi e-invoicing module and setting up journals, taxes and invoice layouts.
- Fatoora onboarding — generating the OTP on the Fatoora portal and obtaining the cryptographic stamp identifier (CSID) for each device or journal.
- Testing — issuing test invoices of every type (standard, simplified, credit and debit notes) and confirming they are accepted.
- Go-live — switching to production and monitoring the first real invoice cycle.
- Post go-live follow-up — resolving any rejected invoices or ZATCA warnings.
Common mistakes that delay integration
- Incomplete customer data — standard tax invoices require the customer's VAT number and full national address.
- Wrong tax settings — for example, a tax type that does not match the nature of the supply (exempt, zero-rated, standard).
- Editing invoices after issue — in Phase 2 an invoice is not edited; a credit or debit note is issued instead.
- Leaving it to the last minute — integration needs time for testing and data cleanup, so start early once ZATCA's notice arrives.
Read also: what to prepare before ZATCA Phase 2
Not on Odoo?
If your current system does not support Phase 2, moving to Odoo gives you one integrated solution: accounting, sales, inventory and certified e-invoicing in one system. See Odoo implementation
How much does ZATCA integration cost?
If you implement Odoo with us, integration is part of the project scope. If you already run Odoo, integration is priced in hours at our single rate of SAR 200 per hour excl. VAT, with a clear estimate after the readiness review. See pricing
Get started
Received ZATCA's notice? We review your system's readiness and give you a clear plan and integration timeline — with no obligation.
Book your free consultation | Contact us on WhatsApp | +966115028212