Skip to content
Osool Systems
Technology2 min read

Connecting Odoo to ZATCA Fatoora: a practical guide to e-invoicing Phase 2

What e-invoicing Phase 2 requires, how Odoo connects to ZATCA’s Fatoora platform, and the common mistakes that get invoices rejected.

Connecting Odoo to ZATCA Fatoora: a practical guide to e-invoicing Phase 2

Since ZATCA introduced e-invoicing, issuing an invoice from any program is no longer enough. In Phase 2, your system must connect to ZATCA’s Fatoora platform and send it your invoices electronically. If you use Odoo or are considering it, here is what you need to know.

The two phases in brief

  • Phase 1 (Generation): started on 4 December 2021. Invoices must be issued and stored electronically from a compliant system, with a QR code on simplified invoices.
  • Phase 2 (Integration): started on 1 January 2023 and is rolled out in waves by revenue. ZATCA notifies each business of its date at least six months in advance.

What Phase 2 requires

  • Invoices in XML following the approved standard (UBL 2.1), or PDF/A-3 with the XML embedded.
  • A cryptographic stamp on each invoice, a unique identifier, and a chain that links each invoice to the one before it.
  • Standard tax invoices (B2B): sent to the platform for clearance before they go to the buyer.
  • Simplified invoices (B2C): given to the customer, then reported to the platform within 24 hours.
  • Each unit that issues invoices registered on the platform, with its own cryptographic certificate.

How Odoo connects to Fatoora

Odoo has a Saudi localisation that covers taxes, Arabic invoice layouts and the Fatoora connection. Connecting usually takes these steps:

  1. Complete your company details in Odoo: VAT number, commercial registration and full national address.
  2. Set up the taxes and the journals that will issue invoices.
  3. Generate a one-time password (OTP) on the Fatoora portal for each issuing unit.
  4. Register the unit from Odoo, receive the compliance certificate and pass the compliance checks.
  5. Receive the production certificate and start sending real invoices.

We recommend trying the setup in the platform’s simulation environment before going live.

Common mistakes that get invoices rejected

  • Missing buyer details on tax invoices, such as the VAT number, building number or postal code.
  • A company address that does not match the national address.
  • Cancelling an issued invoice instead of issuing a credit note.
  • A cryptographic certificate that expired without being renewed.
  • Issuing invoices from more than one system without registering each issuing unit.

Community or Enterprise?

We connect both editions to Fatoora. The real difference is in the rest of your accounting needs: full Accounting and advanced financial reports are in Enterprise, while Community is enough for some businesses that only need invoicing, sales and inventory.

How we help

At Osool Systems we review your data and settings, connect Odoo to Fatoora in the simulation environment and then in production, and train your team to follow up and fix rejected invoices. Start with our Odoo cost calculator to see what your project costs, or see our accounting systems and e-invoicing service.

More articles