Accounting is where a Saudi Odoo rollout either becomes fully compliant or becomes a liability. Odoo Accounting handles ZATCA Phase-2 (Fatoora) e-invoicing, 15% VAT, multi-currency and bank reconciliation, but only if it is configured for the Kingdom from the start. This guide is the practical, end-to-end setup.
Understanding ZATCA Phase-2 (Integration)
Phase-1 (Generation) required structured electronic invoices with a QR code. Phase-2 (Integration), rolling out in waves by taxpayer size, requires invoices to be produced in the mandated XML / PDF-A3 format, carry a cryptographic stamp and UUID, and be transmitted to ZATCA's Fatoora platform, cleared in real time for B2B (standard tax invoices) and reported within 24 hours for B2C (simplified invoices).
How Odoo handles Fatoora clearance
Shyphan configures Odoo to generate the compliant invoice, apply the cryptographic stamp and QR, and integrate directly with the Fatoora API so clearance and reporting happen automatically inside the invoicing flow, no separate portal, no manual XML uploads. Cleared invoices carry the ZATCA QR and are stored with their UUID for audit.
Setting up 15% VAT correctly
Configure standard 15% VAT plus zero-rated (e.g. exports) and exempt codes, with VAT grouping where you have multiple entities. Every customer invoice and vendor bill then carries the right tax, and Odoo produces a compliant VAT return ready for filing, no quarter-end spreadsheet rebuild.
Multi-currency for SAR-based trade
Keep SAR as your base currency, add USD, AED or EUR with exchange rates you control, and let Odoo post realised and unrealised FX gains and losses automatically. Reports still roll up in SAR for management and ZATCA.
Bank feeds and reconciliation
Connect or import statements from Al Rajhi Bank, Saudi National Bank, Riyad Bank, SAB and others. Odoo's smart reconciliation matches thousands of lines in minutes, and mada card, STC Pay, Apple Pay and SADAD collections can be fed in and matched against invoices so finance always knows exactly what is paid.
AI invoice capture and vendor bills
- Email or snap a vendor bill, Odoo's OCR reads vendor, amount, VAT and due date.
- It posts a draft for one-click validation, eliminating manual data entry.
- Recurring and subscription billing is automated.
- Automated, scheduled reminders chase overdue customers.
Withholding tax, Zakat and corporate tax
Odoo computes withholding tax on qualifying cross-border payments with an audit-ready trail, and maps the chart of accounts so your Zakat (for Saudi/GCC-owned entities) and corporate income tax (for foreign-owned shares) reporting is straightforward. Pair it with Odoo Payroll and salary, GOSI and tax entries post automatically.
Real-time financial reporting
You get Profit & Loss, Balance Sheet, cash-flow, aged receivables and payables, the VAT return and management dashboards in real time, with drill-down to the source transaction, so the owner and CFO see the true position any day, not 20 days after month-end.
Multi-company and consolidation
For Saudi groups, Odoo runs multiple companies on one database with inter-company invoicing, shared partners and consolidated reporting, each entity ZATCA-compliant in its own right while management sees the group rolled up.
Migration and go-live
Migrating from QuickBooks, Xero, Tally, Zoho Books, Microsoft Dynamics or SAP is routine: map the chart of accounts, opening balances, customers, vendors and outstanding invoices, validate, then run a 30-day parallel before cutover so nothing is missed. See Odoo Accounting in Saudi Arabia for the full feature set.