GuideCustom software projects

How to Plan Data Migration and Reconciliation

By Alpha Expansion8 minute readReviewed October 2026
The short answer

Data migration moves your records from an old system to a new one, and reconciliation proves they arrived complete and correct. Plan it as its own project inside the larger one: decide what moves and what is archived, clean the data at its source, write a field-by-field mapping, rehearse the whole move several times, compare counts, totals and samples after each run, and fix a cutover plan with a way back.

Key points
  • 01Migration is a project of its own and needs an owner from the business
  • 02Rehearse the full move more than once before the real one
  • 03Reconciliation is evidence: counts, totals and samples signed off by a person
01

Why data migration goes wrong

Migration is usually planned last and discovered to be hard at the worst moment. The new system is built and tested with tidy sample data. Then the real data arrives, with its duplicates, missing fields, retired codes and free-text notes holding information that should have been structured. Go-live slips, or happens with errors that take months to find.

The remedy is to treat the move as a workstream that starts with the project, has its own plan and is owned by someone in the business who knows what the data means. Developers can move data. Only the people who use it can say whether it is right.

02

Decide what moves, what is archived and what is left

Kind of dataUsual decisionQuestion to settle
Master data: customers, suppliers, items, staffMove, after cleaningWhich records are active? Who resolves duplicates?
Open transactions: orders, invoices, jobs in progressMove, in their current stateWhat is the cut-off, and how are part-finished items handled?
Closed historyMove a recent period, archive the restHow far back do people really look, and what must be kept by law?
Documents and attachmentsMove those linked to moved recordsWhere are they stored, and are the links reliable?
Balances and totalsMove as opening figuresAgreed with finance, as at the cut-off date
Users and permissionsRecreate, do not copyA good moment to remove accounts nobody uses
Configuration and reference listsRebuild in the new systemOld codes rarely fit a new structure

Retention periods for financial, employment and customer records are set by law and differ by country. Confirm yours with your accountant or legal adviser before deciding what to leave behind, and keep the archive searchable.

03

Profile the data, then clean it at the source

Profiling means measuring what is really in the old system before making plans. How many records of each kind? How many have an empty required field, an impossible date, a code that no longer exists? How many customers appear twice? The results are always worse than expected, and knowing early turns a crisis into a task list.

  1. 01

    Measure

    Run counts and quality checks on every table in scope, and share the findings with the business owner.

  2. 02

    Decide rules

    For each problem, agree a rule: merge duplicates by which key, fill missing values with what, drop records older than when.

  3. 03

    Clean in the old system where possible

    Corrections made at the source benefit daily work now and survive every rehearsal. Corrections made in a script must be repeated and maintained.

  4. 04

    Assign the work

    Much cleaning needs human judgement. Give named people a list and a deadline, well before cutover.

04

Write the mapping, field by field

The mapping document states, for every field in the new system, where its value comes from and how it is transformed. It is tedious and indispensable, because it is the only place where the business can review what will happen to its data before it happens.

  • Source and target. Each target field with its source field, or the rule that derives it.
  • Transformations. Splitting a name, converting units, translating old codes to new ones, reformatting dates and phone numbers.
  • Defaults. What a field receives when the source is empty, agreed with whoever relies on it.
  • Rejections. What makes a record unfit to load, and where rejected records go for review.
  • Identifiers. Keep the old identifier on each new record. It is what makes reconciliation, and later questions, answerable.
  • Order of loading. Customers before their orders, items before their stock.
05

Rehearse the whole move

A migration that has never been run in full will not work the first time. Plan at least three complete trial runs into a test copy of the new system, each using a fresh extract of real data.

The first run finds the mapping errors. The second proves the fixes and measures how long the move takes, which decides how much downtime to plan. The third should be a dress rehearsal of cutover, performed by the people and in the sequence planned for the real day, followed by users testing their own work on the migrated data. Continue rehearsing until a run completes with no surprises.

06

Reconcile: prove that the data arrived

CheckWhat is comparedCatches
Record countsNumber of records per type, old against new, with rejections explainedRecords dropped or loaded twice
Control totalsSums that matter: balances, stock quantities and values, open order amountsWrong amounts, lost decimals, currency or unit errors
Field-level samplesA random set of records checked field by field against the sourceMapping and transformation mistakes
Relationship checksEvery order has a customer, every line an itemBroken links between records
Business scenariosUsers perform real tasks on migrated recordsData that is present but unusable
Reports side by sideA key report run in both systems as at the cut-offDifferences nobody thought to test

