Contact history is the most valuable asset in the old system. How to carry it over: inventory, mapping, trial migrations and acceptance criteria.
A new CRM with an empty database is not an implementation — it’s a restart. The system’s value sits in the history: who talked to whom, what was offered, why a deal was lost. Data migration is the stage where that history gets carried over — or lost for good.
Four steps we always take
- Source inventory — the old CRM, spreadsheets, mailboxes, salespeople’s notes. A list of everything meant to land in the new system, with a quality assessment.
- Field mapping and deduplication — decisions like “what is a company, what is a branch”, merging duplicates, assigning record owners. Decisions made here cannot be cheaply undone later.
- Trial migrations — at least two, on an environment copy, with number verification: input records vs. loaded vs. rejected, with rejection reasons.
- Production migration with a control window — run to the script from the trials, with a change freeze in the old system and an acceptance checklist.
A salesperson who fails to find their customer’s history once stops trusting the whole system. Trust in data is lost exactly once.
What not to migrate
Not everything deserves the trip. Contacts dead for years, empty notes, attachments without context — ballast that slows the system down and muddies reports. Deciding what stays in the archive is part of the mapping.
Acceptance criteria
The migration is done when the control numbers add up, a sample of records passes manual review by people who know the customers, and reports on the new data give the same totals as on the old. Without those three points, go-live is a lottery.