Ask anyone who has been through an ERP project what went wrong and the answer is rarely the software. It is the data: customers entered three times with three spellings, stock quantities nobody trusts, opening balances that do not agree with the bank. A new ERP will faithfully reproduce whatever you give it, so migration is where a project is won or lost. This guide walks through it in the order you will actually do it.

1. Decide what moves, and what does not

Not everything in the old system deserves a place in the new one. Split your data into three groups:

GroupExamplesApproach
Master dataCustomers, suppliers, items, price lists, chart of accounts, employeesClean and migrate fully
Open transactionsUnpaid invoices and bills, open orders, stock on hand, post-dated chequesMigrate at the cutover date and reconcile
HistoryClosed invoices, old orders, past years of ledgersSummarise or keep in an archive you can query; migrate only what users truly need

Moving ten years of history rarely pays back. Keep the old system read-only for lookups, and bring over opening balances plus the last full financial year if reporting needs it.

2. Clean before you copy

  1. Remove duplicates. Match customers and suppliers by tax registration number, phone and name. Merge them in the old system or in a staging sheet, never after loading.
  2. Fix names and addresses. Decide how company names appear in English and, where you need it, in Arabic. Standardise emirate, area and country values.
  3. Check tax data. Registration numbers present for every VAT-registered customer and supplier, and valid in format. Mark zero-rated, exempt and standard-rated items consistently.
  4. Normalise items. One unit of measure per item with conversions where needed, unique codes, no duplicate descriptions, categories that make sense for reporting.
  5. Retire dead records. Customers with no activity for years, items you no longer sell and suppliers you no longer use stay out.

3. Map old fields to new

For each record type, write a mapping sheet: old field, new field, transformation rule and who owns the decision. Typical rules: split a combined name field, convert a status code to a new status, set a default tax treatment, translate payment terms. Anything that does not map is either dropped on purpose or added as a new field. Get the department that owns the data to sign off the mapping, not only the project team.

4. Run three trial migrations

  • Trial 1: find the errors. Load into a test system and list rejects: missing mandatory fields, invalid tax numbers, unit mismatches.
  • Trial 2: reconcile. Load the cleaned data again and compare totals against the old system (see below). Fix the mapping until differences are explained.
  • Trial 3: rehearse the cutover. Time the full load, including the steps people have to do by hand. This tells you how long the weekend really takes.

5. Reconcile like an auditor

  1. Trial balance: opening balances per account agree with the final old-system trial balance on the cutover date.
  2. Receivables and payables: the total and each customer or supplier balance agree, and every open invoice has its original date and due date.
  3. Stock: quantity and value per item and warehouse agree with the latest count. If they do not, run a count before migration, not after.
  4. Bank and cash: balances agree with bank statements; post-dated cheques are loaded with bank, number and date.
  5. Tax: the VAT position at cutover is documented, and the cutover date aligns with a VAT period boundary where possible so one return does not span two systems.
  6. Counts: number of customers, suppliers and items migrated equals the number approved.

6. UAE specifics that bite

  • Several legal entities: a mainland company and a free zone company must have separate ledgers, numbering and tax settings from day one. See software for free zone companies.
  • Multi-currency balances: migrate foreign-currency invoices in their original currency with the original exchange rate, and revalue at the cutover rate.
  • Arabic text: test that Arabic names, addresses and item descriptions survive the export, import and printing.
  • Document numbering: keep sequences for invoices continuous across systems, or document the change.

7. The cutover plan

  1. Announce a freeze: no new transactions in the old system after a set time.
  2. Take a full backup of the old system and keep it unchanged.
  3. Run the final load and reconciliation, with named people checking each report.
  4. Hold a go or no-go decision with agreed criteria.
  5. Go live, with the project team on hand for the first days.
  6. Keep a documented way back for the first week. If reconciliation fails badly, you return to the old system and retry.

After go-live, review the first month-end closely and fix data issues as they appear. Our ERP implementation checklist and the complete ERP guide for the UAE place migration in the wider project, and ERP user adoption and training covers what happens next.