Most ERP conversations focus on the software: which modules to buy, how the pricing compares, whether the vendor understands your industry. Data migration barely comes up until it's already a problem, usually a few weeks before go-live, when someone realizes the "clean" export from the old system is missing half the fields the new one needs.
In our experience, data migration is the most underestimated line item in an Odoo implementation. It doesn't show up in a sales demo, it's not exciting to scope, and a lot of vendors treat it as a weekend task — run a CSV import script and move on. That assumption is usually where the timeline starts slipping.
Why It Gets Skipped in Planning
Scoping conversations tend to focus on what the new system will do, not on the condition of the data feeding it. That gap shows up consistently once the project actually starts:
- Legacy data was structured for a different system's logic, not the fields the new ERP expects
- Information lives in several places at once — an old accounting package, spreadsheets, paper files, someone's inbox
- Nobody has audited the data for duplicates, inconsistent units, or outdated records in years
- "We'll just export everything" turns out to mean thousands of rows nobody wants to touch
What Migration Actually Involves
Done properly, migration is not a single import — it's a sequence of steps, each of which can surface problems that need a human decision, not just a mapping rule.
- Extract data from every source system, including the ones nobody remembers to mention
- Clean and deduplicate — merge customer records, standardize units, fix broken references
- Map fields to the new system's structure, deciding what doesn't have a home and what gets dropped
- Run a test import into a sandbox and have the actual users check it, not just IT
- Reconcile totals against the old system before trusting the new numbers
- Freeze the old system, run the final import, and validate again before go-live
The Data That Causes the Most Pain
Not all data is equal in difficulty. A handful of categories account for most of the delays we see, typically because they carry business logic, not just values.
- Open invoices, credit notes, and outstanding balances — get these wrong and the finance team stops trusting the system on day one
- Inventory quantities and valuation, especially when the old system used a different costing method
- Bills of materials and routings for manufacturers, which often exist only in someone's head or an outdated spreadsheet
- Duplicate customer and vendor records accumulated over years of manual entry
How to Budget for It
As a rule of thumb, migration deserves its own line in the project plan with dedicated time, not a few days tacked onto the end. In our experience, companies that treat migration as a first-class workstream — with a named owner, a data audit before contracts are signed, and at least one full test cycle in a sandbox — go live with far fewer surprises than those who leave it until the final sprint.
The system is only as trustworthy as the data you put into it on day one.
If you're evaluating an Odoo implementation partner, ask them directly how they handle migration and how much time they allocate to it. A vague answer is usually a sign the topic hasn't been thought through — and that's exactly where projects start running late.
If data migration is the part of your ERP project that worries you most, that's worth a conversation before you sign anything. Book a discovery call if you want to explore whether this applies to your business.
