Odoo Customization Services in Saudi Arabia (KSA)
Custom code is a liability you agree to carry. We keep it small, keep it in its own module, and write it so the next upgrade does not eat it.
What changes the cost of Odoo customization in Saudi Arabia
The delivery method is the same everywhere. What moves the number is what this market demands of the system, and how much of that Odoo already covers.
Saudi Arabia runs Fatoora (ูุงุชูุฑุฉ) - ZATCA E-Invoicing. That is configuration and testing work inside the build, not an afterthought, and it is the item most often left out of a quote.
14 of the 19 payment options that matter in Saudi Arabia are not shipped with Odoo, so they need a paid connector or a build. 5 ship in the box.
13 of the 16 couriers used in Saudi Arabia have no Odoo connector. 3 do. Which ones you actually use changes the estimate more than the number of users does.
Odoo's Saudi Arabia localization does not cover everything. The gaps are listed on the country page and each one is either a build or a bought module.
Statutory payroll in Saudi Arabia has its own rules. Whether Odoo ships a payroll localization for this market decides if that is configuration or development.
Market facts on this page checked on 22 August 2026 by Waqas Riasat, Way4Tech.
Where Saudi Arabia starts from
Saudi Arabia has 6 native localization items in Odoo and 4 documented gaps beyond them. Customization work here usually starts at that gap list, not from a blank module.
Where we deliver in Saudi Arabia
Customization does not change shape by city. The brief is written the same way for a team in Riyadh as for one in Tabuk: what the process actually is today, and where Odoo's default flow does not match it. Riyadh, Jeddah, Dammam, Khobar, Makkah, Madinah, Jubail and Tabuk, and Riyadh Province, Makkah Province and Eastern Province, are covered.
What odoo customization has to satisfy in Saudi Arabia
The rules that decide how much of this is configuration and how much is a build. Everything below is from our Saudi Arabia register, checked against a primary source.
Phase 1 (generation) has applied since 4 December 2021 and Phase 2 (integration with the Fatoora platform) since 1 January 2023, rolled out wave by wave. Wave 25 is the latest announced: taxpayers whose VAT-taxable revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025 must integrate by 1 February 2027.
- Standard tax invoices (B2B and B2G): clearance. The invoice is sent to ZATCA's Fatoora platform and validated before it is a valid invoice.
- Simplified tax invoices (B2C): reporting. You issue to the customer, then report to Fatoora within 24 hours.
- UBL-based XML. The buyer copy can be XML, or PDF/A-3 with the XML embedded.
- QR code on the invoice from Phase 1 onward.
- A single invoice sequence. Multiple parallel sequences are not allowed.
- Accounting IFRS Accounting Standards as endorsed by SOCPA are required for all publicly accountable entities. SOCPA runs a technical, Sharia and legal review before endorsing each standard, so the endorsed text can differ from the IASB text.
- Accounting SMEs apply IFRS for SMEs as endorsed in Saudi Arabia, or full endorsed IFRS if they apply it in full rather than picking standards selectively.
- Accounting Companies owned by Saudis, or by Saudis and non-Saudis, must file audited financial statements with the tax return.
- Payroll GOSI for Saudi employees totals 21.5% of covered wages: 9.75% from the employee and 11.75% from the employer. For non-Saudi employees it is 2%, paid by the employer.
- Payroll Odoo's Saudi payroll localization (l10n_sa_hr_payroll) sets GOSI deduction rates by employee nationality, handles end of service, and produces WPS reports. Employee bank records must carry an IBAN in line with WPS rules, so bank data quality is a go-live blocker, not a nice-to-have.
- Payroll Saudi Arabia is one of the twelve countries with an official Odoo payroll localization, so payroll does not have to be built from scratch. The others are Australia, Belgium, Egypt, Hong Kong, India, Jordan, Kenya, Mexico, Turkiye, the United Arab Emirates and the United States.
- Chart of accounts, VAT setup and Phase 1 QR code on invoices (l10n_sa).
- Local accounting reports (l10n_sa_reports).
- ZATCA Phase 2 API integration: clearance and reporting, ZATCA-compliant XML for tax invoices, simplified tax invoices, credit notes and debit notes, plus storage of the XML, QR codes and ZATCA responses (l10n_sa_edi).
- Simplified invoices raised through Point of Sale (l10n_sa_edi_pos and l10n_sa_pos).
- Down payments, retention and debit and credit notes through the e-invoicing flow.
- Withholding tax applied at payment (l10n_sa_withholding_tax).
- Payments. Stripe, the default Odoo answer everywhere else, is not available for Saudi businesses. Amazon Payment Services and Paymob both ship with Odoo 19 and both cover Saudi Arabia; mada, STC Pay and BNPL come from paid apps-store connectors.
- Couriers. SMSA, Naqel and Aramex are all outside Odoo's native carrier list and need paid connectors or a build. Only DHL Express, FedEx and UPS are native for this market.
- ZATCA's specifications are versioned documents on the developer portal: the data dictionary, the XML implementation standard and the security features standard. Budget for re-testing against each ZATCA release, not just at go-live.
- Odoo's own e-invoicing documentation states it is an overview and not legal advice. Compliance sign-off stays with your tax adviser.
Reviewed 2026-08-22. The full Saudi Arabia register
How we run the work
5 stages, the same in every market: Requirement capture, Technical specification and estimate, Build in sprints, Test and review, Deploy and hand over. The method does not change by country, so it is written up once rather than repeated here.
The integrations this market usually needs
Badged by what it takes in Odoo. Anything not marked In Odoo is a paid connector or a build, and that is the part quotes usually miss.
Questions we get asked
- Will customisation break our next Odoo upgrade?
- Well-written custom modules do not break, they need porting, and the effort depends on how deeply they reach into standard behaviour. Code that extends existing models ports quickly. Code that replaces standard logic is expensive at every version. That is the single biggest reason we push back on requests that duplicate what Odoo already does.
- Do we own the code?
- Yes. Source goes to your repository with the commit history intact, plus build and deploy instructions. There is no licence key, no time bomb and no obfuscation. If you replace us, the next team can read what we wrote.
- Does Odoo have an official localization for Saudi Arabia?
- Yes. Odoo ships 6 native items for Saudi Arabia, covering the basics of the chart of accounts and statutory setup. 4 areas are still outside that localization and get built or bought separately.
- Is e-invoicing mandatory in Saudi Arabia?
- Phase 1 (generation) has applied since 4 December 2021 and Phase 2 (integration with the Fatoora platform) since 1 January 2023, rolled out wave by wave. Wave 25 is the latest announced: taxpayers whose VAT-taxable revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025 must integrate by 1 February 2027. The Saudi Arabia e-invoicing page carries the full detail and the sources.
- What VAT or sales tax does Odoo have to handle in Saudi Arabia?
- VAT is 15%. The rate was raised from 5% to 15% on 1 July 2020 and has not moved since.
- Do you work with businesses in Riyadh and other parts of Saudi Arabia?
- Yes. Odoo customization runs remotely by default, and being based in one city inside Saudi Arabia does not change the plan or the price. Cities we cover for on-site visits: Riyadh, Jeddah, Dammam, Khobar, Makkah, Madinah, Jubail, Tabuk. Regions we cover: Riyadh Province, Makkah Province, Eastern Province. We travel on-site for discovery workshops and go-live week when the engagement calls for it.