Data Migration is the riskiest phase of any ERP project. Done right, the system works from day one. Done wrong, you'll spend months fixing.

From 30+ migration projects, here are 5 rules to follow.

Rule 1: Clean your data before migration

Old data has errors. Migrate as-is, and you transfer errors to the new system. Before migration:

  • Duplicate customers: merge accounts.
  • Items with no sales: remove items unsold for 2 years.
  • Negative balances: find cause, fix.
  • Missing data: complete basics (barcode, unit, category).
  • Customers without tax ID: required for e-invoicing.

Rule: if an item hasn't been logged in a year, delete it.

Rule 2: Start with master data, not transactions

Correct migration order:

  1. Chart of Accounts — the foundation.
  2. Items — a week later.
  3. Customers — a week after.
  4. Suppliers — same time.
  5. Employees — for HR.
  6. Opening Balances — last.

Each phase takes a week. Not the weekend before go-live.

Rule 3: Go-Live with opening balance, not history

Two approaches:

  • Historical migration: transfer 5 years of transactions. Common mistake. Takes months, has errors.
  • Opening balance: transfer balances at a specific date. The right way.

Opening balance includes:

  • Inventory balances (qty + value).
  • Customer balances (receivables).
  • Supplier balances (payables).
  • Bank and cash balances.
  • Fixed assets (book value + accumulated depreciation).

Historical details can go to a data warehouse for analysis, not the operational ERP.

Rule 4: Test on real data

Before go-live:

  1. UAT: on real data.
  2. Report comparison: old system vs new. Must match.
  3. E-invoicing test: on sandbox.
  4. Integration test: POS, store, SMS.
  5. Performance test: with real data volume.

Rule 5: Go-Live at a quiet time

Don't go live:

  • End of month (financial closing).
  • Peak season (Ramadan, New Year).
  • Weekend (if issues, team unavailable).

Right: start at beginning of a quiet week, mid-month.

Practical migration plan

WeekTask
-4Clean data in old system
-3Migrate chart of accounts + items + customers + suppliers
-2UAT + testing
-1Freeze data (no edits in old)
0 (Go-Live)Migrate opening balances + go live
+1Intensive support + monitoring

Case study

Trading client, was on Excel + old accounting software:

  • 2,000 items, 500 customers, 200 suppliers.
  • Cleanup: dropped 30% of items (unsold).
  • Migration: 4 weeks.
  • Go-live: beginning of month.
  • Post go-live errors: under 5 (excellent benchmark).

Bottom line

Data migration = 20% of project, but 80% of risk. Follow the 5 rules, avoid 90% of problems.

Need help migrating your data? We have a specialized team.