Skip to content
ERP Builders

Odoo 20 upgrade

Upgrade to Odoo 20, Community or Enterprise

We move your database, attachments and custom modules from Odoo 16, 17, 18 or 19 to Odoo 20, check that accounts and stock still balance, and give you a private test system before production is touched.

You test, we fix, you choose the go-live date.

Free written assessment

  • Reviewed by a senior Odoo engineer
  • Reply within one business day
  • Community and Enterprise
  • The consultant who scopes it runs it
  1. Assess
  2. Migrate
  3. Check
  4. Test & fix
  5. Go live

Last reviewed: October 16, 2026

Quick answer

How an Odoo 20 upgrade works

We run each version step on a copy of your database, fix the errors that come up, port your custom modules to Odoo 20 and deliver them as a pull request, then run data-match checks on accounts, stock, receivables and payables.

Your team tests on a private copy until it is right. Go-live re-runs the same tested steps on fresh production data, with your original database kept as a fallback. It works for Community and Enterprise, and can run entirely on your own server.

ERP Builders is an independent Odoo services company and is not affiliated with or endorsed by Odoo S.A. “Odoo” is a trademark of Odoo S.A.

Why upgrade now

The support window keeps moving

Steps run in order: 16 → 17 → 18 → 19 → 20. You can stop at 18 or 19 if that suits you better.

  1. 15 (assisted)
  2. 16
  3. 17
  4. 18
  5. 19
  6. 20
01

Only three versions are supported

Odoo supports its three latest major versions. With Odoo 20 out, that is 18, 19 and 20. Odoo 17 and older no longer receive bug and security fixes.

02

Every year adds a step

Upgrades run one version at a time. Each year you wait adds another step, more custom code to port and more data to move.

03

New features are not back-ported

Odoo 20's agentic AI, new apps and interface changes stay in version 20. Older versions get fixes only, then nothing.

04

No change to your live system

All the work happens on a copy. Production is untouched until you have tested and signed off.

What's included

Everything between your version and 20

01

Version-by-version migration

Each step (16 → 17 → 18 → 19 → 20) is run and checked in turn, using Odoo's upgrade service for Enterprise and OpenUpgrade scripts for Community.

02

Error triage and fixes

Failed steps are diagnosed, fixed and re-run. Every fix is recorded so it is repeated exactly on the final production run.

03

Custom modules ported

Your custom modules are rewritten for Odoo 20's APIs, views and ORM, and delivered as a reviewable branch or pull request in your repository.

04

Data-match checks

Modules install, menus and views open, and trial balance, stock valuation, receivables and payables match the source database.

05

Private test system

A test copy with its own address and logins. Your team works through real processes, reports issues, and gets numbered rebuild rounds with a change list.

06

Rehearsed go-live

The full upgrade is re-run on a fresh production copy using the tested steps. The original database is kept as a fallback.

Scope

What gets upgraded

Included in every upgrade

  • All business data across every installed app
  • Attachments and filestore
  • History, chatter and audit trail
  • Users, access rights and companies
  • Studio customisations
  • Custom modules (on the code plan)

Agreed during the assessment

  • Third-party App Store modules: use the vendor's Odoo 20 version, port, replace or retire
  • Unused modules flagged for removal
  • Features Odoo has redesigned, explained to users in change notes
  • Integrations listed and retested end to end
  • Odoo 15 and older: assisted first steps, then the standard process
  • Odoo Online databases: upgraded by Odoo itself, or moved to Odoo.sh or your own server first

Process

Five steps, one go-live

  1. 01

    Assess (free)

    Send a backup or let us run a read-only module scan. You get a module-by-module breakdown, risk flags, custom-code effort, the recommended path and a fixed quote.

  2. 02

    Migrate

    We run every version step on a copy of your database and fix failures as they appear.

  3. 03

    Check

    Install, menu and accounting data-match checks run on every build. You see the report.

  4. 04

    Test and fix

    Your team tests real processes on the private test system. We fix, rebuild and hand over the next round.

  5. 05

    Go live

    Pick a date. We re-run on a fresh production copy, then you deploy with our guide or we deploy for you. A support window follows.

Comparison

A typical manual upgrade vs ours

StageTypical manual upgradeERP Builders
ScopingWorkshops, then a quote weeks laterWritten assessment of every module and a fixed quote
DatabaseScripts run by hand, fixes not recordedEach step scripted, every fix recorded and repeatable
Custom codeModules patched until they installPorted for the new APIs and delivered as a reviewable branch
ValidationSpot checks by usersInstall, menu and accounting data-match checks every build
Test cyclesIssues by email, slow redeploysNumbered rounds on a private test system with a change list
Go-liveWeekend cutover with manual stepsRehearsed re-run on fresh data, original kept as fallback
Data locationDatabase always shared with the partnerYour choice: secure copy, or the work runs on your own server

