Odoo migration, code included.

Odoo 17 to 18, 18 to 19, 19 to 20: upgrade tools convert the standard. Your custom modules, third-party addons and Studio customizations need a developer. Krafter ports that code, tests it on a copy of your database, then goes live. €8,000 to €30,000 excl. VAT, at a fixed price.

Same data. Next version.

Definition

What is an Odoo migration?

An Odoo migration, or version upgrade, moves your database from one major version to a more recent one: Odoo 18 to 19 or 19 to 20, for example. It covers four workstreams: converting standard data, porting custom code, checking Studio customizations and testing thoroughly on a copy of the database. Odoo’s tools, or OpenUpgrade on Community, handle the standard. Krafter handles the custom code and its data.

For whom
Companies whose Odoo carries custom modules or third-party addons.
Versions
17 to 18, 18 to 19, 19 to 20, or from an older version.
Editions
Community and Enterprise, on Odoo.sh or hosting you control.
Price
€8,000 to €30,000 excl. VAT, fixed price, based on four factors.

Scope

One migration, four workstreams.

01

Standard data

Customers, invoices, stock, journal entries: standard data is converted by Odoo’s upgrade service on Enterprise, and by OpenUpgrade on Community. We check the result against your real data.

02

Custom code

Your custom modules do not migrate on their own. Each one must install cleanly on the new version: views, renamed fields, removed methods, rewritten JavaScript components. This is the core of our work.

03

Studio customizations

On Enterprise, Odoo upgrades them as long as Studio stays installed and the subscription is active. A view that breaks is disabled and listed in the upgrade report, so every customization gets checked.

04

Tests on a copy

Nothing happens on your production database. The migration is rehearsed on a neutralized copy, with no emails sent and no scheduled actions. Your teams replay their workflows there before go-live.

What Odoo covers

Odoo upgrades the standard. Your custom code still needs porting.

With an Enterprise subscription, upgrades are free for standard apps and for Studio customizations, as long as Studio stays installed and the subscription is active. Developments covered by a customization maintenance contract with Odoo are included too.

The rest is not: modules written in-house or by a third party, data cleaning and training. Odoo is clear: a database with custom modules cannot be upgraded until those modules exist for the target version. That is the work Krafter takes on.

Source: Odoo documentation, Upgrade page, accessed October 8, 2026.

For whom

No custom code? Odoo upgrades, we manage it.

On an Enterprise database with no custom module or third-party addon, the upgrade is included in your subscription: Odoo runs it. You still have to test the upgraded database, report issues and approve the switch. With heavy Studio customization, that work adds up: Krafter can handle the exchange with Odoo end to end. On a standard, lightly customized database, Odoo’s service is enough.

What we do not do

  • Training your teams
  • Configuring Odoo from scratch
  • ERP consulting or selection

For those needs, we work alongside your functional integrator, on the development side.

Budget

How much does an Odoo migration cost?

Between €8,000 and €30,000 excl. VAT, at a fixed price set after reviewing your database. Four factors place you in that range.

01

Number of addons in place

Every custom module must be ported and tested for the target version. A third-party addon missing from the new version must be ported or replaced. Before pricing, the list is sorted: what became standard goes away, and every module removed lowers the bill.

02

Number of records in the database

A recent database does not convert like one holding years of stock moves and journal entries. Volume lengthens every rehearsal, sometimes calls for optimized scripts, and lengthens go-live, when the database is unavailable.

03

Amount of Studio customization

Studio customizations pile up without anyone keeping a list. Odoo upgrades them on Enterprise, but each one is checked on the copy. The most fragile depend on a custom module or contain code.

04

Number of versions to climb

Each version changes part of the framework: views, JavaScript components, renamed fields. From 19 to 20, the code absorbs one version of changes; from 16 to 20, four. On Community, OpenUpgrade goes one version at a time. As Odoo puts it, the smaller the gap, the easier the upgrade.

Where does your migration sit in the range?

This table does not replace a quote, but it gives you a bearing: the more your project looks like the right column, the closer it gets to €30,000 excl. VAT.

FactorTowards €8,000 excl. VATTowards €30,000 excl. VAT
Addons in placeA few custom modules, no blocking third-party addonDozens of modules, including third-party addons missing from the target version
Data volumeA typical database, converted quicklyVery large tables, optimized scripts, a go-live to plan
Studio customizationsFew customizations, none with codeMany fields, views and automated actions, some with code
Versions to climbOne, for example 19 to 20Several, for example 16 to 20

The method

An Odoo migration, step by step.

The method follows the one recommended in Odoo’s documentation. A senior partner runs it from inventory to go-live.

Inventory

30 min video call, then review

