Odoo, read through a Saudi lens
The platform is global; the requirements are local. This page covers what Odoo gives you out of the box, and what has to be configured before a Saudi company can legally invoice, pay salaries and close a month.
56 apps — you will not need all of them
Most companies go live on four to eight. Installing more than you can operate is the fastest way to make an ERP feel heavy. Here is how we group them when scoping.
Finance
Accounting, Invoicing, Expenses, Documents, Sign, Consolidation.
Sales & commerce
CRM, Sales, POS, eCommerce, Website, Subscriptions, Rental.
Supply chain
Inventory, Purchase, Manufacturing, Quality, Maintenance, PLM.
People
Employees, Payroll, Recruitment, Time Off, Attendances, Appraisals.
Services
Project, Timesheets, Field Service, Helpdesk, Planning, Appointments.
Productivity
Discuss, Knowledge, Approvals, Studio, Marketing Automation, Surveys.
Community or Enterprise
The honest answer depends on whether accounting is core to what you are automating. Here is the comparison we walk clients through — with three-year costs, not just the sticker price.
| Capability | Community | Enterprise |
|---|---|---|
| Full double-entry accounting | Community modules only | Included and supported |
| Saudi VAT & ZATCA localization | Third-party or custom | Official localization |
| Studio (no-code changes) | Not available | Included |
| Mobile apps & offline POS | Limited | Full |
| Version upgrade service | Manual, by your partner | Provided by Odoo SA |
| Licence cost | None | Per user, per month |
Licence prices change and vary by country and contract length — ask us for the current Saudi figures rather than trusting a number on a website.
ZATCA e-invoicing, phase by phase
Phase 1 was a formatting exercise. Phase 2 is an integration: your system talks to ZATCA on every invoice, and a rejected document is a document you cannot give the customer.
We configure onboarding and certificates, XML generation to the required schema, cryptographic stamping, QR encoding, and clearance or reporting depending on the document type — then test the whole chain in ZATCA's sandbox before touching production.
B2B — clearance
Standard tax invoices are cleared with ZATCA before they reach the buyer.
B2C — reporting
Simplified invoices are reported within 24 hours, with the QR printed at the point of sale.
Credit & debit notes
Linked to the original invoice with the reason code the regulation requires.
Chart of accounts
Built to your reporting needs and mapped to the tax return lines from the start.
VAT at 15%
Standard, zero-rated, exempt and reverse-charge treatments configured per product and per partner.
Bilingual documents
Invoices carrying Arabic and English, with numbers, dates and invoice references locked left-to-right.
Withholding tax
Configured for non-resident supplier payments, with the certificate produced from Odoo.
Saudi VAT and Arabic that actually renders
Arabic is a layout problem before it is a translation problem. Mirroring the page is easy; keeping the invoice number, IBAN and date from scrambling inside right-to-left text is where most templates break.
Payroll built on Saudi labour law
Salary structures reflect the law, not a generic template: basic and allowances split for end-of-service, GOSI on the correct base, and a WPS file your bank accepts on the first upload.
End of service
Accrued monthly and calculated by service length and termination reason.
GOSI
Saudi and non-Saudi rates, employer and employee shares posted separately.
WPS file
Generated in the required format with IBAN validation before export.
Leave & tickets
Annual leave accrual, ticket allowance provisions and unpaid leave impact on salary.
Should you move to Odoo 19?
Only when there is a reason. Upgrading for its own sake spends budget you could put into a process fix. These are the reasons we consider good enough.
You are more than two versions behind
Security fixes and partner tooling follow the recent versions. Beyond two releases, every change costs more because fewer developers still work in that code.
A compliance change forces it
When a regulator changes a required field or schema, the official localization lands in the current version first. Backporting it is possible, and usually more expensive than upgrading.
You are paying for a workaround the new version replaces
Custom modules that exist only to fill an old gap should be deleted when standard Odoo catches up. We audit for these before quoting an upgrade — sometimes the upgrade pays for itself in removed maintenance.
You are starting fresh
New implementations start on the current version. There is no reason to begin a project already one year behind.
Get a compliance readiness check
We review your current invoicing, VAT setup and payroll against the current requirements, and give you a written gap list — whether or not you buy anything after.