Home/Modules/
Accounting

Odoo Accounting

Odoo Accounting configured for ZATCA Phase 2, 15% VAT and Zakat reporting, implemented in Riyadh by an Odoo Gold Partner in Saudi Arabia.

Accounting
Capabilities

What this module handles

Saudi finance teams are asked to clear every B2B invoice with ZATCA, report B2C sales within a day, file VAT on time and hand the auditor Zakat ready statements, often from spreadsheets and a separate e-invoicing add on. Odoo's native Saudi localization covers the chart of accounts, e-invoicing and tax reports, and Naqlah, as an Odoo partner in Saudi Arabia, onboards your journals, maps your branches and connects your sales channels so the ledger fills itself.

  • ZATCA Phase 2 clearance for standard B2B invoices and reporting for simplified B2C invoices through Fatoora
  • VAT return report aligned to your monthly or quarterly filing period, ready for the ZATCA portal
  • Bank statement import and reconciliation for Saudi bank formats, with payment gateway settlements matched
  • Multi company and branch level analytic accounting under one VAT number with separate branch CRNs
  • Zakat base and withholding tax handling for non resident vendors, prepared for your auditor
  • Multi currency purchasing and sales with SAR as the base currency and automatic exchange differences
  • Automated customer follow ups, aged receivables and customer statements in Arabic and English
  • Real time profit and loss, balance sheet and cash flow by company, branch or cost center
Saudi ready

Built for how business runs in Saudi Arabia

Odoo ships the Saudi localization modules for the chart of accounts, Phase 1 QR codes, Phase 2 Fatoora integration, POS reporting and withholding tax, and Naqlah configures them against your actual company data: the full address with district, building number and plot, the VAT number shared across branches, and a CRN per branch. Invoice layouts are Arabic by default with a bilingual option for foreign customers, and reports such as the VAT return and the Zakat schedule follow the periods ZATCA assigns you. Sales from Salla through the Naqlah app, Zid, Foodics and your payment gateways post as journal entries, so the books reflect every channel without re-keying.

Fatoora onboarding per journal
Each sales journal is onboarded with the OTP from the Fatoora portal, tested in simulation mode and then moved to production. Naqlah runs the onboarding with your finance team so the first live invoice clears without surprises.

VAT periods built into the tax report
The VAT return report is set to your monthly or quarterly period and shows output and input tax by box as ZATCA expects. Finance reviews it, exports it and files before the end of the following month.

Arabic and English documents with Hijri dates
Invoices, credit notes and statements print in Arabic with English alongside where your customers need it. Hijri date display can be enabled on the layouts that require it.

How it connects

How does an invoice reach ZATCA from Odoo, and how do Salla, Foodics and bank data land in the same ledger?

1. Invoice confirmed
A sales order, a Salla order synced through the Naqlah app or a POS session closes into an invoice in Odoo with the customer's VAT number and the right 15% tax lines.

2. XML generated and signed
Odoo generates the UBL XML, signs it with the CSID issued to that journal and attaches the QR code required for the Saudi format.

3. Cleared or reported through Fatoora
B2B standard invoices go to the clearance API and return approved or rejected. B2C simplified invoices are reported in batches within the 24 hour window.

4. Delivered and posted
The QR coded PDF/A-3 is emailed to the customer, the receivable posts to the ledger, and PayTabs, Paymob or bank statement lines reconcile against it. See the integrations Naqlah supports.

Implementation

What Naqlah configures in your implementation

  1. Chart of accounts and tax review. Naqlah maps your current accounts to the Saudi chart, sets 15%, zero rated and exempt taxes, and defines fiscal positions for GCC and foreign vendors.
  2. Company and branch identification. Legal name within the 63 character limit, full national address, VAT number and the CRN of every branch are entered and checked before any journal is onboarded.
  3. Journal onboarding on Fatoora. Each sales and POS journal is onboarded in simulation, test invoices are cleared, and production mode is activated once finance signs off, because production cannot be reverted.
  4. Bank and payment gateway connections. Bank statement formats, PayTabs or Paymob settlement reports and Salla or Zid payouts are set up for import and reconciliation rules are defined.
  5. Opening balances and open items migration. Trial balance, open invoices, open bills and customer and vendor ledgers move from Qoyod, Daftra, Wafeq, Zoho Books, SAP B1 or Excel as part of Naqlah's migration service.
  6. Roles, dashboards and handover. Access rights for accountants, branch managers and auditors are set, reporting dashboards are built and the finance team is trained on month end.

Timelines depend on scope, number of journals and the state of the current books, and Naqlah gives you a clear roadmap in the first consultation.

Who it is for

Companies that get the most from this module

  • eCommerce merchants on Salla or Zid. Thousands of simplified invoices a month are reported automatically and gateway payouts reconcile against bank statements.
  • Multi branch cafes and restaurants. One VAT number with branch CRNs, Foodics daily sales posted per branch and cost of goods flowing from Inventory.
  • Distributors with VAT heavy purchasing. Vendor bills, input VAT and withholding on foreign suppliers are captured once and appear in the return.
  • Services firms billing retainers. Recurring B2B invoices clear through Fatoora and aged receivables drive the follow up schedule.
  • Groups needing consolidated statements. Several CRs run as companies in one database with consolidated reporting for the board and the auditor.
Before and after

Spreadsheets and add ons vs Odoo Accounting

AreaBeforeWith Odoo via Naqlah
E-invoicingManual portal upload or a third party add on bolted to the booksNative Fatoora clearance and reporting from the invoice itself
VAT returnBuilt in a spreadsheet from exports each periodReport generated per filing period with box level detail
Bank reconciliationManual matching of statements against entriesStatement import with matching rules and gateway settlements
BranchesSeparate files or companies per branchOne company, analytic accounts and CRN per branch
Sales channel dataSalla, Zid and Foodics reports re-keyed monthlyOrders and sessions synced as journal entries
ClosingWeeks after month end, statements out of dateContinuous posting with real time statements
FAQ

Module questions, answered

Everything else, we cover in a free 30-minute consultation.

Is Odoo Accounting ZATCA Phase 2 compliant?
What happens if ZATCA rejects an invoice?
Does Odoo produce the Saudi VAT return?
Can Odoo handle branches under one VAT number?
Does Odoo Community support ZATCA Phase 2?
Can we migrate from Qoyod, Daftra or SAP Business One?
Related

Modules that work well together

Ready to run your business on one system?

Free consultation. Meet the team and get a clear roadmap in one call.

Book your consultation