Odoo Migration & Upgrade Services
Move to a supported Odoo version, switch from Community to Enterprise, or bring your business onto Odoo from another system — with custom modules ported, data checked and every critical process tested before cut-over.
Odoo upgrade project
- Upgrade & code assessmentIncluded
- Database migrationIncluded
- Custom module portingIncluded
- Test upgrades & UATIncluded
- Cut-over & go-live supportIncluded
Every cut-over rehearsed on a copy first.
What We Deliver
Odoo Migration & Upgrade Services
Upgrades within Odoo, moves between editions and hosting, and migrations onto Odoo from other systems.
Upgrade Assessment
Your version, installed modules, custom code, Studio changes, integrations and data volume reviewed before any estimate.
- Module & code inventory
- Third-party app availability
- Effort & risk report
Version Upgrades
Databases upgraded through Odoo's upgrade service for Enterprise, or OpenUpgrade scripts for Community, including multi-version jumps.
- Odoo upgrade service
- OpenUpgrade for Community
- Multi-version jumps
Custom Module Porting
Python, views, reports and front-end code rewritten for the target version, with unused code removed rather than carried forward.
- Python & ORM changes
- Views, reports & OWL
- Dead code clean-up
Community to Enterprise
Community databases moved to Enterprise, with add-ons replaced by standard Enterprise apps where they now cover the need.
- Edition switch
- Add-ons to standard apps
- Hosting move if needed
Migration to Odoo
Data moved onto Odoo from another ERP, an accounting package, a legacy system or spreadsheets, cleaned and validated.
- Master data & open items
- Opening balances
- History strategy
Testing & Cut-over
Upgraded copies tested against real processes, with a rehearsed cut-over and a rollback plan agreed in advance.
- Test upgrade databases
- User acceptance testing
- Rollback plan
What Is an Odoo Upgrade
Two Kinds of Move, One Careful Method
An Odoo upgrade moves an existing Odoo database and its modules to a newer major version; an Odoo migration moves a business onto Odoo from another system, or between Odoo editions and hosting. Both involve three pieces of work: transforming the data, making custom and third-party code work on the target version, and testing real processes before going live. Odoo's upgrade service converts standard data for Enterprise customers, but making custom modules work on the new version, and testing, remain with whoever maintains the code. MageBytes assesses, ports, migrates and tests, then runs a rehearsed cut-over.
Plan My Odoo UpgradeBack on a supported version
Security and bug fixes from Odoo again, instead of an unpatched system.
Newer features
Access to the functional and usability improvements of recent releases.
A leaner codebase
Customisations reviewed and replaced by standard features where newer versions cover them.
How We Work
From Assessment to a Rehearsed Cut-over
Nothing touches your live database until the upgraded copy has been tested and signed off.
- 1
Assess
We review modules, custom code, integrations and data, and produce a scoped plan with risks and open questions.
- 2
Upgrade & Port
A test upgrade of your database is produced, and custom and third-party modules are ported to the target version.
- 3
Test & Fix
Your team tests real processes on the upgraded copy while we fix issues and re-run the upgrade as needed.
- 4
Rehearse Cut-over
The full cut-over runs on a fresh copy of production so timings, steps and rollback are proven.
- 5
Go Live & Support
The production upgrade runs in an agreed window, followed by close support while users settle in.
In Depth
Planning an Odoo Upgrade or Migration
How Odoo upgrades actually work, where the effort goes, and when a fresh start is the better choice.
- How Odoo upgrades work
- Porting custom and third-party modules
- Upgrade or reimplement?
- Moving from Community to Enterprise
- Migrating to Odoo from another system
- What drives cost and timeline
How Odoo upgrades work
Odoo releases a new major version each year — the latest is Odoo 20 — and supports the three most recent versions. For Enterprise databases, Odoo's upgrade service produces an upgraded test copy first, requested from the database manager on Odoo Online, the Upgrade tab on Odoo.sh, or Odoo's upgrade tool for self-hosted installations. The service is included with an Enterprise subscription, can move a database across several versions in one request, and handles standard Odoo data. Switching edition isn't part of an upgrade.
Odoo's upgrade service needs an Enterprise subscription code, so Community databases usually go through OpenUpgrade, an Odoo Community Association (OCA) project that migrates one version at a time, with coverage that varies by module. In both cases, custom modules must be made compatible with the target version; on Odoo.sh, the upgrade then runs those updated modules automatically.
Porting custom and third-party modules
Between versions, Odoo renames models and fields, changes methods and reworks views; front-end code built with the OWL framework often changes more than Python code. Each custom module has to be adapted, and custom fields sometimes need migration scripts so data lands in the right place.
Third-party modules need checking too: some vendors publish a version for each release, others stop. Where a module has no upgrade path, we replace it with standard features, an OCA alternative or a small custom module.
- Python models & business logic
- XML views & QWeb reports
- JavaScript & OWL components
- Migration scripts for custom data
Upgrade or reimplement?
Heavily customised databases several versions behind sometimes cost more to upgrade than to rebuild. If many customisations exist only because older versions lacked a feature, a fresh implementation on the latest version — moving master data, open transactions and balances, but not every customisation — can leave you with a cleaner system. The assessment compares both routes so you can decide on facts.
Moving from Community to Enterprise
Switching edition on the same version is mainly a matter of adding the Enterprise code and subscription. The real work is everything around it: Community add-ons that replicated Enterprise features, such as accounting or barcode modules, must be mapped to standard apps, their data moved and the old modules removed.
Businesses often combine the switch with a version upgrade or a move to Odoo.sh or Odoo Online. Doing them together saves a round of testing, but it also makes the project larger, so we plan it carefully.
Migrating to Odoo from another system
Moving from another ERP, an accounting package or spreadsheets is a data project as much as a software one. Each data set is mapped to Odoo's structures — chart of accounts, taxes, units of measure, product variants — cleaned, loaded in trial runs and signed off by its owner in the business.
Closed history usually stays in the old system or an archive, while open orders, stock and balances move at cut-over. This page covers the migration; the wider rollout follows our Odoo implementation approach.
- Customers & vendors
- Products, variants & BoMs
- Chart of accounts & taxes
- Open orders & invoices
- Stock on hand
- Opening balances
What drives cost and timeline
The main factors are the gap between source and target versions, the amount and quality of custom code, the number of third-party modules, data volume, integrations, any hosting or edition change, and how much time your team can give to testing.
More Odoo Services
Before and After the Upgrade
Upgrades go better with clean code, the right hosting and support afterwards.
Odoo ERP
Full Odoo implementation across departments.
Odoo ERPOdoo Support
Ongoing maintenance and upgrade planning.
Odoo supportOdoo Customisation
Upgrade-safe custom modules and Studio changes.
Odoo customisationOdoo.sh Hosting
Staging branches to test upgrades safely.
Odoo.sh hostingOdoo Accounting
Charts of accounts, taxes and opening balances.
Odoo AccountingHire Odoo Developers
Dedicated Odoo developers for porting work.
Hire developersReady to move to a current Odoo version?
Tell us your current version, edition, hosting and customisations, and we'll scope the upgrade or migration.
Got Questions?
Odoo Migration & Upgrade FAQs
Versions, editions, custom code and data — answered.
Yes. For Enterprise databases, Odoo's upgrade service can move across several versions in one request. Custom modules still need porting to the target version, and the bigger the jump, the more testing is needed.
Not by itself. It converts standard Odoo data; custom and third-party modules have to be made compatible with the target version by whoever maintains them, which is usually where most of the effort goes. On Odoo.sh, the upgrade then runs the updated modules automatically.
Odoo's upgrade service requires an Enterprise subscription, so for Community we use OpenUpgrade scripts from the Odoo Community Association, version by version, alongside our own scripts where coverage is missing.
Yes. The edition switch itself is straightforward; the work lies in replacing Community add-ons with standard Enterprise apps and moving their data. It's often combined with an upgrade or a hosting change.
Yes. We map and clean master data, open transactions and balances, run trial migrations and have each data set signed off before cut-over.
Testing happens on copies of your database. The production upgrade runs in an agreed window after a full rehearsal, so the pause in transactions is planned and as short as possible.
It depends on how far behind and how customised your database is. The assessment compares an upgrade with a fresh implementation on the latest version so you can choose.