Migrations & Upgrades

Odoo Version Upgrade Guide

Odoo ships a major version every October, supports the latest three, and the gap between ‘our version works fine’ and ‘our version is unsupported and unpatchable’ closes faster than most businesses expect. This guide is the honest overview of what upgrading involves, what it costs, and how to decide when.

We’ve migrated Odoo across every version from 8 to 19, including systems where downtime meant real money. The pattern below is the one that works.

What moves, and how

  • Why upgrades are re-implementations in disguise. Between majors, Odoo changes framework internals, standard workflows and data structures. Standard data migrates with Odoo’s tooling; every custom module needs reviewing, porting or retiring. The cost driver is your customisation surface, not the version count.
  • The support window maths. Odoo supports three versions. On version N-3 you’re unsupported: no security patches, no bug fixes. That’s not a nag, it’s a risk position, especially for internet-facing systems.
  • Audit, then decide. The right first step is an upgrade audit: inventory customisations and third-party modules, check which needs still exist, check which newer standard features absorb them. Many customisations retire happily at upgrade time.
  • Staging rehearsal is non-negotiable. The migration runs fully on a staging copy with production data. Your team tests real workflows against a checklist until the rehearsal is boring. Then, and only then, production.
  • Version-jump strategy. Skipping versions is normal and supported (13 to 17, 15 to 19 in one move). One big rehearsed jump usually beats several small disruptive ones.

How a version upgrade runs

  1. Upgrade audit first. Every customisation, third-party module and data object inventoried and sorted: port it, drop it, or replace it with what newer Odoo now does natively. The audit report is the basis for the quote, and it’s yours whether or not you proceed with us.
  2. Fixed quote with an hours breakdown per module. The number arrives after the audit, not before, because guessing at an upgrade is how projects overrun. Deprecated features get flagged as decisions rather than surprises at go-live.
  3. Full rehearsal on staging with production data. The migration runs end to end on a staging copy, and your team runs real workflows against a sign-off checklist until nothing surprises them.
  4. Reconciliation before trust. Record counts and value checks per model prove the data crossed intact. Evidence, not assurance.
  5. Planned cutover with a rollback path. A scheduled window around your trading calendar, a step-by-step runbook, and a tested way back if the window goes wrong.

Common questions

How often should we upgrade?
Every two to three versions suits most businesses: recent enough to stay supported and benefit from performance gains, spaced enough to amortise the porting cost.
What does an upgrade cost?
It scales with custom code. A lightly customised system is a small project; a heavily customised one is a real one. Our audit phase produces a fixed quote before you commit.
Can we upgrade Community edition ourselves?
Technically yes with OpenUpgrade tooling; practically, the risk sits in your custom modules and data edge cases. If you have either, professional help pays for itself the first time a rehearsal catches what production would have suffered.
How long does an upgrade project take?
A clean upgrade with few customisations is a few weeks including rehearsal; a heavily customised system on an old version is longer, and the audit is what tells us which you are. We quote from the audit, not from a guess over the phone.
Can we keep trading during the migration?
Yes. The work happens on a staging copy while your live system runs untouched, and the only interruption is the planned cutover window, which we schedule around your quiet trading hours.
What happens to our custom modules and reports?
Each one is a line in the audit: ported, retired, or replaced by native functionality newer Odoo now includes. You get that decision list before the quote, so nothing about your customisations is a surprise later.

Not sure where to start? Book a free discovery call and we’ll map your current setup, or request a free Odoo health check if you’re already running Odoo.

Next step

Ready to fix your ops?

Book a free discovery call. We'll look at your current setup and tell you honestly whether Odoo is the right move and what it would involve.