Skip to main content

Switching software without losing your data

A migration checklist: what to export and in what format, what never migrates cleanly, how long to run both systems in parallel, and an hour-by-hour plan for cutover day.

Guide6 min readAnyone replacing a system that already holds live records

The whole thing is on this page. No email, no download, no wait.

Switching software without losing your data

Four Avance — https://fouravance.com/resources/switching-software-without-losing-data — updated 2026-08-31

Nobody plans a migration badly on purpose. It goes wrong because the work is invisible until it is urgent: the export nobody tested, the attachments that turned out to be file paths, the balances that were migrated as invented historical transactions, the parallel run everyone quietly abandoned on day four.

This is the sequence that avoids most of it. It applies whether you are moving between two vendors, off a spreadsheet, or off paper.

Rule one: prove the export before you sign anything new

The whole migration rests on getting your data out of where it is now. Establish that first, in writing, while you are still a paying customer of the old vendor and therefore still interesting to them.

  • Request a full export of every table in CSV or XLSX. Not a PDF report pack, which is a picture of your data rather than your data.
  • Request attachments as actual files, in an archive, with a manifest mapping each file to the record it belongs to.
  • Ask whether the audit trail — who changed what, when — can be exported at all. Often it cannot. Better to know now.
  • Ask how long your data is retained after you cancel, and how long you have to retrieve it. Get a number of days.
  • Ask whether any of this carries a fee.
  • Get a named person and a date, by email.

What migrates cleanly, and what never does

WhatThe realityWhat to do about it
Master lists — patients, students, staff, customers, itemsStraightforward column mapping. The only real work is de-duplication.Clean duplicates before the export, in the old system, where the people who can tell two records apart are still looking at familiar screens.
Outstanding balancesThe numbers move across. The story behind them does not.Migrate each balance as a single dated opening entry. Do not fabricate historical transactions to make a balance add up.
Transaction historyNumbering series, tax treatment and record structure differ between systems. Rebuilt history is usually wrong in small ways that only surface during an audit.Migrate a summary. Keep the old system read-only, or keep a full export archived, for as long as your accountant says you must retain records.
Attachments and scanned documentsExports frequently contain a file path or an ID, not the file.Ask specifically for the files themselves, with a manifest. Then open ten of them at random before you accept the export.
Configuration — templates, permissions, rules, report layoutsEntirely vendor-specific. There is no interchange format and there never will be.Budget time to rebuild it, and use the opportunity to write down what you actually use. It is usually a fraction of what exists.
Audit trailRarely exportable in a form another system can ingest.If you are in a regulated activity, keep the old system accessible rather than pretending the trail came across.
IntegrationsEvery one has to be rebuilt and re-authorised. None of them migrate.List them now: payment gateway, messaging sender, accounting, attendance devices, lab or diagnostic machines, anything printing.

Clean the data before you move it, not after

  • De-duplicate in the old system. Merging two records is a decision that needs a human who recognises the names.
  • Standardise phone numbers to one convention, including the country code. This is the field every later feature depends on, and the one most likely to be a mess.
  • Standardise names: one spelling, one casing, initials handled the same way throughout.
  • Define what "inactive" means, mark those records, and decide whether they migrate at all.
  • Delete test records, staff-created dummy entries and the one customer called "asdf".
  • Agree the unique key — the one field that identifies a record across both systems. Every reconciliation afterwards runs on it.

The parallel run

Running both systems side by side is the only honest test, and it costs real staff time on top of a normal working day. So make it short, make it narrow, and make one named person accountable for the comparison.

  • Choose a period that includes at least one full billing cycle and one month-end close. A parallel run that never sees a close has tested nothing.
  • Narrow the scope: one department, one counter, or one class of transaction entered into both. Do not attempt everything.
  • Compare a small number of figures daily — the day's total collection, the count of transactions, and the closing balance. Three numbers checked every evening beats a full audit nobody does.
  • Keep a written defect list with an owner and a severity against each item. Verbal defects get forgotten by Thursday.
  • Agree in advance what "good enough to cut over" means, in numbers, so the decision is not made on the mood in the room.

Cutover

WhenWhat happensWho
Two weeks beforeFinal export taken and test-loaded. Sample of records checked by someone who knows them personally. Rollback trigger agreed in writing.Whoever owns the project, with the old vendor on notice.
One week beforeStaff trained on the screens they will actually use, not on a full tour. Paper fallback printed. Customers or parents warned that a specific day will be slower.The person who will be on the floor on day one.
The day beforeOld system frozen at a stated time. Final delta export taken and loaded. Balances reconciled against the frozen system and signed off.Accounts, plus whoever signs.
Cutover morningNew system opens. One person on the floor doing nothing else. The rollback decision-maker is present and reachable.Named in advance, not chosen that morning.
Through the dayDefects written down, not debated. Anything not blocking goes on the list; only blockers get fixed now.Floor lead.
End of day oneDay-end run. Collection counted against the system. Difference explained before anyone goes home.Accounts.
Next morningFifteen-minute review of the defect list. Decide what is fixed today, this week, or never.Everyone involved.

The first thirty days

  • Keep the old system available and read-only. Resist every request to "just enter this one there".
  • Delete nothing. Retention periods are set by your accountant and by your regulator, not by a software migration.
  • Reconcile at day seven and again at day thirty, against the frozen closing figures.
  • Keep the defect list alive and visible. A closed defect list after a week means people stopped reporting, not that everything works.
  • Put the decommission decision in the diary as a dated meeting. Old systems otherwise stay licensed for years because nobody was willing to be the one who said stop.

The rollback you hope not to use

  • Define the trigger before cutover: what specifically would make you go back? Write it as a sentence, not as a feeling.
  • Name who decides, and make sure that person is not the one who chose the new vendor.
  • Know what would have to be re-entered into the old system, and how long that takes.
  • Keep the old system licensed until the rollback window closes — and decide that date in advance.

Written down like this, a rollback plan looks pessimistic. In practice it is the thing that lets everyone stay calm on day one, because the worst case has a name, an owner and a procedure instead of being an unspoken fear in the room.

See how we answer the migration questions

Take it with you

You have already read the whole thing — there was nothing behind a form, and there isn't one now. These two buttons are conveniences, not conditions.

Prints as a plain sheet — the checklist, its sources, and where it came from. The site navigation, buttons and this box are left off.

Guide

Got stuck on one of these?

Send us the questions you could not answer. We will tell you which ones software actually solves, which are process problems no product will touch, and where our own answer would be a bad fit for you.