Synconics
Saudi ZATCA E-Invoicing (FATOORA)

Odoo Integration with Saudi ZATCA E-Invoicing (FATOORA)

Saudi Arabia has taken a major leap toward digital tax compliance with the introduction of mandatory e-invoicing (FATOORA). For businesses operating in the Kingdom, compliance with the regulations issued by the Zakat, Tax and Customs Authority (ZATCA) is no longer optional it is a legal requirement.

At the same time, companies expect their ERP systems to handle compliance without disrupting daily operations. This is where Odoo stands out.

With native Saudi localization and standard ZATCA Phase-2 integration, Odoo enables businesses to issue, clear, report, and archive e-invoices seamlessly, while staying fully aligned with Saudi regulations.

This blog explains what ZATCA e-invoicing is, how Odoo integrates with it, and why Odoo is one of the best ERP choices for Saudi businesses.

What is Saudi ZATCA E-Invoicing (FATOORA)?

Saudi ZATCA E-Invoicing (FATOORA) is a government-mandated digital invoicing system introduced by the Zakat, Tax and Customs Authority to improve tax compliance and transparency in Saudi Arabia. It requires businesses to generate, store, and share electronic invoices in a standardized format, replacing paper invoices.

FATOORA helps reduce tax evasion, ensures real-time reporting, enhances operational efficiency, and supports Saudi Arabia's Vision 2030 digital transformation goals for businesses.

ZATCA introduced e-invoicing to ensure:

  • Transparency in tax reporting
  • Reduction in tax evasion
  • Standardized electronic invoice formats
  • Real-time or near real-time invoice validation

ZATCA Implementation Phases

Phase 1: Generation Phase (Dec 2021)

Businesses must generate electronic invoices with:

  • QR codes
  • Mandatory VAT details
  • Structured invoice data

Phase 2: Integration Phase (Clearance & Reporting)

Businesses must:

  • Integrate their systems with ZATCA
  • Send invoices electronically for clearance (B2B)
  • Report simplified invoices (B2C)
  • Use cryptographic stamps and UUIDs

Odoo supports both phases using standard functionality.

Why Choose Odoo for ZATCA E-Invoicing?

Odoo is not just compliant it is practically aligned with Saudi business workflows.

Unlike bolt-on or third-party connectors, Odoo's ZATCA integration is:

  • Native
  • Secure
  • Auditable
  • Upgrade-safe

It supports real business scenarios, not just theoretical compliance.

Key Features of Odoo ZATCA E-Invoicing Integration

ZATCA Phase-2 Compliance

Automatically generates, signs, and submits invoices in ZATCA-approved XML format for both B2B and B2C scenarios.

Real-Time Invoice Clearance & Reporting

Sends B2B invoices for clearance and B2C invoices for reporting directly to Zakat, Tax, and Customs Authority, with status tracking inside Odoo.

Automatic QR Code Generation

Creates ZATCA-compliant QR codes on invoice PDFs without any manual effort.

Built-In Cryptographic Signing

Handles invoice hashing, UUID generation, and digital signing securely within Odoo.

Saudi National Address Support

Supports mandatory Saudi address fields such as building number, district, postal code, and city to avoid validation errors.

Seller & Buyer Identity Validation

Correctly maps VAT numbers, Commercial Registration (CR), and individual IDs to prevent common ZATCA warnings.

Clear Error & Warning Visibility

Displays ZATCA acceptance, warnings, or rejection reasons directly on the invoice for quick resolution.

Audit-Ready Invoice Archiving

Stores XML, PDF, QR code, and ZATCA responses together for easy audits and compliance checks.

Advantages for Saudi Businesses

Regulatory Confidence

Businesses stay compliant with evolving ZATCA regulations without constantly changing systems.

Zero Manual Work

Invoices are validated and submitted automatically no uploading, no re-keying.

Faster Audits

All invoices are archived with XML, PDF, and ZATCA response making audits stress-free.

Scalable for Growth

Whether issuing 10 invoices a day or 10,000 invoices a day, Odoo handles volume without performance issues.

Single Source of Truth

Accounting, VAT, invoicing, and compliance live in one system.

How to Configure?

Step 1 - Install Required Apps

By going to Apps, the following applications must be installed in your Odoo Instance to get the benefit of Saudi Zatca E-Invoicing:

  • Saudi Arabia - Accounting
  • Saudi Arabia - E-Invoicing
  • GCC invoice module
Saudi Arabia Accounting ZATCA App - Configuration 1
Saudi Arabia Accounting ZATCA App - Configuration 2

Step 2 - Configure ZATCA API Modes

After installing the above applications, go to Accounting → Settings, under the Saudi Arabia Electronic Invoicing section, you will find Zatca API Modes. Odoo supports 3 modes here:

  • Sandbox - Common preconfigured testing environment
  • Simulation - Unique testing environment
  • Production - Live Environment
ZATCA API Modes - Certificate 1

Please note:

  • Please make sure that before proceeding with the production environment, in case any mistakes happen here, it will cause a penalty to you
  • Once you proceed for production environment, you can not switch back

Step 3 - Configure Sales Journal

