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.
Straightforward 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 balances
The 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 history
Numbering 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 documents
Exports 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.
Entirely 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 trail
Rarely 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.
Integrations
Every 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
When
What happens
Who
Two weeks before
Final 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 before
Staff 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 before
Old 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 morning
New 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 day
Defects written down, not debated. Anything not blocking goes on the list; only blockers get fixed now.
Floor lead.
End of day one
Day-end run. Collection counted against the system. Difference explained before anyone goes home.
Accounts.
Next morning
Fifteen-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.
Thirty-five questions to ask any software vendor before you sign — data residency, exit and export, the pricing traps, invoice compliance, and who actually answers at 9pm. Written to be useful even if you buy from someone else.
Owners, operations leads and finance managers evaluating a vendor
What to have in place before you digitise a clinic: numbering, registers, who is allowed to do what, tax details and the records you already hold. Settle these before the software arrives and the rollout stops waiting on decisions nobody has made yet.
Clinic owners, administrators and front-desk leads
Read
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.