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
- Assess
- Migrate
- Check
- Test & fix
- Go live
Last reviewed: 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.
- 15 (assisted)
- 16
- 17
- 18
- 19
- 20
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.
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.
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.
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
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.
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.
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.
Data-match checks
Modules install, menus and views open, and trial balance, stock valuation, receivables and payables match the source database.
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.
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
المنهجية
Five steps, one go-live
- 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.
- 02
الترحيل
We run every version step on a copy of your database and fix failures as they appear.
- 03
Check
Install, menu and accounting data-match checks run on every build. You see the report.
- 04
Test and fix
Your team tests real processes on the private test system. We fix, rebuild and hand over the next round.
- 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.
مقارنة
A typical manual upgrade vs ours
| Stage | Typical manual upgrade | ERP Builders |
|---|---|---|
| Scoping | Workshops, then a quote weeks later | Written assessment of every module and a fixed quote |
| Database | Scripts run by hand, fixes not recorded | Each step scripted, every fix recorded and repeatable |
| Custom code | Modules patched until they install | Ported for the new APIs and delivered as a reviewable branch |
| Validation | Spot checks by users | Install, menu and accounting data-match checks every build |
| Test cycles | Issues by email, slow redeploys | Numbered rounds on a private test system with a change list |
| Go-live | Weekend cutover with manual steps | Rehearsed re-run on fresh data, original kept as fallback |
| Data location | Database always shared with the partner | Your 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.
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
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
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
الأسئلة الشائعة
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.
Related
Related Odoo services
الخطوة التالية
Ready to move to Odoo 20?
Start with a free written assessment and a fixed quote.