Odoo upgrades and migrations without the drama.
The upgrade has been “next quarter” for three quarters running. Meanwhile your version ages out of support.
With Odoo Enterprise, upgrading the standard apps is included. The custom code, the testing, and the cutover are the part nobody owns. Our Odoo upgrade services cover that part: we run the upgrade on a staged copy first, port the custom modules, and write the rollback plan before anyone picks a date.
- Staged copy first
- Custom modules ported
- Rollback plan before cutover
Which Odoo versions are still supported.
An Odoo version upgrade is not optional forever. Odoo supports each major version for three years. After that, bug fixes and security updates stop unless you pay for extended support, which Odoo sells for self-hosted systems and, for some versions, on Odoo.sh.
| Version | Released | Standard support ends | Status |
|---|---|---|---|
| Odoo 20 | September 2026 | September 2029 (planned) | Supported |
| Odoo 19 | September 2025 | September 2028 (planned) | Supported |
| Odoo 18 | October 2024 | September 2027 (planned) | Supported |
| Odoo 17 | November 2023 | September 2026 | Standard support ended |
| Odoo 16 | October 2022 | September 2025 | Standard support ended |
On Odoo Online, Odoo schedules the upgrade for you: a database on a major version has to move at least every two years. On Odoo.sh you get two more years after support ends to complete it. On your own server you can stay put indefinitely, which is how systems end up five versions behind. Source: Odoo documentation (supported versions, upgrade), checked October 1, 2026.
What Odoo's upgrade covers, and what it leaves to you.
With Odoo Enterprise, the technical upgrade of a standard database is included in the subscription. That is less than it sounds.
| Part of the upgrade | Odoo's upgrade service | Left to you |
|---|---|---|
| Standard apps and their data | Covered | Check the result on the test copy |
| Changes made with Studio | Covered while Studio is installed and the subscription is active | Check the result on the test copy |
| Custom modules written in-house or by a partner | Not covered, unless you pay Odoo to maintain them | Port them to the target version first |
| Testing the upgraded database | Odoo gives you a test copy | Someone has to test it properly |
| Cleaning old data and configuration | Not covered | Yours to do |
| Training people on the new version | Not covered | Yours to do |
Source: Odoo documentation, “Upgrade”, checked October 1, 2026.
This is where Odoo upgrades usually break.
On paper, an upgrade is a button. In reality, not so much.
Custom modules block the upgrade
Odoo cannot upgrade a database with custom modules until a version of each module exists for the target release. The port has to happen first, and it is the part nobody budgeted.
Nobody tests the test database
Odoo gives you an upgraded test copy. Most teams glance at it and approve. The problems show up on Monday, in production.
Integrations break quietly
The upgrade converts your data. It does not check that your connectors still work. Odoo 19 introduced a new external API and deprecated the older ones, so anything that talks to Odoo from outside needs a review.
Skipping several versions at once
Odoo lets you jump straight to any supported version. The bigger the jump, the more screens, workflows, and reports have changed, and the more there is to test and retrain.
No way back
On Odoo Online, a completed upgrade cannot be reverted. Odoo.sh reverts a failed upgrade on its own. On your own server, the only way back is the backup you took. Write the rollback plan before the cutover, not during it.
Treating it as a technical task
The database upgrades over a weekend. The people take longer. Budget time to show your team what moved.
Staged, tested, and reversible.
A recent example: a client's custom modules ported from Odoo 17 to 19 and tested on a staged copy before a cutover date was set.
-
Inventory
Your version, your hosting, your custom modules, your Studio changes, and everything that connects to Odoo from outside.
-
Test upgrade on a staged copy
We request an upgraded test database from Odoo and stand it up away from production.
-
Port the custom code
Each custom module is moved to the target version, or retired if the standard product now does the job.
-
Test what the business runs on
Quotes, orders, invoices, stock moves, month-end, reports, and integrations, tested with your people and your data.
-
Fix, retest, plan the way back
Issues go back to Odoo or into the code. The rollback plan is written before a cutover date is set.
-
Cutover
A planned window, a full backup, and someone watching the first working days and the first close afterwards.
Odoo migration services: three moves an upgrade does not include.
People say “Odoo migration” for all of these. Each one is scoped separately.
Community to Enterprise
Switching editions is not part of an upgrade. It is its own project, usually done alongside one.
Changing hosting
Moving between Odoo Online, Odoo.sh, and your own server. Custom code decides which of these is open to you.
Leaving another system
Coming from QuickBooks or another ERP is a migration, not an upgrade: new data model, parallel run, reconciliation.
Leaving QuickBooks? See QuickBooks to Odoo migration.
Questions about an Odoo upgrade.
Which Odoo version should we upgrade to?
Usually the newest major version your custom modules and integrations are ready for. Odoo lets you move from any version to any major version still under standard support. As of October 2026 that means Odoo 18, 19, or 20. A newer target buys a longer support window, and it can mean more change to test.
Is the Odoo upgrade free?
With Odoo Enterprise, the technical upgrade of standard apps and Studio customizations is included in the subscription. Custom modules written in-house or by a partner, cleaning up old data, and training are not. That is where the cost of an upgrade sits.
How long does an Odoo upgrade take?
It depends on the custom code and on how many versions you are jumping. A standard database with no custom modules can move quickly. Custom modules have to be ported and tested first, and that sets the schedule. You get dates with the written scope.
Is Odoo 17 still supported?
Standard support for Odoo 17 ended in September 2026, according to Odoo's documentation. Odoo sells extended support for self-hosted systems and, for some versions, on Odoo.sh. Standard support runs to September 2027 for Odoo 18, September 2028 for Odoo 19, and September 2029 for Odoo 20. Odoo marks those three dates as planned.
Can we skip versions?
Yes. Odoo upgrades a database straight to the target version, so you don't stop at each one in between. The bigger the gap, the more has changed, so plan more testing and more retraining.
What happens to our custom modules?
Each one has to exist for the target version before Odoo can upgrade the database. We port them, or retire the ones the standard product has since replaced, and test them on a staged copy with your data.
Can you upgrade Odoo Community?
Yes, but it works differently. Odoo's upgrade service is part of the Enterprise subscription. A Community database is usually moved with OpenUpgrade, an open-source project from the Odoo Community Association, plus manual work on whatever it does not cover. We scope that in the Assessment.
What if the upgrade fails?
It depends on where you host. Odoo.sh reverts a failed upgrade on its own, while on Odoo Online a completed upgrade cannot be reverted, which is why the test database matters. On your own server, the way back is the backup you took. We write the rollback plan before the cutover date is set.
Find out what your upgrade actually involves.
The Odoo Assessment is free. We start with a call, an email, or an in-person meeting, send a written Preliminary Scope within 5 business days of that conversation, then meet to walk through it.