Skip to Content

Services

Odoo migration: from any version to any newer one

Data survives an upgrade by itself. Your own modules do not - and that is the whole job: find what breaks before the live system does.

What the work is

A copy of production is raised on staging - the whole database, not a sample, because it always breaks on the row nobody expected. The upgrade runs there first, and the list of breakages is fixed in modules, not by patching data.

Then the same run is repeated until it is boring. Only after that does the live system move, on an evening chosen by you, with the old version kept ready to come back to.

Where the cost comes from

Not from the number of versions between you and the target. From how much of what you built lives in code someone can read: modules with a git history are cheap to carry over, clicked-together automations are not.

A rough answer takes one call with the module list in front of us. A firm one takes the first staging run, and that run is the estimate.

What you end up with

The same system on a supported version, with your data, your customizations and a written list of what changed. Plus the staging environment, which stays - the next upgrade starts from there rather than from scratch.

If the honest answer is that the migration is not worth it yet, you will hear that on the first call rather than after the first invoice.

Worth reading before you decide

Questions that come up before the first call

How much does an Odoo migration cost?
Not as much as the number of versions between you and the target suggests. The price comes from how much of your system lives in code somebody can read: modules with a git history are cheap to carry over, automations clicked together in the interface are not. A rough figure takes one call with the module list in front of us; a firm one comes out of the first staging run.
How long does the upgrade take?
Most of the calendar time is the staging runs: a copy of production is upgraded, the breakages are fixed in modules, and the run is repeated until it is boring. Only then does the live system move, on an evening you choose, with the old version kept ready to come back to.
Will my data and my custom modules survive it?
Data survives on its own - Odoo's own scripts carry it. Custom modules do not: every version changes something they rely on. Finding that before the live system does, and fixing it in code rather than by patching data, is the whole job.
Can you go straight from an old version to the current one?
Yes. The jump runs through the intermediate versions on a copy of your database, and you get the written list of what changed before anything happens to the system people work in.

Where to start

Send the module list before the call. By the end of the half hour you will have a rough scope, the list of risks and the order the versions go in.