All articles

ERP11 min read

ERP Data Migration Checklist: Cleansing, Mapping, Cutover and Reconciliation

An ERP data migration checklist is a working document, not a reading list. This one gives copyable tables for scope, cleansing, field mapping, trial loads, reconciliation, the cutover run-sheet and go/no-go criteria, with an owner and evidence column for each line.

Written byUsama AsifPublished

An ERP data migration checklist has five working parts: a scope list that says what moves and what is archived, cleansing rules with owners, a field mapping sheet, a reconciliation matrix that proves each load, and a cutover run-sheet with go/no-go criteria. Each line needs an owner, a due date and evidence of completion, otherwise it is a wish list.

Our guide to the ERP data migration plan explains the eight steps of a migration and why they matter. This article is the companion working document: tables you can paste into a spreadsheet, fill in and track. It applies whether you are moving to a packaged ERP, a cloud ERP or a custom system, and whether the source is an old ERP, an accounting package or a set of spreadsheets. If you want a team to run the migration, see our ERP migration services. For the wider rollout, see ERP implementation services.

How to use this checklist

  1. Copy each table into one workbook, one tab per section.
  2. Add three columns to every row: Owner (a named person, not a department), Due date and Evidence (a link to the report, ticket or sign-off).
  3. Review the workbook weekly in the project meeting. A row is closed only when the evidence exists.
  4. Keep the workbook under version control or in a shared drive with history, because auditors and your future self will ask what changed.

Section 1: Scope and inventory

#CheckDetail
1.1List every source systemERP, accounting package, spreadsheets, CRM, warehouse tools, payroll exports
1.2List data objects in scopeCustomers, suppliers, items, bills of materials, price lists, chart of accounts, open orders, open invoices, fixed assets, employees, balances
1.3Decide migrate, summarize or archive for each objectMigrate active and open records; summarize closed history as balances; archive the rest in a readable form
1.4Set the history windowFor example the current and prior financial year in detail; older years as totals; agreed with finance and auditors
1.5Fix the cutover datePrefer the start of a period, never in the middle of a month-end close
1.6Freeze policyAgree when users stop creating records in the old system and how late entries are handled
1.7Name a data owner per objectThe business person who can say whether a record is right
1.8Record volumesRows per object; used to plan load time and rehearsal length
1.9Identify regulated or personal dataDecide masking for test environments and retention periods

Section 2: Profiling and cleansing

Profile before cleaning so you fix by rule, not by hand.

#CheckDetail
2.1Profile each objectCount records, blanks, duplicates, out-of-range values, orphans (invoices with no customer)
2.2Define a duplicate ruleFor example same tax number or same normalized name and postcode; the rule is signed off by the data owner
2.3Define active versus inactiveFor example no transaction for 24 months and zero balance; inactive records are archived, not migrated
2.4Standardize formatsDates, phone numbers, country codes, units of measure, currency codes
2.5Fix at the source where possibleClean in the old system so every trial load benefits; keep a change log
2.6Resolve negative or impossible valuesNegative stock, invoices without lines, balances that do not agree to the ledger
2.7Complete mandatory fieldsList new ERP mandatory fields that the old data lacks and decide default or manual entry
2.8Record rejected recordsEvery excluded record has a reason and an owner

Section 3: Mapping sheet

Create one row per target field. This is the document developers build from and auditors read.

Source systemSource table / fieldTarget object / fieldTransformation ruleDefault if blankValidationOwner
Old ERPCUST.CUST_NAMECustomer.NameTrim spaces; title casenone; reject if blankMax 120 charactersSales ops
Old ERPCUST.TERMSCustomer.PaymentTermsMap old code 30D to Net 30 (lookup table)Net 30Must exist in target listFinance
SpreadsheetItems.xlsx col FItem.UnitOfMeasureMap PCS, Pc, pieces to EAEAMust exist in target listWarehouse
Old ERPGL.BALANCEOpeningBalance.AmountSum by account and period end; sign reversed for liabilities0Trial balance equals sourceFinance

Mapping checks:

  • Every target mandatory field has a source or a default.
  • Every source field is mapped, deliberately ignored, or archived, with the decision recorded.
  • Lookup tables (payment terms, tax codes, units, warehouses) are signed off by their owners.
  • Identifiers: decide whether old IDs are kept as a legacy reference field. Keeping them makes later queries and reconciliation much easier.
  • Currency and rounding rules for multi-currency balances are written down.

Section 4: Trial loads

#CheckDetail
4.1Build repeatable load scriptsSame inputs give the same results; scripts are under version control
4.2Load into a test environmentNever rehearse in the live environment
4.3Run trial 1Expect many errors; the aim is a list of defect categories
4.4Run trial 2Defects from trial 1 fixed; errors should drop sharply
4.5Run a timed dress rehearsalFull volume, full run-sheet, timed per step; staff who will run cutover do the work
4.6Record load timesThese set the length of the cutover window
4.7User acceptance on migrated dataBusiness users search for records they know and check them

Plan at least two trial loads and one timed dress rehearsal. Fewer is a risk you should accept knowingly and in writing.

Section 5: Reconciliation matrix

Run these after every load, and keep each report.

ObjectCheckSource valueTarget valueDifferenceSigned off by
CustomersRecord count (active)Sales ops
SuppliersRecord count (active)Purchasing
ItemsRecord count; count with valid unit and priceWarehouse
StockQuantity and value by item and locationWarehouse and finance
AccountsTrial balance by account at the cutover dateFinance
ReceivablesOpen invoice total and ageing by customerFinance
PayablesOpen bill total and ageing by supplierFinance
Open ordersCount, value and status distributionOperations
Fixed assetsCost and accumulated depreciationFinance
Spot checks25 random records per object compared field by fieldData owner

