Common Mistakes and Official Sources

Migrating to a CRM from spreadsheets or another system: clean-up, mapping and consent data

How to move contacts, deals, notes and consent records into a new CRM: inventory, de-duplication, field mapping, test imports, cutover and an illustrative cost estimate.

Updated · 5 min read

Migrating to a CRM from spreadsheets or another system: clean-up, mapping and consent data

Moving to a new CRM is mostly a data project. The steps are: inventory every source (spreadsheets, email contacts, the old CRM, accounting, e-commerce), decide what to keep, clean and de-duplicate, map fields, including CASL consent type and date, run a test import, check it with real users, then cut over on a set date and freeze the old system. A small business with a few thousand records can usually do this in one to three weeks of part-time work. The most expensive mistakes are importing duplicates, losing consent history and moving data you should have deleted.

This guide is part of CRM mistakes and official sources. Costs below are illustrative.

Step 1: Inventory your data sources

SourceTypical contentCommon problems
SpreadsheetsContacts, leads, follow-up notesSeveral versions, inconsistent columns, merged cells
Email address booksNames, emails, phone numbersPersonal and business contacts mixed
Old CRM or contact managerContacts, deals, activities, attachmentsExport limits, custom fields, notes in odd formats
Accounting softwareCustomers, invoices, addressesBilling contacts rather than decision-makers
E-commerce or booking systemCustomers, orders, consent checkboxesConsent wording not stored
Email marketing toolSubscribers, unsubscribes, bouncesUnsubscribe list must not be lost
Business cards, event listsNames and emailsUnclear consent basis

For each source, note the owner, the number of records, the date of the most recent entry and whether it can be exported to CSV.

Step 2: Decide what to keep

Not everything deserves migrating. Privacy law expects you to keep personal information only as long as needed for the purpose you collected it for, and every record you import may count toward your marketing-contact tier.

  • Keep: active customers, open deals, prospects with recent activity, records needed for warranties, accounting or legal obligations.
  • Keep as non-marketing: past customers whose CASL implied consent has expired but whose history you still need.
  • Keep as suppression only: people who unsubscribed or asked not to be called, so they are never re-contacted.
  • Delete or leave behind: very old prospects with no activity, purchased lists, duplicates, test records.

Step 3: Clean and de-duplicate

  1. Standardise columns: first name, last name, company, email, phone, province, language.
  2. Normalise phone numbers to one format (for example +1 and ten digits) so DNCL scrubbing and diallers work.
  3. Normalise provinces and postal codes; they drive sales tax on quotes and territory rules.
  4. Find duplicates by email, then by phone, then by name and company; decide which record wins.
  5. Remove hard-bounced emails if you have bounce data.
  6. Flag records missing an email or phone rather than deleting them blindly.

Create a mapping sheet: old column → new field → transformation. Pay special attention to:

DataWhy it mattersMapping tip
CASL consent type and dateProves your right to send commercial messagesCreate fields before import; calculate implied-consent expiry
Unsubscribe status and dateMust never be lostImport as suppression, not as normal contacts
Do Not Call requestsInternal list must be kept 3 years and 14 daysMap to a protected field
Language preferenceFrench or English communicationsUse a picklist, not free text
Deal stagePipeline reportsMap old stages to new stages deliberately
Owner (salesperson)AssignmentMatch old user names to new users
Notes and attachmentsHistoryCheck size limits and storage costs

See the CASL guide and the Do Not Call guide.

Step 5: Test import

Import a sample of 50–100 records covering every type: customer, prospect, unsubscribed contact, contact with a deal, contact with attachments, a French-language contact. Then ask two users to check:

  • Are names, accents and special characters correct (é, è, ç, à)? Encoding errors are common with CSV files; save as UTF-8.
  • Are deals attached to the right companies and owners?
  • Did consent and unsubscribe fields come across?
  • Did the import accidentally mark everyone as a marketing contact?

Fix the mapping and repeat until the sample is clean.

Step 6: Cutover

  1. Pick a cutover date at a quiet time (not month-end, not peak season).
  2. Freeze edits in the old system the day before.
  3. Run the full import, then a final delta for anything entered in the last days.
  4. Switch web forms and email sync to the new CRM.
  5. Keep the old system read-only for a few months, then export a final archive and close it.

Illustrative cost estimate

TaskHours (illustrative)At $60/h
Inventory and decisions6$360
Cleaning and de-duplication (4,000 records)16$960
Field mapping and consent review8$480
Test imports and checks6$360
Cutover and form changes4$240
Total40$2,400

A partner may charge more per hour but work faster. Add the result to the fixed costs in the 3-year cost estimator.

Moving data out of an old CRM

Check before cancelling: can you export notes, activities and attachments, or only contacts? Is there a fee for a full backup? How long after cancellation is data kept? This is also the moment to read the exit clause of your new contract; see contract terms.

FAQ

Should I migrate all email history?

Usually only recent history (for example the last 12–24 months) for active customers. Older email stays in your mailbox archive.

Can I import a purchased list to fill the CRM?

It will rarely carry valid CASL consent for your messages and inflates contact costs. Avoid it.

What about Quebec customer data moving to a CRM hosted outside Quebec?

Under Law 25, assess the communication first and have a written agreement. See PIPEDA and Law 25.

Do I need a partner for migration?

Not for a few thousand clean records. Consider one for several sources, custom objects, attachments or an old CRM with limited export tools.

Sources

Related guides