Self-hosting Odoo
Odoo Community vs Enterprise when you self-host
Odoo Community vs Enterprise for self-hosting: licences, which apps differ, running Enterprise on your own server, the upgrade service, OCA, how to decide.
CICDoo Engineering Updated 8 min read
The short answer
Odoo Community is open source under LGPLv3 and free to run anywhere. Odoo Enterprise adds apps such as full Accounting, Studio, Documents and Helpdesk under a proprietary licence that requires a paid subscription per user. Yes, you can self-host Enterprise: you put the Enterprise addons on your addons_path and register the database with your subscription code. Community plus OCA modules covers many businesses; Enterprise buys specific apps, the official upgrade service and Odoo support.
On this page
The short answer
Odoo comes in two editions built on the same core. Community is the open-source edition, released under the GNU LGPLv3. You can download it, run it on any server, modify it and build on it with no licence fee. Enterprise is Community plus a set of additional modules released under the Odoo Enterprise Edition License, a proprietary licence. It can only be used with a valid Odoo Enterprise subscription covering the right number of users.
Both editions can be self-hosted. Enterprise on your own server is officially called "on-premise" by Odoo, and it is a supported deployment option alongside Odoo Online (Odoo's SaaS) and Odoo.sh (Odoo's platform service). The choice between editions is about which apps and services you need, not about where you can run it.
How the two editions relate technically
Enterprise is not a separate product. It is a directory of extra addons that sits on top of the Community code. An Enterprise installation is a Community installation with that directory added to addons_path, placed before the Community addons:
[options]
addons_path = /opt/odoo/enterprise,/opt/odoo/odoo/addons,/opt/odoo/custom-addons
That has practical consequences:
- Same server stack. PostgreSQL, workers, nginx, the filestore and backups work identically. Everything in the Odoo 18 production guide applies to both.
- Moving from Community to Enterprise is an upgrade, not a migration. You add the Enterprise addons and install the
web_enterprisemodule (plus whatever Enterprise apps you need) on the existing database. Some Community modules are replaced or extended by Enterprise ones, most visibly Invoicing becoming full Accounting. - Going back is harder. Uninstalling Enterprise modules from a live database loses the data they held, so treat the switch to Enterprise as mostly one-way.
What differs between Community and Enterprise
| Community | Enterprise | |
|---|---|---|
| Licence | LGPLv3 (open source) | Odoo Enterprise Edition License (proprietary) |
| Cost of the software | None | Subscription, charged per user |
| Source access | Public GitHub repository | Enterprise addons for subscribers and Odoo partners |
| Core apps (CRM, Sales, Purchase, Inventory, Manufacturing, Website, eCommerce, POS, Project, HR basics) | Yes | Yes |
| Full Accounting (bank sync, reconciliation, reports, localised statements) | Invoicing only | Yes |
| Studio (no-code customisation) | No | Yes |
| Apps such as Documents, Sign, Helpdesk, Field Service, Planning, Knowledge, Appraisals, Marketing Automation, Subscriptions, Rental, PLM, Quality, Payroll | No | Yes |
| Enterprise web client and official mobile app experience | No | Yes |
| IoT box, VoIP and several IAP integrations | Limited | Yes |
| Official upgrade service for major versions | No | Yes |
| Functional and bug-fix support from Odoo | No | Yes |
The exact app list changes with each release, and some features move between editions. Before deciding, check Odoo's own edition comparison page for the version you plan to run, as of September 2026.
The upgrade service
Odoo publishes a new major version every year. Each major version changes the database schema, and a Community database cannot simply be opened by the next version. Enterprise subscribers can submit their database to Odoo's upgrade service, which returns a migrated copy for testing and then for production. Community users migrate with OpenUpgrade, an OCA project that provides migration scripts, or by exporting and reimporting data. OpenUpgrade works well for many databases but coverage per version and per module varies, and you carry the testing effort. Either way, custom modules must be ported by you or your partner. The process is described in upgrading Odoo 17 to 18.
Support
Enterprise includes Odoo's support for the standard product: functional questions and bug fixes in Odoo's own code. It does not cover your custom modules, your server, or third-party modules. When you self-host, the server, backups and performance are your responsibility with either edition. Community has no vendor support at all; support comes from your own team, an Odoo partner, or the community forums.
How Enterprise is self-hosted
Running Enterprise on your own server involves three steps beyond a Community install.
1. Get a subscription that allows on-premise hosting. As of September 2026, Odoo sells its subscriptions per user, in plans that differ in which hosting options they include. The entry plan is for Odoo Online only; on-premise and Odoo.sh hosting require the higher plan (Odoo calls it Custom). Check Odoo's pricing page for the current plan terms, and ask an Odoo partner if you buy through one.
2. Get the Enterprise source. Subscribers can download Enterprise from the odoo.com download page with their subscription. Odoo partners, and customers granted access through their subscription, can also get access to the private odoo/enterprise repository on GitHub, which is the practical route if you deploy from Git. Pin a commit or tag, just as you do for Community, and keep the Enterprise and Community checkouts on matching versions: an Enterprise 18.0 checkout needs a Community 18.0 checkout.
3. Register the database. After installing Enterprise, a banner in the apps dashboard asks for your subscription code. Once entered, the banner turns green and shows the expiration date. Odoo's server contacts Odoo's licence service periodically to check the subscription and the number of active users. If something is wrong (an expired subscription, or more users than you pay for), you get a grace period, typically 30 days, before the database becomes unusable. That means an Enterprise server needs outbound HTTPS access to odoo.com, and every copy of a production database (staging, test restores) should get a new database UUID and be neutralised so it does not count against or collide with your registration. The Odoo on-premise documentation covers registration and the user count in detail.
Where each edition can run
Hosting and edition are two separate choices, and it helps to see them side by side:
| Hosting option | Community | Enterprise |
|---|---|---|
| Odoo Online (Odoo's SaaS) | No | Yes, standard modules only, no custom Python modules |
| Odoo.sh (Odoo's platform) | No | Yes, with the plan that includes it |
| Your own server (on-premise) | Yes | Yes, with the plan that includes on-premise |
| A third-party platform on your servers | Yes | Yes, with an on-premise subscription |
The last row is what most self-hosting teams end up with: servers at a cloud provider, deployed either by hand, by a script, or by a platform. From Odoo's licensing point of view, that is on-premise, because the database runs on infrastructure you control. The guide to choosing Odoo hosting compares these options in more depth.
What self-hosting Enterprise costs, structurally
Without figures, the cost of Enterprise on your own server has these parts:
- Odoo licences: charged per user, on a monthly or annual subscription, with the plan determining whether on-premise hosting is allowed. The number of apps you install no longer drives the price in the current plans; users do.
- Infrastructure: your servers, storage and backups, paid to your cloud provider or data centre. This is the same for Community.
- Operations: the time spent patching, monitoring, upgrading and restoring, whether it is your team, a partner or a platform.
- Implementation and custom development: usually the largest item in the first year, and it applies to both editions.
Community removes the first line only. Businesses that choose Community to save licence cost sometimes spend it again on custom development to replace an Enterprise app, so compare the whole picture.
OCA: the Community complement
The Odoo Community Association (OCA) maintains hundreds of open-source modules in public GitHub repositories, organised by area (account-financial-tools, account-financial-reporting, web, server-tools, stock-logistics-workflow, helpdesk, dms, mis-builder and many more). For Community users they fill a large part of the gap: accounting reports and asset management, a helpdesk, document management, reporting engines, UI improvements and many country localisations.
Things to know before relying on OCA:
- Version coverage lags. Modules are migrated to each new Odoo version by volunteers and sponsors. A module you depend on may not be ready for a new release for months.
- Licences vary. Most OCA modules are AGPLv3 or LGPLv3. AGPL has obligations if you modify modules and expose them over a network, so check the licence of each module you ship.
- Quality is good but uneven. OCA has review and CI rules, but maintenance depends on who uses each module. Check commit activity and open issues.
- OCA works on Enterprise too. Many companies run Enterprise plus selected OCA modules.
Install them by cloning the repositories and adding each repository directory to addons_path, see the Docker Compose guide for the layout.
How to decide
Choose Community when:
- Your processes fit the core apps (sales, purchase, inventory, manufacturing, website, POS) and your accounting is handled by Invoicing plus OCA modules, or in a separate accounting system.
- You have developers, in-house or at a partner, who are comfortable maintaining modules and running major-version migrations with OpenUpgrade.
- You have many users with light usage, where per-user licensing would dominate the budget.
Choose Enterprise when:
- You need full Accounting with bank synchronisation and localised reporting, or specific apps such as Studio, Helpdesk, Documents, Field Service, Planning or Payroll.
- You want Odoo's upgrade service for yearly migrations and Odoo's support for the standard product.
- Your Odoo partner builds on Enterprise, as many do.
A sensible approach is to list your required processes, map each one to a Community app, an OCA module, an Enterprise app or custom development, and cost each path over three years including one major-version upgrade. The edition choice usually becomes obvious from that table.
Doing this with CICDoo
CICDoo deploys both editions on Linux servers you own, 11.0 to the latest release, plus master. For Community, nothing extra is needed. For Enterprise, you provide a GitHub token from an account Odoo has granted access to the Enterprise repositories, and CICDoo puts the Enterprise addons on the path of each instance; see Odoo versions and editions in CICDoo. Each branch of your repository becomes its own instance, with development, staging and production stages. More on self-hosted Odoo with CICDoo, or talk to us.