ERP data migration playbook
The hardest part of switching ERPs isn't the new system. It's the data. Most projects underestimate this by 3-5x.
"Data migration" sounds technical. In reality 70% of the work is non-technical: deciding what stays, what goes, what gets normalized.
What needs to happen before migration:
- Customer deduplication. "ACME Corp", "Acme Inc.", "ACME LLC" — same or different? Resolve manually or by tax ID.
- SKU normalization. Trailing spaces, mixed-case, multiple units of measure for same item. Clean before, not after.
- Period close. Don't migrate 5 years of transactions. Migrate balances at cutover plus current year activity.
- Chart of accounts mapping. Old GL and new GL never map 1:1. Build a translation table.
- Hidden references. Custom fields, attached files, audit trails — find and decide before, not after.
What breaks migrations in production:
- Implicit logic in the old system (database triggers, custom code, validations) that nobody documented.
- Decimal precision differences — old system rounds at 4 places, new at 2. Pennies pile up.
- Currency exchange rates at migration date — even small variations affect balance sheets.
- Documents (POs, invoices) without their original PDF attachments.
Always run parallel for 30 days minimum. Even with a perfect plan, this surfaces 5-10 issues that didn't show in test loads.