Odoo's pricing page lists numbers. This post explains what those numbers mean, what they do not cover, and where actual project costs tend to diverge from what people expect when they start researching.
The Core Model: Per User, Per Month#
Odoo Enterprise is priced per user per month. As of 2026, the list price for the online (SaaS) version is roughly €13–€28 per user per month depending on region and plan tier, billed annually. On-premise licenses are priced differently - more on that below.
A "user" in Odoo is anyone who logs in to the system to do work. This includes all internal employees who touch the ERP - not just power users. If a warehouse manager logs in to confirm receipts, that is one user. If a salesperson logs in to manage their pipeline, that is another.
Portal users (customers who log in to view invoices or track orders) are free. Public website visitors are free. Only internal backend users count toward the seat total.
Internal vs. External Users#
The distinction that surprises most first-time buyers: "external" in Odoo's pricing context means portal/customer access, not employees at a partner company or a contractor. If you hire a part-time bookkeeper through an agency and they need backend access, that is a paid user seat.
App Bundles: How Applications Are Priced#
Odoo is structured as a suite of applications - Sales, Invoicing, Inventory, Manufacturing, HR, and so on. In the SaaS (Odoo Online) model, you pay one per-user price and get access to all available applications.
In the on-premise model, individual apps were historically sold separately, but since Odoo 16 the on-premise license has moved toward an all-apps model matching the SaaS offering.
The practical implication: you do not pay more to unlock Manufacturing on top of Sales. The per-user fee covers everything. Where costs escalate is usually in implementation (consulting and customization time), not in additional license fees.
OCA Apps Are Free#
The Odoo Community Association maintains hundreds of open-source modules that run on top of the Community edition (which is itself free). These are not Odoo-branded apps and Odoo SA provides no support for them. If you are running Community with OCA modules, you pay no license fees at all - only your infrastructure costs and any consulting fees.
Hosting Options and What Each Costs#
Odoo Online (SaaS)#
Odoo manages the server, database, backups, and updates. You pay the per-user monthly fee; hosting is included. Updates are applied automatically (you stay on the current version). You cannot install custom Python modules - only Odoo Studio customizations and OCA/third-party apps from the Odoo App Store.
Best for: straightforward deployments that fit within Odoo's standard module set.
Odoo.sh (PaaS)#
Odoo-managed cloud hosting with SSH access and the ability to install custom Python code. Priced separately from the user license - typically €25–€80/month depending on the plan tier, on top of user fees. You get staging branches, deployment logs, and automatic daily backups.
Best for: companies with custom modules that want managed infrastructure without running their own servers.
On-Premise#
You run Odoo on your own servers (or a VPS). The Enterprise license still requires a per-user fee, but you control the environment completely - versions, timing of upgrades, custom code, database access. You bear all infrastructure costs: servers, backups, monitoring, uptime.
Best for: regulated industries, large data volumes, or organizations with existing infrastructure teams.
Community Self-Hosted#
Odoo Community is open source and free to download, install, and run. No per-user fee, no license fee. You pay only for your own servers and any consulting time. The tradeoff: no official support from Odoo SA, no access to Enterprise-only features (payroll, sign, IoT, certain localizations), and you manage all upgrades yourself.
What the Per-User Fee Does Not Cover#
The license fee covers the right to use the software. It does not cover:
Implementation consulting. Configuring Odoo for your business - setting up chart of accounts, defining workflows, training users - is billed separately by an Odoo partner or your internal team. For a 20-person company doing a first implementation, this typically costs more than the first year of license fees.
Custom development. Any Python code, custom modules, or non-standard integrations that are not in the base product must be developed (and maintained) separately.
Third-party app fees. Some apps in the Odoo App Store are free; many are paid, with their own separate licensing per instance or per user.
Data migration. Importing your existing data from a legacy system - contacts, products, open orders, historical transactions - is billed as project time by a partner. Migration projects are routinely underestimated.
Training. End-user training and change management are not included in the license and are often the line item that slips out of scope on budget-constrained projects.
Ongoing support. After go-live, questions, bugs in custom code, and configuration changes are billed at your partner's hourly rate unless you negotiate a managed services contract.
Partner Markup#
Most companies buy Odoo through an official Odoo partner rather than directly from Odoo SA. Partners earn a margin on the license sale (typically 10–20% depending on their partner tier). Some partners pass this through as a discount to you; others price at list and keep the margin.
When comparing quotes from different partners, ask explicitly whether the license fee in the quote is list price or a discounted rate. Also clarify whether the partner's implementation rate is all-in or whether travel, retraining, and post-go-live support are separate.
Common Line Items That Surprise Buyers#
| Line item | Why it surprises people |
|---|---|
| Odoo.sh hosting | Assumed SaaS hosting was included in the user fee - it's a separate charge |
| Third-party app licenses | Assumed all apps were free or already included |
| Data migration | Scoped as "a few days" but took 2–3× longer due to data quality issues |
| Custom module maintenance | Forgotten when upgrading Odoo versions - every custom module must be updated |
| User count creep | Started with 10 users; added warehouse, sales reps, accountant - now 18 |
| Training rounds | One initial training session assumed; team turnover required re-training |
How to Estimate Total Cost of Ownership#
A simple first-year TCO estimate for a 20-user mid-market company (with modest customization):
| Component | Range |
|---|---|
| Enterprise license (20 users × 12 months) | €4,000 – €8,000 |
| Odoo.sh hosting (if used) | €300 – €1,000 |
| Implementation consulting | €20,000 – €60,000 |
| Custom development | €0 – €30,000 |
| Third-party apps | €0 – €5,000 |
| Data migration | €3,000 – €15,000 |
| Training | €2,000 – €8,000 |
| Total year one | €29,000 – €127,000 |
The range is wide because implementation scope varies dramatically. A company that maps cleanly to Odoo's defaults pays toward the low end; a company with complex custom workflows, non-standard localizations, or messy historical data pays toward the high end.
Year two and beyond: license renewal + support/maintenance (typically 15–25% of implementation cost per year) + any new development.
Questions to Ask Before Signing#
Before committing to a license quote:
- Is this list price or discounted? What is the discount basis?
- Does the quote include Odoo.sh or am I responsible for hosting separately?
- Which third-party apps are required for my use case, and what do they cost?
- What is the partner's rate for post-go-live support?
- How are upgrades handled - is there an annual upgrade fee?
Getting clear answers to these before signing the statement of work separates buyers who hit their budget from those who explain variances at the board level.
ERPeek is an AI tool for Odoo developers and integrators - not for licensing decisions. But if you are evaluating a new Odoo instance and want to understand what custom code currently lives in an existing deployment, the contact page has the details.

