Odoo Online vs Odoo.sh in Saudi Arabia: Hosting, PDPL and ZATCA Compared

Where Odoo runs is a compliance decision for Saudi companies as much as an IT one. We compare Odoo Online, Odoo.sh and on-premise on data location under the PDPL, ZATCA testing, Studio and custom code, upgrade deadlines and server sizing.

Published 2026-10-11 · METCH

License, hosting and who does the running: the three options in the Kingdom

Before a company in Riyadh, Jeddah or Dammam configures a single app, it has to decide where the database will live. License and hosting are separate decisions, and the hosting decides how much of the running work stays with you.

  • Odoo Online: Odoo's own SaaS. Servers, security patches and daily backups are Odoo's job, with no action needed on your side. Odoo's cloud SLA provides for 14 full backups kept at least three months and a 99.9% monthly uptime target, which Odoo says is not legally binding.
  • Odoo.sh: a managed platform for databases that carry custom code. You need the Custom plan, plus hosting billed separately by workers, storage and staging environments. Odoo refreshes the platform's Odoo source weekly and backs up production (7 daily, 4 weekly and 3 monthly copies), while your developers or partner push modules through GitHub.
  • On-premise: Odoo Enterprise on hardware you control, again on the Custom plan, in your office or a data center in the Kingdom. Installation, monitoring, upgrades and backups fall to your team. The Enterprise agreement places protection of files and databases on the customer, although Odoo sends security advisories at least two weeks before publication.

Do not budget from a price you read elsewhere. Odoo's pricing depends on country, plan and billing cycle, so check what odoo.com/pricing shows for Saudi Arabia and the hosting rates on odoo.sh/pricing. On-premise also adds servers, backup storage and the people to run them.

Standard or Custom plan: how far Odoo Online can be customized

Settle the plan before the host. Many Saudi companies find they need the Custom plan without needing anything beyond Odoo Online.

The Standard plan gives you all apps, hosted on Odoo Online only. The Custom plan adds Odoo Studio and agentic AI, multi-company and the external API, and runs on any of the three hosts. Installing Studio on a Standard database automatically triggers an upsell to Custom, unless Studio is the single free app on the One App Free plan.

Without code, Studio can give an Odoo Online database new fields, views and models, automation rules, webhooks, approval and access rules, and edited PDF reports, such as a rearranged Arabic and English invoice. The hard limit is code: Odoo Online runs no custom Python or Apps Store modules. Three Saudi cases show where that line falls:

  • A Jeddah retailer with several branches on Point of Sale, Inventory and ZATCA e-invoicing usually fits Odoo Online, since Saudi e-invoicing for invoices and POS is standard Odoo. Shops run as POS points and warehouses under one company may stay on Standard; set them up as Odoo branches, for example to carry each branch's commercial registration number, and Odoo switches on multi-company features, which can move you to Custom.
  • A family group with separate commercial registrations for its trading and contracting companies needs multi-company, which means the Custom plan, not necessarily a different host.
  • A contractor that needs a custom module for its own progress-billing logic, or any Apps Store module, has to move to Odoo.sh or on-premise.

Where your data sits, the PDPL and ZATCA testing on each option

For many Saudi companies, where the data physically sits settles the choice.

  • Odoo Online: Odoo's privacy policy places its Middle East and Southern Asia production servers in India and Saudi Arabia without saying which hosts a given database, so ask Odoo to confirm yours. Backups sit in France, the Netherlands and Canada, in locations you cannot choose or restrict.
  • Odoo.sh: the Middle East zone is a Google Cloud data center in Dammam, but Odoo does not contractually guarantee the provider or data-center locations, development builds may run elsewhere, and Odoo lists OVH alongside Google for Odoo.sh backups.
  • On-premise: the only option that keeps the live database and its backups in the Kingdom. Even so, Odoo's upgrade service works on a copy of your database sent to Odoo, and optional in-app services such as contact auto-completion, which may be on by default, send data to Odoo.

This matters under the Personal Data Protection Law (PDPL), enforceable since 14 September 2024. SDAIA's transfer regulation allows transfers to countries it recognizes as adequate (check whether that list is published) or under safeguards such as standard contractual clauses, binding common rules or a certificate of accreditation, with a risk assessment required in some cases. Whether these flows suit your data or a client's data-localization clause is for your legal counsel, not your ERP vendor.

ZATCA does not favor any host, since the Phase 2 modules are core Odoo. For the Simulation step, Odoo's docs have you duplicate the live database; on Odoo Online a duplicate expires after 15 days.

Upgrade deadlines on each host, planned around ZATCA and your VAT calendar

