So you are exploring Odoo but got lost in the different editions and hosting options? We are here to help. This article gives you an overview of the decisions and helps you choose. Basically you need to make two decisions:
- Which Odoo edition you run. You can choose between Odoo Online, Odoo Enterprise or Odoo Community.
- Where it runs, also called hosting. Depending on the edition you can choose between Odoo, Odoo.sh, any cloud or your own server.
This is our recommendation for most companies:

Not every combination is possible.
| ↓ Hosting \ Odoo Edition → | Online | Enterprise | Community |
|---|---|---|---|
| Odoo Online | ✓ | ||
| Odoo.sh | ✓ | ||
| Cloud provider | ✓ | ✓ | |
| Own server | ✓ | ✓ |
Odoo Online is its own edition-and-hosting bundle, so it sits on a single square. Enterprise runs on Odoo.sh or on infrastructure you control. Community runs only on infrastructure you control, a cloud provider like Amazon Google Hetzner or your own server.
Choice 1: which edition, Online, Enterprise or Community?
Here is how we would choose between them.
Do you need real accounting, Sign, advanced manufacturing, or any of the other paid apps? Then Community is out, and it comes down to Online or Enterprise.
Do you want to run custom apps or your own code? Then Online is out, because it will not run your own modules. That points you at Enterprise.
If you need none of that, Community is a real ERP for zero license cost. It already covers the everyday apps: CRM, Sales, Invoicing, Inventory, basic Manufacturing, Website, eCommerce, HR and Projects.
Under the hood, Enterprise and Community are the same product. Enterprise is Community with the paid apps and official support switched on: same core, same database, same roadmap. Odoo Online is the edition Odoo runs for you, with the customization locked down.
Enterprise adds the heavier modules and the polish. The ones that tend to decide it:
- Full Accounting. Community gives you Invoicing. Enterprise gives you real double-entry accounting: bank synchronization, vendor bill scanning, profit and loss, balance sheet, budgets, and local tax rules. For most companies this is the line that settles the whole decision.
- Odoo Studio. A no-code builder for screens, fields, reports and small apps. More on this below, because it is easy to misuse.
- Advanced Manufacturing. Community handles manufacturing orders and bills of materials. Enterprise adds product lifecycle management, quality checks, and full work-order planning.
- Subscriptions, Helpdesk with SLAs, Field Service, Documents, Sign, Spreadsheet, and the native mobile app.
- Official support and assisted upgrades. Community has no SLA and no obligation to fix anything. Enterprise gets you Odoo's support and their help moving between versions.
Editions
| Online | Enterprise | Community | |
|---|---|---|---|
| Custom and third-party apps | ✗ | ✓ | ✓ |
| Full accounting | ✓ | ✓ | ✗ |
| Odoo Studio | + | ✓ | ✗ |
| Sign | ✓ | ✓ | ✗ |
| Advanced manufacturing (PLM, quality) | ✓ | ✓ | ✗ |
| Price (per user, per month) | €-€€ | €€€ | Free |
The first row is the one that decides it for most people. If you need custom or third-party apps, Online is out. After that it is accounting: Community stops at invoicing, while both paid editions give you the full accounting suite. On price, treat the euros as relative, since the numbers change and vary by country. Community is free, Online is €€ depending on your plan, and Enterprise is €€€. Check odoo.com for the current per-user rate in your region.
Where Odoo Online fits, and where it stops
Odoo Online comes in two paid tiers.
The Standard plan runs on Odoo's servers and is locked down hard. One company per database, no Odoo Studio, no external API, and no partner or third-party modules. It is fine for a clean, standard setup and nothing more.
The Custom plan costs roughly half again as much and unlocks the things a growing company reaches for: multiple companies in one database, Studio, and developer mode.
One thing worth knowing about the API, because it trips people up. On paper, the external API is a Custom-plan feature. In practice Odoo does not enforce that, so an API connection works even on the free One App plan. That matters if you want to link Odoo to other tools, or connect something over the API like our own Odoo MCP, without paying for the top tier.
The limit that does hold is custom code. Odoo Online will not run your own Python modules on any plan. The moment you need real custom modules, you move to Odoo.sh or host it yourself. Keep that in mind before you commit to Online, because outgrowing it means a migration, not a checkbox.
Our take on the edition choice
We put most of the companies we onboard on Enterprise, and it has been a good experience. Once finance needs proper accounting, or someone wants to reshape a screen without booking developer time, the per-user license has already paid for itself.
That said, Community has the most interesting long-term story. The main thing holding it back for many businesses is that missing accounting module. Odoo is open source, so it is realistic to build a community-driven accounting module that stays within the license and closes that gap. That is a direction we find promising, not a product you can download tomorrow, but worth watching.
One more thing we have learned the hard way, about Studio. For a quick change to the interface, Studio is fine. Add a field, tweak a form, move on. But if you are running a real company in production, a custom module is the better home for that change. Write it as code, adjust the fields and the database directly, and you get something stable and version-controlled with a clear history of what changed and why. Studio edits are harder to trace and reason about once they pile up. These days you can build that custom module quickly with an AI coding tool like Claude Code, so the old excuse that "a proper module is too much work" has mostly gone away.
Choice 2: where does it run?
This is the hosting choice, and there are three real options. Odoo can host it for you (Odoo Online), you can run it on Odoo's own cloud platform (Odoo.sh), or you can put it on your own server at any provider like Hetzner, AWS, Google or on-prem. Here are the five things that actually separate them.
| Odoo Online | Odoo.sh | Your own server | |
|---|---|---|---|
| Runs your custom apps and code | ✗ | ✓ | ✓ |
| Root, plus your choice of cloud and region | ✗ | ✗ | ✓ |
| You own the data and infrastructure | ✗ | ✗ | ✓ |
| Who keeps it running | Odoo | Odoo | You, or Cloudpepper |
| Pricing model | Per user | Per worker and storage | Server cost |
Odoo Online is the quickest way to get live and the least to worry about, but it will not run custom code and you do not choose where it lives. Fine for a standard setup, a dead end the day you need to customize.
Odoo.sh is Odoo's developer platform: push to Git, get automatic staging, merge to deploy. It runs custom code, but the infrastructure is Odoo's, not yours. As a partner we keep hitting the same edges. It runs on Google Cloud rather than a provider you choose. A dedicated IP costs extra, which makes single sign-on and Cloudflare fiddly. There is no programmatic or AI control, no public status page when something breaks, and the bill climbs as you add workers and storage.
Your own server is the other end: full control of cloud, region, edition and configuration, you own the data, and the raw cost is the lowest. The catch is that running it becomes your job. The operating system, PostgreSQL, backups, monitoring and upgrades add up to roughly five to ten hours a month, and a 2 a.m. problem is yours. That is exactly what the next part solves.
If you pick your own server, add Cloudpepper
You do not have to run all of that yourself. Cloudpepper is a management layer that sits between your server and your Odoo instances. You still own the server and the data on whatever cloud you chose, and Cloudpepper takes over the operations. It is optional, but honestly we would always add it. You get the control and cost of self-hosting without the 2 a.m. pager, which is the whole point.
What it adds:
- Hourly backups, stored where you want, restored to the same server, a new one, or a staging copy in a few clicks.
- Around-the-clock monitoring of the server, database, disk, SSL and Odoo itself.
- A static IP, which clears up the single sign-on and Cloudflare headaches from Odoo.sh.
- Full root access, with your own firewall rules and update policy.
- Git deploy from GitHub, GitLab or Bitbucket: sync your addons to a repo and Cloudpepper ships them.
- AI and programmatic control through MCP, which Odoo.sh does not have.
One of those bullets is worth more than a single line, because it is where Cloudpepper quietly beats Odoo.sh: installing and updating apps. You point Cloudpepper at your Git repositories and it deploys straight from them, with automatic updates whenever you push. You can wire up several add-on repos side by side, and there are hundreds of pre-vetted third-party addons to pull from. On Odoo.sh everything has to live in one repository, stitched together with Git submodules and wired up by hand. The moment you run more than a couple of custom modules, the Cloudpepper way is simply less work.
On price, you pay your cloud provider for the server and a flat fee for Cloudpepper, around €50 a month for a standard setup or €250 for the partner tier. The server grows with you and the platform fee stays flat, so there are no per-worker surprises.
What we recommend: Enterprise, Hetzner, Cloudpepper
For most of the companies we bring onto Odoo, we end up at the same stack, and it is not by habit.
Odoo Enterprise, because the day finance needs real accounting, or an admin wants to change a screen in Studio without a developer, the license has already earned its keep. It also keeps upgrades sane.
A Hetzner server, because it is fast, dedicated European hardware at a fraction of the big-cloud price. Your data stays in Europe, which fits how we think about building an open, European software stack, and you are not renting capacity by the worker. Hetzner is our default, not a rule. You are free to run it on AWS, Google Cloud, or an on-prem box if that suits you better. A laptop technically works too. Please do not use a laptop.
Cloudpepper on top, so nobody on the team is hand-tuning PostgreSQL or watching backups at midnight. You get the control and cost of self-hosting with the calm of a managed platform.
Put together, it gives a growing company Enterprise's features, European data residency, dedicated performance, and a bill you can predict, without hiring a full-time ops person. Odoo Online is fine until you need custom code. Odoo.sh is fine until the per-worker bill and the lock-in start to bite. This is the setup where we see teams stop shopping and settle.
The AI angle: two kinds of MCP
There is one more reason this stack holds up, and it is about where things are heading. AI agents can now drive software directly through MCP, the Model Context Protocol, and Odoo meets this at two levels.
The first is the hosting layer. Cloudpepper ships with an MCP, so an AI agent can manage the environment for you: check server health, tail logs, take a backup, deploy add-ons. Odoo.sh has nothing like it. And because your own server gives you root, you are not boxed in. You can wire Odoo more deeply into the rest of your stack, run something like n8n right next to it, or add the monitoring you actually want. A locked-down platform cannot give you that.
The second level is Odoo itself, the data. The editions do not ship an MCP yet, though it is clearly coming. There are signs Odoo will offer one natively, but nothing firm. In the meantime you have two ways in. You can install an MCP module on Enterprise or Community, or you can use our own Odoo MCP Pro, which works with any Odoo, on any edition and any host. We would reach for MCP Pro today: it is simpler to set up, and there is a real gap between basic MCP access and full access to your models and records. MCP Pro gives you the full version.
Put the whole thing together, Cloudpepper with its MCP, a Hetzner server with root, Enterprise or Community, and Odoo MCP Pro on top, and you get an Odoo that both you and your AI tools can drive end to end, from the server up to the records. That combination is the part we are most excited about right now, and unlike a native Odoo MCP, it is available today.
A short guide to picking your setup
Find the description that sounds like you.
You want to be live quickly and you will not customize. Standard apps, no custom code, and you are happy for Odoo to run everything. Start on Odoo Online. Just go in knowing that custom modules are off the table, so if that changes, you will be moving later.
You need custom code, but you would rather not run servers, and Odoo's cloud is fine with you. Odoo.sh with Enterprise. You get the official Git workflow and staging without managing infrastructure. Accept the trade-offs: no root, Enterprise only, per-worker pricing, and your data on Google Cloud.
You care about owning your data, choosing your region, and avoiding per-worker costs, and you have a DevOps team. Run your own server, on Hetzner or wherever you like, and manage it yourself. You get everything and the lowest raw cost, as long as someone on your side really wants to own backups, patching and upgrades.
You want that same control without the pager. Your own server plus Cloudpepper. This is our default, and the one most companies are looking for anyway: the freedom and cost of self-hosting, with the operations handled for you.
On the edition question inside all of this: pick Enterprise if you need real accounting, Studio, or the advanced apps, which is most businesses. Community is the right call when you have a strong development team, basic finance needs, and a tight budget, and you are comfortable owning more of the work yourself.
Not sure your setup is right?
We host our own clients on Odoo Enterprise, Hetzner and Cloudpepper, and we are happy to tell you when a different setup would serve you better. Tell us where you are and what you are trying to build, and we will give you the honest version.