Skip to main content

Module for Odoo 17 · 18 · 19

ZATCA Fatoora Phase 2 in Odoo: B2B clearance, B2C reporting, signed UBL 2.1 XML and QR code for Saudi SMEs

Native module for integration waves 23 and 24: synchronous B2B invoice clearance with ZATCA, batch reporting of simplified invoices, UBL 2.1 XML in Arabic and English, XAdES-EPES signing, TLV QR, 7-step wizard from CCSID to PCSID, multi-company and an API log with encrypted keys.

  • Odoo versions: Odoo 19.0Odoo 18.0Odoo 17.0
  • Migration to Odoo 20 the day it ships
  • Price: 49 € · one-time payment, source code included
ZATCA Phase 2 Fatoora — Saudi Arabia E-Invoicing (Odoo 19) module cover for Odoo

What it does

  • Real-time B2B clearanceStandard tax invoices to VAT-registered buyers are cleared synchronously through the ZATCA API.
  • Batch B2C reportingSimplified invoices are reported by cron with configurable retry and back-pressure logic.
  • Signed UBL 2.1 XML and QRZATCA-compliant UBL 2.1 generation (Arabic RTL and English), XAdES-EPES signing with ECDSA P-256 and a TLV QR code with tags 1-8.
  • 7-step wizard and certificatesFrom TRN to production: CCSID, compliance tests and PCSID, with expiry alerts and a renewal wizard.
  • Dashboard, multi-company and auditReal-time KPIs and alerts, certificate and counter per legal entity, API call log with private keys scrubbed and Fernet-encrypted, 7-year retention.
Source code included Odoo 17/18/19 · Community and Enterprise One-time payment, no fees Direct developer support No middleware

Try the ZATCA Phase 2 module inside a real Odoo, no sign-up. User demo / flexigodemo.

Try the live demo View on the App Store

The real Phase 2 problem, explained before you buy

Phase 1 was just storing the invoice with a basic QR code. Phase 2 (the Integration Phase) changes the rules: every invoice must be signed, chained and reported to ZATCA. This is the part that usually hurts when your wave goes live.

Cryptographic signature is mandatory

A PDF is no longer enough. Every invoice needs a signed UBL XML using your ZATCA certificate, and a single format error is enough for it to be rejected.

Real-time clearance and reporting

Standard (B2B) tax invoices need prior clearance; simplified (B2C) invoices must be reported within 24 hours. Without an integration, keeping up by hand is simply not viable.

Invoice chaining (PIH)

Each invoice carries the hash of the previous one. If the chain breaks or invoices are numbered out of sequence, ZATCA detects it and the invoice is left at risk of rejection.

What the module handles inside Odoo

This is not a marketing layer on top of the invoice: it is the complete Phase 2 flow, from onboarding your device with ZATCA to submitting the signed document.

CSID and certificate onboarding

CSR generation, Compliance CSID request and the switch to a Production CSID with ZATCA, all managed from inside Odoo.

Signed invoice in UBL 2.1 format

Generation of the compliant XML, digital signature (XAdES), the ZATCA cryptographic stamp and embedding into the final document.

Compliant QR and chained hash

QR code with all the mandatory TLV-encoded fields, plus Previous Invoice Hash (PIH) management so the invoice chain never breaks.

Clearance and reporting with statuses

Submission to the ZATCA API, parsing of the response (cleared, reported, warnings, errors) and the resulting status shown right on the Odoo invoice.

Credit and debit notes

Support for credit and debit notes with the reference back to the original document, exactly as Phase 2 requires.

Multi-company from a single Odoo

Multi-company support: each Saudi entity manages its own CSID, its own certificate and its own invoice chain inside the same Odoo instance.

Direct developer support

You don't talk to a reseller. Support comes from the person who wrote the module, in case your go-live needs a hand.

From install to your first cleared invoice

Four steps, all inside Odoo. No separate portal to log into and no gateway to babysit.

