Migration is an accounting and operating exercise as much as a technical one. A successful import is not simply a file that uploads; it is a dataset that users trust and can reconcile to its source.
Separate master data from opening activity
Master data includes customers, vendors, items, units, warehouses and accounts. Opening activity includes unpaid invoices, supplier balances, stock quantities and ledger balances at the chosen cutover date.
Keep these groups separate because they need different owners and verification methods. Operations should validate items and stock locations, while finance should approve financial opening values.
Clean identifiers before values
Duplicate customers and inconsistent item codes cause later totals to fragment. Standardise names, phone numbers, email addresses, units, tax identifiers and location labels before reviewing transaction values.
- Preserve the original export without editing it.
- Record every transformation applied to the working file.
- Use stable keys rather than row positions to match records.
Reconcile a trial import
Import a representative subset and compare record counts, skipped rows, failures and control totals. Include difficult examples such as missing optional fields, duplicate contacts and items with multiple units.
Only schedule the final import after the trial has an agreed reconciliation. Keep a signed-off snapshot of the source data and final totals for later audit.