Version, edition, hosting, custom and third-party modules, Studio customizations, database size. You get a fixed price.

If the migration brings you nothing today, we tell you.

Sorting

before writing a line

What the new version does out of the box no longer needs porting. Each module is kept, simplified or removed.

Ongoing development is frozen during the migration, except bug fixes.

Porting the code

on an empty target database

Each module is made installable, then tested: views, reports, automated actions, computed fields.

AI writes much of the code. Every line is reviewed and tested by a senior partner.

The migrated copy

on your real data

Standard data is converted with Odoo’s tools or OpenUpgrade. The ported modules are installed, with scripts that migrate their own data.

Everything is scripted, so go-live is reproducible.

Acceptance

by your teams

Your teams replay their workflows on the copy: sales, purchase, stock, invoicing, reports, integrations. We fix as feedback comes in.

The copy is neutralized: no emails go out, payments run in test mode.

Go-live

rehearsed the day before

A full rehearsal the day before, then the production upgrade at a quiet time.

Afterwards, maintenance can move to us: 8 to 12% of the development cost per year.

Versions and support

Which Odoo versions are still supported?

Odoo supports each major version for three years. After that, paid extended support remains available, on Odoo.sh for a limited number of versions and on-premise for all.

VersionReleaseEnd of standard support
Odoo 20.0September 2026September 2029 (planned)
Odoo 19.0September 2025September 2028 (planned)
Odoo 18.0October 2024September 2027 (planned)
Odoo 17.0November 2023September 2026
Odoo 16.0October 2022September 2025
Odoo 15.0October 2021October 2024
Source: Odoo documentation, Standard and extended support, accessed October 8, 2026.

Odoo 17 left standard support in September 2026. Without paid extended support, a database on 17 or older no longer gets fixes. Now is the time to price its move to 18, 19 or 20.

  • Odoo Online: a major version upgrade is mandatory every two years. Without action before the deadline, Odoo triggers it.
  • Odoo.sh: two more years to upgrade after the three years of standard support.
  • On-premise: nothing forces you to upgrade, but the wider the gap, the harder the migration.
  • The target: a version still under standard support, or out of it for less than six months.

Inherited code

Code written elsewhere? Read before it is priced.

Modules to migrate often come from a former provider, with no documentation or tests. Migrating them blind means risking paying twice.

The migration then starts with a pre-takeover audit: 1 to 3 days, €700 to €3,300 excl. VAT, with a written report, a costed plan and a video debrief. You know what to keep, fix or rewrite before committing to the migration.

The ported code belongs to you and follows the framework’s conventions. Our own modules, gathered in Pyper, are maintained in parallel on Odoo 17, 18 and 19: moving code from one version to the next is our daily work.

FAQ

Send us your version, edition, hosting and the list of your custom modules. A partner replies within 24/48h.

Get my migration priced

Before you migrate your Odoo.

Between €8,000 and €30,000 excl. VAT, at a fixed price. It depends on the number of addons in place, the data volume, the amount of Studio customization and the number of versions to climb. One version, such as 19 to 20, and few modules: the low end of the range.

Odoo lets you target any version still under standard support. Odoo 20, released in September 2026, is the most recent: its standard support runs until September 2029 (planned), versus September 2028 for 19. Jumping straight to 20 avoids a second migration soon after, but custom code has more changes to absorb, and your third-party addons must exist on 20.

Partly. Odoo upgrades the standard apps and Studio customizations for free. Modules written in-house or by a third party are not covered, unless under a maintenance contract with Odoo: that is our part. With heavy Studio use, we can also handle the exchange with Odoo, the testing and the switch.

Not under standard support, which ended in September 2026. Paid extended support remains available on Odoo.sh and on-premise, not on Odoo Online.

On Enterprise, Odoo upgrades them as long as Studio stays installed. A view that breaks is disabled and listed in the upgrade report. We check each one on the copy, starting with those that touch custom code.

Yes. We read the code first. When in serious doubt, a pre-takeover audit of 1 to 3 days, €700 to €3,300 excl. VAT, gives you a written report, a costed plan and a video debrief.

Yes. Standard data migrates with OpenUpgrade, one version at a time. As of October 8, 2026, its documentation covers migrations up to Odoo 19: targeting 20 on Community means waiting for its scripts. Custom code is handled as on Enterprise.

Rarely. Odoo Online does not accept custom Python modules, and Odoo runs the upgrades itself. With only standard apps and Studio, you do not need a developer.

No. We migrate the code and its data, and your teams validate their workflows on the copy. Training belongs to an integrator, and we are happy to work alongside them on the development side.

Your Odoo. Your code. → Next version.

30 minutes on video with a partner. Reply within 24/48h.