1. Install and configure the company

Install the module in your Odoo 17, 18 or 19, set the Saudi company's VAT details and choose the ZATCA environment (sandbox, simulation or production).

2. Onboard the CSID

Generate the CSR, request the Compliance CSID with the OTP from the Fatoora portal and promote it to a Production CSID, all without leaving Odoo.

3. Issue and sign the invoice

Post an invoice as usual and the module builds the UBL 2.1 XML, signs it, computes the hash, chains it to the previous one and generates the compliant QR.

4. Clear or report to ZATCA

Standard invoices are sent for clearance and simplified ones are reported. Odoo shows the ZATCA response and marks the invoice as cleared or reported.

A native module, not a middleware to maintain

FlexigoTech is an independent developer in Barcelona specialised in Odoo. The ZATCA Phase 2 module installs inside your Odoo and talks directly to the ZATCA API: no intermediate SaaS, no monthly fee for an external gateway, no parallel panel to keep an eye on. To be straight with you: we don't invent customer case studies or fake reviews. What we offer is the module, the source code and direct support from the person who maintains it.

0middleware needed
17/18/19Odoo versions
1:1direct support

SMEs in waves 23-24 that need to comply now

Waves 23 and 24 bring in taxpayers with lower turnover thresholds: small and mid-sized businesses without a large IT team. The module is designed for exactly that profile, so you can meet Phase 2 without an expensive bespoke project or an integration that never ends.

One price, no surprises

You pay once for the ZATCA Phase 2 module and keep it. No per-invoice cost, no monthly gateway fee.

€49
one-time payment · no recurring fees
Source code included Works on Odoo 17, 18 and 19 Community and Enterprise No middleware, no monthly fees
Buy on the Odoo App Store Try the live demo first

Questions that usually come up at this stage

Does this module cover the full ZATCA Phase 2 (Integration Phase)?

Yes. The module is built for Phase 2 (the Integration Phase) of Fatoora: cryptographically signed invoices, a compliant QR code, chained hashing (Previous Invoice Hash) and communication with the ZATCA platform, covering both clearance of standard tax invoices and reporting of simplified invoices.

Does it work for an SME in ZATCA wave 23 or wave 24?

Yes, it is sized exactly for that profile. Waves 23 and 24 bring in taxpayers with lower turnover thresholds, typically SMEs with a smaller IT team, and the whole point of the module is to let them comply without building an expensive custom integration.

Do I need external middleware or a third-party service provider?

No. The module runs inside Odoo and talks directly to the ZATCA API. It does not rely on an intermediate SaaS gateway or a separate portal: the invoice is signed, stamped and submitted from the ERP itself, with no monthly gateway fee.

Does it work with Odoo Community?

Yes. The module works on both Odoo Community and Odoo Enterprise, and supports Odoo versions 17, 18 and 19. You buy it once, install it as a module and keep the source code, so it does not tie you to a specific edition.

Can I try the module before buying?

Yes. There is a live demo, a real Odoo with the ZATCA Phase 2 module installed and no sign-up required (user demo, password flexigodemo), where you can see the signing flow, the compliant QR and the clearance and reporting statuses. When you are ready, you buy the license on the Odoo App Store, and if you need it we help with the CSID onboarding and your first live invoices.

How much does it cost and do you help with setup?

It is a one-time payment of €49, with the source code included and no recurring fees. You can install it yourself or ask for direct developer support with CSID onboarding, certificate configuration and the first live invoices. Support comes from the developer who wrote the module, with no reseller in between.

Is your ZATCA wave already live? Every unreported invoice is a penalty risk.

Waves 23 and 24 are already in force. If you are not yet reporting invoices to ZATCA, get compliant this week: talk to us and we'll check whether the module fits your Odoo and your invoicing operation in Saudi Arabia. No commitment.

€49 · one-time payment, no fees Try the live demoView on the App Store · +34 616 809 504