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.

ERP data migration playbook

"Data migration" sounds technical. In reality 70% of the work is non-technical: deciding what stays, what goes, what gets normalized.

ERP data migration playbook
Migration funnel — most work happens before the actual move.

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.