Each check should produce a short written result that a named person signs. Differences are either corrected or explained and accepted. That record is what allows finance, auditors and management to trust the new system from its first day.

07

A worked example

Illustrative example

Moving a wholesaler to a new order system

This example is invented to show the sequence and the kind of findings to expect. A wholesaler is replacing an old order and stock system.

  • ScopeActive customers and items, open orders, stock on hand and two years of invoices move. Older history stays in a read-only archive.
  • ProfilingOf 9,400 customer records, 2,100 have had no order in five years and 380 are duplicates. The sales office spends three weeks merging and marking inactive records in the old system.
  • First rehearsalStock value in the new system is lower than in the old. The cause is a unit conversion: some items are stocked in boxes and sold singly. The mapping is corrected.
  • Third rehearsalCounts match, stock value matches to the cent and open order totals match. The move takes five hours. Warehouse staff pick ten real orders in the test system without difficulty.
  • CutoverOrder entry stops on Friday evening. The move runs overnight, finance signs the control totals on Saturday morning and the business opens on Monday in the new system.

The unit error found in the first rehearsal would have misstated stock on day one. Rehearsal turned it into a line in a mapping document.

08

Plan the cutover and the way back

  1. 01

    When does work stop in the old system?

    What to decideA freeze time after which nothing is entered, announced well ahead.

  2. 02

    Who does what, in which order?

    What to decideA runbook with owners and expected durations, proven in the dress rehearsal.

  3. 03

    What must be true to go ahead?

    What to decideReconciliation thresholds agreed in advance, so that the decision at the end of a long night is not a matter of opinion.

  4. 04

    How do you go back?

    What to decideThe old system kept intact and a decision deadline. After users begin entering new data, going back becomes far harder.

  5. 05

    What about work done during the move?

    What to decidePaper forms or a holding spreadsheet for anything that cannot wait, entered afterwards by a named person.

  6. 06

    How long is the old system kept?

    What to decideRead-only, for reference, for an agreed period.

09

Migration and reconciliation checklist

Data migration checklist

0 of 11 checked
10

What to do next

Run the counts. Ask for the number of records in each main table of your current system, and how many of them have been touched recently. That one report usually reshapes the scope and shows where cleaning should begin.

Our data migration page explains how we plan and run these moves. If the migration is part of replacing an older system, the guide to planning a legacy software modernization project covers the wider plan. You can also tell us what you are moving.

11

Common questions

How long does a data migration take?

The move itself may take hours. The preparation takes far longer, and depends on how many kinds of data are in scope and how clean they are. Profiling, cleaning, mapping and rehearsals should run alongside the build of the new system from the start. Projects that begin migration work only when development ends are the ones that slip.

Should we migrate all our historical data?

Rarely. Old history carries old errors, lengthens every rehearsal and often does not fit the new structure. Move what people use in daily work and what the law requires to be available, and keep the rest in a searchable archive. Ask users how far back they really look. The honest answer is usually much shorter than the first one.

Who is responsible for data quality in a migration?

The business that holds the data. A development company can profile it, report problems, apply agreed rules and move it accurately. It cannot know which of two duplicate customers is the real one. Name an owner on your side with the authority to decide, and give the cleaning work to people who know the records.

What is the difference between validation and reconciliation?

Validation checks that each record meets the rules of the new system as it is loaded: required fields present, formats correct, references valid. Reconciliation compares the new system with the old after loading, to prove that everything expected arrived and that totals agree. You need both, since data can be perfectly valid and still be incomplete.

Can we run the old and new systems in parallel instead?

A short parallel period is a useful safeguard, with both systems processing the same work and results compared. Long parallel running is costly, because every transaction is entered twice and staff quickly favour one system. Use it for a defined period on the areas of highest risk, with a clear date on which the old system becomes read-only.

Next

Where to go from here

Next step

Send us your project brief

A page of notes is enough. We read it, tell you what we would ask, change or cut, and suggest a sensible first step. The scoping conversation is free.

Response within 24 hoursFree consultation and scopingNDA available on request

Premium digital product and engineering studio. We build high-performance web platforms, SaaS applications, mobile apps, and 3D experiences for high-growth companies.

Alpha Expansion is a premium digital product and engineering studio specializing in React development, Next.js development, full-stack development, mobile app development, UI/UX design, and 3D interactive experiences.

We serve industries including SaaS, FinTech, Healthcare, E-commerce, Logistics, and Real Estate.