UPGRADE

What does an Odoo upgrade cost?

The database upgrade itself is free on an Enterprise subscription. Your custom modules are not, and that's where the money goes. Odoo's Upgrade Service converts standard modules, database structures and Studio customisations. Its own documentation is explicit that it does not convert the source code of custom modules or third-party apps you don't hold a maintenance contract for — and states that a database containing custom modules cannot be upgraded until a compatible version of those modules exists.

So the quote you're holding is almost entirely about your own code.

Coverage

What Odoo covers, in its own words

From the Odoo upgrade documentation and Enterprise Subscription Agreement, the Upgrade Service covers:

  • Technical conversion of the database — standard modules and data — to the target version
  • Bugs directly caused by the upgrade operation
  • Customisations built with Studio, as long as Studio remains installed and the subscription active
  • Covered Extra Modules — custom modules for which you pay a separate maintenance-of-customisations fee

Explicitly not covered:

  • Cleaning pre-existing data and configuration during the upgrade
  • Custom modules not under a maintenance contract
  • Third-party apps
  • Verifying and validating the upgraded database — Odoo states that's the customer's responsibility

That fourth exclusion is the one people underestimate. Somebody has to use the upgraded test database and confirm the business still works, and that's days of a real person's time regardless of who wrote the code.

Costs

Where the money actually goes

Comparison
ComponentTypical cost
Database conversion (Enterprise)Free
Custom module rewriting$10,000–$40,000
Testing and validationDays of internal time, plus partner hours
Retraining on interface changesUsually internal
New-feature adoptionPriced like a new project

One published partner quote for a 24-user database on Enterprise with minimal customisation came to 272 hours. Minimal customisation. The hours aren't in the conversion — they're in checking that everything still does what it did.

Why custom modules cost so much to move. Odoo ships a major version annually and refactors core internals as it goes: model fields change, methods are renamed, view inheritance shifts, JavaScript frameworks get replaced. A module written against 17 doesn't fail loudly on 19 — it often fails quietly, in one workflow, three weeks after go-live. Which is why the rewriting isn't the expensive part. The testing is. If you're already in that mess: the Odoo upgrade broke our customisations.

Timing

The timing trap

Two facts that pull in opposite directions.

Wait too long and it costs more. Odoo now applies a reported 25% subscription surcharge from April 2026 for versions more than three releases behind — so staying put has a price. And multi-version jumps compound: 14 → 19 is harder than three sequential upgrades, not easier.

Upgrade too early and it also costs more. Odoo's upgrade scripts can take three to four months after a major release to be production-ready, and the common recommendation is to wait around six months so stability patches land first. Going first means finding the bugs.

The workable window is roughly six to twelve months after a release, upgrading every one to two versions rather than saving them up. That's more upgrade events and less cost per event, which is the opposite of most people's instinct.

Reduce cost

How to make upgrades cheaper — permanently

The upgrade bill is a function of how much custom code you have. Everything else follows from that.

1. Audit your custom modules before quoting the upgrade. Ask, for each one, whether anyone still uses it. Most long-running Odoo instances carry modules built for a process that changed years ago. Deleting one is free; migrating it isn't. This single exercise often removes a third of the quote.

2. Prefer configuration to code. Every requirement met by configuration is a requirement that costs nothing at upgrade. Every one met by a custom module is a recurring liability with an annual instalment.

3. If you're on Enterprise, weigh Studio properly. Studio customisations are covered by the Upgrade Service where custom modules aren't. That coverage is a genuine part of what the Custom plan buys, and it's rarely counted when people compare tiers.

4. Write modules that are cheap to move. Standard structure, minimal core overrides, readable code. A module that extends cleanly ports in hours; one that monkey-patches core is a rewrite every time.

5. Don't fall behind. The surcharge, the compounding difficulty and the security exposure all point the same way — and the surcharge itself is part of a wider repricing worth understanding, covered in why your Odoo renewal price went up.

Community

Community upgrades

There's no Odoo Upgrade Service on Community — the service requires an Enterprise subscription. You upgrade yourself, use the open-source migration tooling, or pay someone.

That sounds worse and often isn't, for one reason: Community users typically have fewer, simpler customisations, because the whole reason to be on Community is usually that the standard product fits. The businesses with $40,000 upgrade bills are generally the ones that customised heavily — which is a choice, not an edition.

The real Community risk is different: upgrades become nobody's job. It works fine until the person who set it up gets busy, and two years later you're three versions behind with untested backups. That's a staffing problem, not a technical one, and it's why flat-fee Odoo hosting with upgrades included exists.

Odin

What we do instead

We host standard Odoo Community and run version upgrades as part of the monthly fee — $150/month for up to 25 people, $450/month unlimited. Not quoted, not a project, not something that becomes nobody's job.

The structural difference is what happens to customisations. Changes are made by describing them in plain English to our AI builder, which writes an ordinary Odoo module and installs it on your test copy first. When a new version arrives, regenerating a module against it is a description away rather than a rewrite quote — and because the output is standard readable Odoo code, you can hand any of it to a developer, or take it with you if you leave. See building Odoo modules without a developer.

The honest caveat: Community means no Odoo Studio, no official Odoo SA support and no Enterprise-only apps. And no upgrade is free of the one cost nobody can remove — someone still has to check the business works afterwards. We put it on a test copy first so that check happens before go-live rather than after.

See the pricing · What an implementation actually costs

Questions

FAQ

Is the Odoo upgrade free?

The database conversion is free with an Enterprise subscription. It covers standard modules, data and Studio customisations — not custom module source code or third-party apps without a maintenance contract.

Why does an Odoo upgrade cost so much if the conversion is free?

Because the cost is in your custom modules — rewriting them for the new version and then testing that every workflow still behaves. Published figures for customisation rework run $10,000–$40,000.

Can I upgrade Odoo with custom modules installed?

Not until a version of those modules compatible with the target release exists. Odoo's documentation recommends upgrading your module source code in parallel with requesting the upgraded database.

How long should I wait after a new Odoo version releases?

Upgrade scripts can take three to four months to be production-ready, and six months is a common recommendation so stability patches land first.

Does Odoo charge extra for running an old version?

Reportedly yes — a 25% subscription surcharge from April 2026 for versions more than three releases behind. Confirm your own position with Odoo.

Can I upgrade Odoo Community?

Yes, but Odoo's Upgrade Service requires an Enterprise subscription, so you handle it yourself, use open-source tooling, or pay a provider.

How do I make future upgrades cheaper?

Reduce custom code. Audit and delete unused modules, prefer configuration over development, and avoid overriding core internals.

Upgrades included, not quoted.

$150/month up to 25 people. Backups, patches and version upgrades are ours.