Rules: a difference must be zero or explained and approved in writing; financial totals are matched to the cent or smallest currency unit; counts are matched exactly.

Section 6: Cutover run-sheet

TimeStepOwnerDuration (from dress rehearsal)Check
T-5 daysFinal trial load and reconciliation sign-offMigration leadReports filed
T-2 daysConfirm access, licences, support contactsProject managerChecklist ticked
T-1 dayCommunicate freeze to usersBusiness ownerAcknowledged
T-0Freeze old system; take verified backupIT leadBackup restores
T+1Extract final dataMigration leadRow counts logged
T+2Load into productionMigration leadNo fatal errors
T+3Run reconciliation matrixFinance and data ownersAll lines signed
T+4Smoke-test key transactions (sale, purchase, payment, stock move)Key usersPass or fail logged
T+5Go/no-go decisionSteering ownerCriteria met
T+6Open the new system; set old system to read-onlyIT leadAccess changed

Adjust the clock to your own dress-rehearsal timings; the sequence matters more than the labels.

Section 7: Go/no-go criteria and rollback

Write the criteria before the weekend, not during it.

  • All reconciliation lines are signed off, or each difference is explained and approved by finance.
  • Smoke tests for the five most important transactions pass.
  • Key users are present and trained.
  • Support contacts for the ERP vendor or implementer are on call.
  • The old system is intact, read-only and ready to reopen.

Rollback needs a trigger (which failed check forces it), a decision-maker (one named person), a method (reopen the old system, discard or quarantine the new entries) and a communication plan. Record how transactions entered after go-live would be re-keyed if you roll back; if that is impractical after a certain time, state the point of no return.

Section 8: Hypercare

#CheckDetail
8.1Daily reconciliation for the first two weeksStock, cash, receivables and payables
8.2Issue log with severity and ownerReviewed daily
8.3Keep the old system read-onlyFor the retention period your auditors and policy require
8.4First period-end close in the new systemFinance reviews the first close line by line
8.5Lessons learnedRecord what the rehearsals missed

Common reasons checklists fail

  • No owners. Items assigned to "IT" belong to no one.
  • Cleansing deferred to after go-live. Dirty data moves faster than anyone cleans it afterwards.
  • Reconciliation only at the end. Run it after every trial load.
  • Mapping lives in someone's head. It must be a document.
  • Cutover timed by guesswork. Use dress-rehearsal durations.

Who can run this migration with you

Timeline Digital is a custom software development company founded in 2013 and headquartered in Islamabad, Pakistan. Our ERP migration services cover profiling, cleansing support, mapping, scripted trial loads, reconciliation reports and a rehearsed cutover for a custom, packaged or cloud ERP; the scripts and mapping documents transfer to you on full payment. There is no fixed timeframe: the schedule is set from your requirements in the Plan step. The free pilot of 2 to 3 key modules is ready in about 2 days, and with 1,200+ developers we have the capacity to deliver a complete system in as little as 2 weeks. The full project starts after you approve the pilot, and the scope, milestones and terms are agreed after it. Long-term support under a service level agreement (SLA) follows launch. Timeline Digital does not publish prices for custom software, because every project is custom.

About the author and publisher

This guide was written by Usama Asif, CEO and CTO of Timeline Digital. The example rows are illustrations of the format, not recommendations for your data; your auditors and finance team decide history windows and balance rules.

Frequently asked questions

What should an ERP data migration checklist include?

Scope and history window, cleansing rules with owners, a field-by-field mapping sheet, repeatable load scripts, at least two trial loads and a timed dress rehearsal, a reconciliation matrix, a cutover run-sheet, go/no-go criteria, a rollback plan and a hypercare plan. Each line needs an owner and evidence.

How much history should I migrate into a new ERP?

Most companies migrate master data, opening balances, open transactions and the current plus prior financial year in detail, then summarize or archive older history in a readable form. Finance and auditors should agree the window before the mapping starts.

How many trial migrations are enough?

Plan at least two trial loads plus one timed dress rehearsal at full volume. The first trial exposes categories of defects, the second proves they are fixed and the rehearsal sets the length of the cutover window.

What is a reconciliation matrix?

It is a table that compares the source and the target for each data object: record counts, stock quantity and value, trial balance by account, open receivables and payables, open orders and random spot checks. A difference must be zero or explained and approved in writing before go-live.

Who should own the data during migration?

A named business person for each object, for example finance for balances and the warehouse lead for items and stock. Developers load the data; the owners decide whether it is correct and sign off the reconciliation.

What happens if the cutover fails?

The rollback plan applies: a named decision-maker invokes it when a defined check fails, the old system is reopened from its read-only state and users are told. Plan how transactions entered in the new system will be re-keyed, and state the point after which rolling back is no longer practical.

Topics in this article

  • ERP Data Migration
  • ERP Migration Checklist
  • Data Cleansing
  • Reconciliation
  • ERP Cutover
  • ERP

Start a conversation

Tell us how your business works.

Describe what is slowing your team down. We will help you work out what to build, and how a free pilot lets you judge our work before the full project.

Prefer WhatsApp? Start a chat

What happens next

  1. You send a short brief

    The problem, the people involved and any target date. A senior engineer replies within 4 business hours.

  2. We understand your workflow

    A first call about how your business works today. An NDA can be signed before you share details.

  3. You test a free pilot

    You choose 2 to 3 key modules and we build them first, so you judge real software before the full project.