Go to Accounting → Configuration → Journals. Go to Sales Journal. Under the ZATCA tab, you will have to onboard this journal with the ZATCA portal. After success, the system will show you a message as defined in the following image.

Sales Journal ZATCA Onboarding - Certificate 2

Certificate and Keys

After the Accounting journal is onboarded, Odoo stores real time Certificate and key information.

Just to cross-check, go to General Settings → Certificate and Keys section.

Go to Certificates:

Certificate 3
Certificate 4
Certificate 5
Certificate 6

In this certificate, Odoo stores several pieces of information, like:

  • Certificate Name
  • Company Name - selected
  • Certificate file - in binary format
  • Certificate password - if any
  • Subject Name
  • Private key
  • Public key
  • Validity
  • Serial number

Go to General Settings → Certificate and Keys tab → Go to Keys

Certificate 7
Certificate 8

Here, Odoo will store key information like:

  • Name
  • Company - selected
  • Key file
  • Private key password

Step 4 - Configuration - Company details

Your company should have a valid address, city, state, zip code, and country based in Saudi Arabia, along with a proper Building number and Plot number.

Select the Identification scheme; there are various options provided here, among which you select the Company Registration number. Write the proper company registration number, VAT number, etc.

Company Details - ZATCA Configuration 1

Example - B2B

Step 1 - Go to Invoicing/Accounting → Customer

Create a new company with a proper Name, email ID, Address, Identification scheme, and Identification number. Users can select various options as Identification schemes, such as Company Registration number, Other ID, etc.

Image Placeholder: Saudi Demo Company - ZATCA 2

Step 2 - Create a Customer Invoice

  • Go to Invoicing/Accounting → Customers → Invoice
  • Create an invoice with that configured company, in our example customer company is the audi demo company
  • Generate Invoice lines
  • Confirm invoice

User will see here a notification that this invoice will be processed with Zatca, you can also click on the Process Now button.

Image Placeholder: ZATCA Processing Notification - ZATCA 3

After an invoice is processed successfully at the Zatca portal, the system will show a successful message, as shown in the image below.

Image Placeholder: ZATCA Success Message - ZATCA 4

Please go to the Other Info tab of the relevant customer invoice, and you will be able to see the ZATCA Issue Date.

Image Placeholder: ZATCA Issue Date - ZATCA 5

On the list view, you will be able to see the E-Invoice status of your corresponding customer company invoice.

Image Placeholder: E-Invoice Status - ZATCA 5(1)

Step 3 - XML - UBL file generation - EDI format

After a successful integration is done, the system will generate a UBL format XML file by going to the customer invoice - EDI documents tab.

Image Placeholder: Company EDI Document

Step 4 - Generate Invoice PDF

Image Placeholder: Saudi Company Invoice PDF

Example - B2C

Step 1 - Create a Customer

Go to Invoicing/Accounting → Customers. Here, when creating a new customer, please write down all necessary details like name, email ID, proper address, building number, plot number, and identification scheme. Under the Identification scheme, you can also select various options like National ID, GCC ID, Iqama ID, Other ID, etc., or you can leave it blank as well.

Image Placeholder: Customer Creation - ZATCA 6

Step 2 - Create a Customer Invoice

  • Go to Invoicing/Accounting → Customer Invoices
  • Create an Invoice with the customer named as Ahmed Al Rashid and confirm it

Here system will show a notification like this invoice will be processed with the Zatca portal, if you want, you can manually process it as well.

Image Placeholder: Customer Invoice - ZATCA 7

Step 3 - Invoice Processing Success

After an invoice is processed with the Zatca terminal successfully, the system will show you a success message in chatter of that relevant customer invoice.

Image Placeholder: Invoice Success - ZATCA 8

Step 4 - ZATCA Issue Date

Go to the Other Info tab of the same Customer Invoice. You will be able to see the ZATCA Issue Date here.

Image Placeholder: ZATCA Issue Date - ZATCA 9

Step 5 - Invoice Status

On the list view of customer invoices, you can see an Invoice status.

Image Placeholder: Invoice Status - ZATCA 10

Step 6 - XML - UBL file generation - EDI format

After a successful integration is done, the system will generate a UBL format XML file by going to the customer invoice - EDI documents tab.

Image Placeholder: Customer EDI Document

Step 7 - Generate Customer Invoice PDF

Image Placeholder: Saudi Customer Invoice PDF

Conclusion

Saudi ZATCA e-invoicing is more than a compliance requirement it is a shift toward structured, transparent, and digitally controlled invoicing. With Odoo, businesses can meet ZATCA requirements smoothly while keeping invoicing, accounting, and reporting within one unified system.

Odoo handles the technical complexity of clearance, reporting, and validation, allowing finance teams to focus on operations rather than regulations. Where business processes go beyond standard flows, targeted customization can further strengthen control and efficiency.

The result is a ZATCA-compliant invoicing setup that is practical today and ready for what comes next.

Whether you have unique business requirements, need tailored Odoo customizations, or are looking for reliable Odoo ERP support, our experts are here to help.

Contact us at contact@synconics.com