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:
- Chart of Accounts — the foundation.
- Items — a week later.
- Customers — a week after.
- Suppliers — same time.
- Employees — for HR.
- 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:
- UAT: on real data.
- Report comparison: old system vs new. Must match.
- E-invoicing test: on sandbox.
- Integration test: POS, store, SMS.
- 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
| Week | Task |
|---|---|
| -4 | Clean data in old system |
| -3 | Migrate chart of accounts + items + customers + suppliers |
| -2 | UAT + testing |
| -1 | Freeze data (no edits in old) |
| 0 (Go-Live) | Migrate opening balances + go live |
| +1 | Intensive 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.