Data protection

Your data, handled carefully

Encrypted transfer and storage

Backups are moved over encrypted channels and stored encrypted.

Safe test copies

Outgoing email, payment providers, bank sync and scheduled jobs are disabled on every test system.

Deleted after go-live

Copies of your data are deleted at the end of the agreed retention period.

Stay on your server

If your database cannot leave your network, the upgrade runs on your infrastructure through access you control.

No credentials in links

Each project gets its own test logins, shared securely, never inside a URL.

NDA and DPA

Signed before any data is shared, if you need them.

Plans

A fixed quote for every project

Price depends on database size, the number of version steps and the custom modules to port. The free assessment gives you the exact figure.

Start here

Free assessment

  • Read-only scan of your modules
  • Module-by-module breakdown and risk flags
  • Custom-code effort per module
  • Recommended path (19, 20 or both)
  • Fixed quote, no obligation
Standard modules

Database upgrade

  • Every version step to your target
  • Error fixes and data-match checks
  • Private test system and rebuild rounds
  • Rehearsed go-live with fallback
  • Post go-live support window
Most projects

Database + custom code

  • Everything in Database upgrade
  • Custom modules ported to Odoo 20
  • Branch or pull request in your repository
  • Third-party module porting where needed
  • Code fixes in every test round

Optional extras: run on your own server, deployment by us, managed hosting, Odoo 15 and older, extra test rounds, user training.

At go-live

What you receive

  • Upgraded database and filestore
  • Custom code on Odoo 20 in your repository
  • Check report: install, menu and accounting data-match results
  • Deployment guide with the exact build used
  • Change notes for your users
  • Your original database, kept as a fallback

Who it's for

Built for three situations

Odoo Enterprise customers

On-premise or Odoo.sh, with custom modules and integrations that Odoo's own upgrade service does not cover.

Odoo Community users

Community-to-Community upgrades with the same checks, test rounds and go-live process.

Teams on Odoo 16 or 17

Already outside Odoo's support window. Moving in one project to 19 or 20 avoids two upgrades in two years.

Free assessment

Get a free Odoo 20 upgrade assessment

A senior Odoo engineer replies within one business day.

What you get back

  • Module-by-module breakdown and risks
  • Custom-code effort per module
  • Recommended path (19, 20 or both)
  • Fixed quote, no obligation
Edition
Can a copy of your database leave your server?

Nothing is uploaded at this stage. We use these details only to prepare your assessment.

FAQ

Odoo 20 upgrade questions

Which versions can you upgrade?

Odoo 16, 17, 18 and 19 to any later version up to 20. Odoo 15 and older can be upgraded too, with extra assisted steps that the assessment scopes.

Can we go from Odoo 16 straight to 20?

Yes, in one project. Internally each version step is run and checked in order, but you only test and go live once.

Can we stop at Odoo 19?

Yes. You choose the target. The assessment recommends one, usually based on third-party module availability and your timeline.

Do you upgrade Odoo Community?

Yes, with the same process and checks. Community upgrades use OpenUpgrade scripts, and we fill the gaps where a module has no script.

Can we switch from Community to Enterprise during the upgrade?

We recommend doing it as a separate step after the upgrade. Changing edition and version at once makes problems harder to trace.

Do you support Odoo.sh and Odoo Online?

Odoo.sh, yes: we work from a backup and you deploy the result to Odoo.sh. Odoo Online databases are upgraded by Odoo directly; if you have outgrown Online we can move you to Odoo.sh or your own server first.

How long does an upgrade take?

It depends on database size, the number of version steps and how much custom code there is. The assessment gives you a timeline alongside the quote.

How much downtime is there?

Only the final run on a fresh production copy. Because every step has been rehearsed, that is usually a single evening or weekend. The assessment estimates it.

What happens to our custom modules?

They are ported to Odoo 20 and delivered as a branch or pull request in your repository, so your developers can review the changes. Modules that Odoo 20 makes redundant are flagged for removal.

Will we lose any history?

No. History, attachments and chatter move with the database, and the data-match checks confirm totals match the original.

Will test systems email our customers or touch the bank?

No. Outgoing email, payments, bank sync and scheduled jobs are disabled on every test copy.

What if something goes wrong at go-live?

Your original database is kept untouched, so you can fall back. A support window after go-live is included in every plan.

How much does it cost?

Every project gets a fixed quote from the free assessment. Price depends on database size, version steps and the number of custom modules to port.

Next step

Ready to move to Odoo 20?

Start with a free written assessment and a fixed quote.