Install the following modules to get all the features of the Saudi Arabian localization:
Saudi Arabia - Accounting
Default fiscal localization package
Saudi Arabia - E-invoicing
ZATCA e-invoices implementation
Saudi Arabia - Point of Sale
Point of Sale compliance
The ZATCA e-invoicing system is designed to streamline and digitize the invoicing process for businesses operating in Saudi Arabia.
Go to Update info, and ensure the following company information is complete and up-to-date., click
The full Company Name.
All relevant Address fields, including the Building Number and Plot Identification (four digits each).
Select an enterprise Identification Scheme. It is recommended to use the Commercial Registration Number.
Enter the Identification Number for the selected Identification Scheme.
The VAT number.
Ensure the Currency is set to SAR.
It is also necessary to fill out similar information for partner companies.
It is strongly recommended to thoroughly test all invoicing workflows using the Fatoora simulation portal first, as any invoice submitted to the regular Fatoora portal will be accounted for, which could lead to fines and penalties.
Fatoora simulation portal¶
Log in on the Fatoora portal using the company’s ZATCA credentials. Then, click the Fatoora Simulation Portal button to switch to the simulation portal.
ZATCA API integration¶
On Odoo, go to ZATCA API Integration, select the Simulation (Pre-Production) API mode and click Save.. Under
Each sales journal on Odoo needs to be configured. To do so, go to ZATCA tab. Once there, enter any Serial Number to identify the journal., open any sales journal (e.g., Customer Invoices), and go to the
The same serial number can be used for all of the company’s sales journals.
Next, click Onboard Journal. In the dialog box, providing an OTP code is required. To retrieve it, open the Fatoora simulation portal, click Onboard New Solution Unit/Device, choose the number of OTP codes to generate (one per journal to configure), and click Generate OTP Code. Copy an OTP code, it into the dialog box on Odoo, and click Request.
OTP codes expire after one hour.
If any issue occurs during onboarding, click Regenerate CSR to start again.
When confirming an invoice, there is now an option to process the invoice, sending it directly the Fatoora simulation portal. Odoo displays the portal’s response after each submission. Only rejected invoices can be reset to draft and edited on Odoo. Furthermore, at the end of each day, Odoo sends all unprocessed invoices to the portal.
Testing all invoicing workflows, preferably with real invoices and for a reasonable amount of time, is recommended.
Compare the invoices received statistics page on the Fatoora simulation portal with the list of invoices on Odoo to ensure both align.
When using a 0% tax in a customer invoice, it is necessary to specify the reason behind such a rate. To configure taxes, go to Advanced Options, select an Exemption Reason Code and click Save., and open the tax to edit. Under the
When using retention or withholding an amount in a customer invoice, the tax used to retain the amount needs to be specified.
When ready for production, change the API mode to Production and click Save.
Setting the API mode to Production is irreversible.