Structure, people, history, documents — in that order
Structure first
Divisions, sites, cost centres and reporting lines before anything else, because a flattened hierarchy breaks every access rule and approval chain built on top of it.
People, then history
The employee master arrives clean before any transactional history is loaded against it — one record per person, with no duplicates carried over from the source.
Documents last
Contracts, ID proofs, certificates and payslips bulk-loaded against the right employee record with categories applied, rather than dumped as one unsorted folder.
The step most migrations skip
A migration is only finished when the new system produces the same numbers as the old one. That sounds obvious and is routinely skipped, because reconciliation is slow and the go-live date is fixed. The result is an HR team quietly running the old spreadsheet alongside the new system "just to be safe" — which means the migration never actually completed.
We reconcile at each stage against reports you already trust: headcount by department, leave balance totals, last month's salary register. Discrepancies get resolved before the next stage loads on top of them, because an error in the employee master becomes an error in every module that reads it.
Where a figure genuinely cannot be reconciled — a leave balance that was wrong in the source, a salary component that never added up — we surface it rather than importing it quietly. Migration is often the first time an organisation sees its own data clearly.
