Data migration is where many ERP projects lose trust. If users open the new system and find duplicated customers, incorrect stock, missing employee fields or unreconciled balances, they blame the ERP even when the root cause is legacy data.

Do not migrate everything because it exists

Decide what the new system actually needs: active master data, opening balances, open receivables/payables, current stock, active assets and selected history where there is a business case. Old spreadsheets are not automatically valuable historical data.

Assign a business owner to every data set

Finance owns accounting balances, procurement owns suppliers, sales owns customer classifications, warehouse teams own item/stock data, HR owns employee records. IT can transform formats, but it should not decide whether a balance or employee status is correct.

Clean master data before import

  • Remove duplicates and obsolete records.
  • Standardize names, codes and units of measure.
  • Validate tax and contact fields.
  • Map old categories to the new structure.
  • Define mandatory fields.
  • Resolve negative or impossible stock conditions before cutover.

Use controlled templates

Lock the template columns and definitions. Add validation rules and a data dictionary so business teams know what each field means. Version the files instead of emailing multiple unnamed “final-final” spreadsheets.

Run test migrations

Import a sample or full rehearsal before go-live. Test relationships, permissions, reports and transactions using migrated data. Fix the source template and repeat rather than applying manual corrections directly in production.

Reconcile, do not just count rows

Useful reconciliation compares business totals: trial balance, receivables, payables, stock quantity/value, fixed-asset net book value, employee count and leave balances where applicable.

Control the cutover window

Agree when legacy entries stop, who extracts the final data, who approves it and how long the final import/reconciliation takes. Keep a signed cutover checklist and rollback decision point.

Archive legacy data responsibly

Not every historical transaction needs to be imported. Some can remain in a read-only archive if legal and business requirements allow it. The migration decision should balance usability, compliance, cost and performance.

A clean ERP implementation starts with trusted masters and reconciled opening balances. No amount of dashboard design can compensate for data that users do not believe.