ERP Data Migration Guide: Profile, Cleanse, Rehearse, Reconcile
How to migrate data to a new ERP without losing control: scope, profiling, cleansing, mapping, scripted loads, mock migrations, reconciliation and cutover.
Service · Run & Improve
Overview
Staying on an unsupported version is not a safe alternative. Security fixes stop, third-party apps stop being maintained, and the eventual upgrade gets bigger every year it is postponed.
01The problem
The system is so far behind that the upgrade looks like a reimplementation, so it keeps being postponed.
Nobody knows exactly which modules are installed, which are custom and which are still used.
Without automated tests, every upgrade means weeks of manual checking — and something still slips through.
Apps bought from marketplaces are no longer maintained for the new version.
02Our approach
Every upgrade begins with an inventory. Each installed module is classified as standard, third-party or custom, and then as keep, port, replace with standard functionality, or remove. In most systems we upgrade, a meaningful share of custom code turns out to be redundant on the newer version.
We upgrade a copy of production on staging, port the remaining custom code, and run automated tests plus a structured functional test led by your key users. The production upgrade follows a rehearsed runbook with a verified backup to roll back to.
03Capabilities
Complete classification of installed apps and custom code.
Modules adapted to new APIs, views and framework changes.
Abandoned apps replaced with maintained alternatives or standard features.
Automated tests plus scripted functional tests on key processes.
Every connected system verified against the upgraded version.
Short guides and sessions on what changed for each role.
04Technical considerations
Fields and tables renamed or restructured between versions are mapped and migrated.
Integrations checked for deprecated endpoints or changed payloads.
Key screens and batch jobs timed before and after to catch regressions.
A verified backup and tested rollback procedure before the production window.
05Process
Modules, customizations, integrations and reports catalogued.
Production copy upgraded on staging with code ported.
Automated and user-led testing with fixes iterated.
Full dry run of the production upgrade with timings.
Production upgrade in an agreed window, with post-upgrade checks.
06Outcomes
Back on a version that receives fixes and security updates.
Redundant customizations removed rather than carried forward.
Access to standard features that replace workarounds.
Where it applies
Related services
Insights
How to migrate data to a new ERP without losing control: scope, profiling, cleansing, mapping, scripted loads, mock migrations, reconciliation and cutover.
An Odoo 20 upgrade checklist covering breaking changes: record rules, tracking values, account groups, Field Service, payroll work entries, icons and the RPC API.
How to upgrade Odoo to a new major version: assessing custom modules, upgrade service vs OpenUpgrade, test cycles and a cutover plan that holds.
FAQ
Platforms with annual releases are best upgraded every one to two years. Waiting longer usually makes each upgrade larger and riskier.
Usually the database can move across several versions in one project, but custom code must be ported to the target and behaviour changes tested. Skipping saves calendar time, not testing.
Yes, interfaces and some behaviours change. We prepare role-specific briefings so the first day on the new version is not a surprise.
Next step
We will inventory your system and give you a clear upgrade plan and estimate.