Skip to Content
Q&A

Upgrading Odoo to the latest version: a step-by-step plan without surprises

From upgrade test to rollback plan: how to upgrade without stress, even with custom development

Back to all Q&A
August 27, 2026 by
Upgrading Odoo to the latest version: a step-by-step plan without surprises
DAADit Group, Nick

"Our Odoo upgrade took three months and afterwards all sorts of things no longer worked." You regularly read stories like this on forums, and almost always the problem sits in the same corner: custom development that was never inventoried and an upgrade carried out without a dress rehearsal. Odoo releases a new version every year, so sooner or later it's your turn. With this step-by-step plan you keep the surprises out.

Why upgrades are nerve-racking (and why you still want them)

Odoo officially supports the last three versions. If you linger too long, you miss not only new features but eventually security updates too. The upgrade of the standard database is well taken care of: Odoo migrates your data via the upgrade service. The exciting part is everything that is not standard: custom modules, purchased apps, integrations and modified reports. Those do not migrate along by themselves.

The step-by-step plan

  1. Request an upgrade test. Via Odoo you get a test copy of your database in the new version, with no obligations. On Odoo.sh you create a separate staging branch for this. Do this well before your planned go-live, because the first test round always throws up a surprise or two.
  2. Inventory your custom development. Make a list of all custom modules, Studio changes, external integrations and modified reports. Decide for each item: still needed, replaced by new standard functionality, or adapt for the new version? With every version, Odoo absorbs functionality that used to be custom development; this is the moment to prune.
  3. Write a test script per department. Ask each department to write down the five to ten actions they perform daily: create a quote, book a delivery, send an invoice, process a bank statement. Short and concrete, no novels. This script will be your checklist later.
  4. Run a dry run in staging. Have employees run their own test script on the upgraded test environment, with recent data. Record every deviation in one shared list. Repeat the dry run until the list is empty or only contains accepted points.
  5. Plan the go-live deliberately. Pick a quiet moment: a weekend, not the last week of the quarter. Communicate in advance how long the system will be unavailable (for an average SME database you're talking hours, not days) and freeze changes in the days before.
  6. Have a rollback plan. Agree in advance: which checks do we do immediately after the upgrade, and for which problems do we go back to the old version? A backup from just before the upgrade is your insurance. Hopefully you never use it, but it saves panic if it is needed after all.

The biggest time sink: adapting custom development

Count on the majority of the upgrade hours going into custom development. Rule of thumb from practice: the older the custom development and the less documentation, the more expensive the upgrade. That is also a good argument for first checking, with every new requirement, whether standard Odoo (possibly with some configuration) suffices. Every module you don't build today, you won't have to migrate next year.

Praktische tip

Don't treat the upgrade as a one-off project but as an annual routine. Keep your custom development list up to date all year, clear something out after every upgrade and simply request the upgrade test every year, even if you don't want to switch straight away. That way you always know where you stand.

Does your upgrade look like a mountain? Contact DAADit Group, then together we'll turn it into a manageable step-by-step plan.

in Odoo

Question not answered?

Our Odoo consultants are happy to think along with you. Book a no-obligation intro call.

Book an appointment
The 7 pitfalls in an Odoo implementation (and how to avoid them)
Seven classics from practice, each with a concrete example and the solution