Each host sets its own upgrade deadlines, and in Saudi Arabia every upgrade touches e-invoicing.

  • Odoo Online: major versions such as Odoo 20.0 must be upgraded every two years, and Online-only SaaS versions (19.3 and 19.4 as of October 2026) a few weeks after their successor ships. Odoo notifies you in the database, tests the upgrade in the background and runs it itself once the due date passes.
  • Odoo.sh: major versions only, with three years of standard support and two more years to complete an upgrade. From three and a half years, a 25% surcharge is added to the subscription automatically, and a version is retired on 31 October of the year it turns six, which for Odoo 14 is 31 October 2026; databases left on it are permanently blocked.
  • On-premise: you can stay on a version indefinitely, against Odoo's advice, but standard support still ends after three years.

Before accepting an upgrade, run a tax invoice through clearance and a simplified POS invoice through reporting on the upgraded test database Odoo provides, in a non-production ZATCA mode. Schedule the live switch away from your VAT return deadline, the last day of the month after each tax period, and from year-end closing and zakat work.

To move to Odoo.sh or your own server, a SaaS-version database must first reach a major version (19.4 to 20.0), so start on Online via odoo.com/start-lts if you expect custom code. Moving into Online means removing all non-standard apps, tested on a duplicate, plus a support ticket.

Server sizing, platform limits and a decision path for Saudi companies

Size for concurrent users, not licensed ones. Odoo's on-premise rule of thumb is workers = (CPUs × 2) + 1, each serving about six concurrent users. Its worked example fits a Dammam distributor with 60 staff online at the morning peak: 4 CPUs give 8 workers plus 1 for scheduled jobs and about 3 GB of RAM. Odoo.sh shared hosting stops at 16 workers and 512 GB of storage; beyond either you need dedicated hosting. Odoo Online storage is unmetered up to 100 GB, after which an account may be reviewed.

Then answer these in order:

  • Must every copy stay in the Kingdom, per counsel, a client contract or a sector regulator? Choose on-premise in Saudi Arabia, with counsel reviewing Odoo's upgrade and in-app services, and stop.
  • Is production in Saudi Arabia enough, with backups abroad accepted? Odoo Online if Odoo confirms your database runs in Saudi Arabia, or Odoo.sh in Dammam, which is not contractually guaranteed.
  • Need custom Python or Apps Store modules? Odoo.sh, unless system packages or long-lived connections push you to on-premise.
  • Who will patch servers and test restores? If no one, stay on Odoo Online or Odoo.sh; a new hire belongs in your Saudization plan.

METCH, an official Odoo partner based in Riyadh, helps companies in Riyadh, Jeddah and Dammam choose and set up the right hosting. Book a free consultation with our Riyadh team to map where your data would sit on each option, which client clauses your counsel should check and how hosting fits your ZATCA timeline.

Frequently asked questions

Do we need Odoo.sh to comply with ZATCA Phase 2, including at the POS?

No. The Saudi e-invoicing modules for invoices and for Point of Sale are standard Odoo, so clearance of tax invoices and reporting of simplified invoices work on Odoo Online, Odoo.sh and on-premise alike. Your integration date comes from ZATCA's wave notification, not from your hosting. Odoo.sh matters only if you need custom code around e-invoicing, such as a module that changes how invoices are generated, and any such change should be tested on a copy first.

If we stay on Odoo Online, what should our PDPL records say about hosting?

Keep it factual and current. Record the hosting region Odoo confirms for your production database, the backup countries named in Odoo's privacy policy (France, the Netherlands and Canada), the transfer basis your counsel relies on for those copies, and the data-protection terms in your Odoo subscription agreement. Note which apps hold the most sensitive personal data, typically HR and payroll, which can include health and financial details, and review the file whenever Odoo updates its privacy policy or you add apps.

Can Odoo Online connect to our Saudi bank, payment gateway, courier or Salla store?

Partly. Any host can import bank statements from CSV, Excel, CAMT.053, OFX or QIF files. Odoo's standard payment providers include Paymob, which operates in Saudi Arabia, and Amazon Payment Services, whose Odoo 20 documentation lists mada. For Salla, Zid or local couriers, check your version's Apps list; Apps Store modules cannot run on Odoo Online, leaving the external API on the Custom plan. Odoo treats about one call per second, unsustained and without parallel calls, as typically acceptable; heavier traffic points to dedicated Odoo.sh hosting.

We supply government or semi-government clients. Does that change where Odoo can be hosted?

It can. Read the contract for National Cybersecurity Authority (NCA) controls passed down to suppliers and for explicit data-localization clauses, and ask the client which NCA controls apply to your service. If the terms require client data to stay in the Kingdom, Odoo Online is unlikely to fit because its backups are abroad, and Odoo.sh's Dammam zone may not satisfy them because Odoo does not contractually guarantee it. That points to on-premise in a Saudi data center, but your legal counsel makes the call.

Need help with this?

METCH is a certified Odoo partner in Saudi Arabia — book a free consultation.

Get a proposal