Odoo, read through a Saudi lens
The platform is global; the requirements are local.
56 apps — you will not need all of them
Most companies go live on four to eight apps.
Finance
Accounting, Invoicing, Expenses, Documents, Sign.
Sales & commerce
CRM, Sales, POS, eCommerce, Subscriptions.
Supply chain
Inventory, Purchase, Manufacturing, Quality.
People
Employees, Payroll, Recruitment, Time Off.
Services
Project, Timesheets, Field Service, Helpdesk.
Productivity
Discuss, Knowledge, Approvals, Studio.
Community or Enterprise
The answer depends on whether accounting is core.
| 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 |
Ask us for current Saudi figures.
ZATCA e-invoicing, phase by phase
Phase 2 is an integration, not a format change.
Onboarding, XML, stamping, QR, clearance — tested in sandbox.
B2B — clearance
Cleared before reaching the buyer.
B2C — reporting
Reported within 24 hours.
Credit & debit notes
Linked with the required reason code.
Chart of accounts
Mapped to tax return lines from the start.
VAT at 15%
Standard, zero-rated, exempt, reverse charge.
Bilingual documents
Arabic and English, with numbers locked LTR.
Withholding tax
For non-resident supplier payments.
Saudi VAT and Arabic that actually renders
Arabic is a layout problem before it is a translation problem.
Payroll built on Saudi labour law
Structures that reflect the law, not a generic template.
End of service
Accrued monthly, calculated by service length.
GOSI
Correct rates, shares posted separately.
WPS file
Required format with IBAN validation.
Leave & tickets
Accruals, ticket provisions, unpaid leave.
Should you move to Odoo 19?
Only when there is a reason.
You are more than two versions behind
Beyond two releases, every change costs more.
A compliance change forces it
Official localization lands in the current version first.
You are paying for a workaround the new version replaces
Sometimes the upgrade pays for itself in removed maintenance.
You are starting fresh
New implementations start on the current version.
Get a compliance readiness check
A written gap list, whether or not you buy anything after.