CRM implementation / Practical guide

CRM Migration from Spreadsheets: A Customer Data Checklist

The sales team has three spreadsheets, and each one has a different version of the customer list. Before importing them into a CRM, someone needs to decide which details to trust. This checklist covers that decision, the test import and the handover to daily use.

Paper spreadsheet rows beside organised customer cards
AI-generated editorial artwork; screens and documents are illustrative.

What you will take away

  • Define source ownership before merging spreadsheets.
  • Test field mapping, dates and staff visibility in a representative pilot.
  • Reconcile the final import before retiring the old workflow.

Decide which file controls each field

Find out what each source file is used for. One may have current telephone numbers, another the agreed owners and another the historical notes. Appending the rows from all three will not resolve the differences.

Choose who can decide which value is correct. Record which source controls each important field and keep the original exports while you prepare the working file. Separate active leads, customers and old records so the first CRM reports reflect the work the team expects to see.

Map the columns to the import template

Use the import template available in the target account. Map each spreadsheet column to a defined customer or lead field and document how dates, owners and dropdown values should be represented. A column named “stage” may not match the configured lead status without translation.

Keep source identifiers where the supported import allows them, but do not assume they are internal CRM references. This is particularly important when customer data later connects to route imports or services. The migration should preserve a useful relationship to the original file without confusing two different identification systems.

Source informationMapping questionPilot check
Contact detailsWhich person or company owns this value?Open the sample record and confirm the contact.
Sales ownerDoes the intended employee exist and have access?Review the record using that employee’s role.
Status and sourceDo the values match configured choices?Filter the imported sample by those choices.
DatesWhat format does the import expect?Compare the saved date with the original.
Notes and servicesWhat does the supported import preserve?Check the destination section rather than assuming a transfer.

Resolve the uncertain records

Review names, usable contact methods, owner assignments and duplicate candidates. Keep separate branches or contacts when they represent real relationships. If two rows appear to describe the same company, compare the details and connected history before deciding to combine them.

Avoid filling missing information with invented values simply to satisfy validation. Resolve the question, use an appropriate supported blank or revise which stage requires the field. A successful import that contains unreliable placeholders is still a poor migration.

Include awkward records in the pilot

Choose more than the neatest ten rows. Include a customer with multiple contacts, a lead with a missing optional value, an international telephone number and a record with a meaningful history note. Add an employee ownership example that can be checked using a staff account.

Review the import result and reopen the saved records. Check counts, field placement, dates, ownership and visibility. A result reporting that rows were processed does not prove that every value landed in the intended field. Record the corrections needed before preparing the final file.

Agree when editing moves to the CRM

Agree when staff should stop editing the old working spreadsheet and begin using the CRM. If changes continue in both places, the team needs a controlled way to reconcile them. Without that decision, a carefully tested import can become outdated immediately.

After the final import, compare the agreed population and a sample of important records. Investigate skipped rows and validation failures rather than repeating the entire upload blindly. Before retrying after an interruption, check what was already saved so the retry does not create unnecessary duplicates.

Example: combining two teams’ spreadsheets

Two sales teams maintain overlapping customer files. One has current contact numbers and the other has the agreed account owners. The migration lead documents which source controls each field before preparing the import. The original exports remain available for reference during the review.

A pilot includes a customer with two branches, a lead with an international number and a record owned by an employee who recently moved teams. The reviewer opens the saved records and checks how the fields appear under the intended staff role. One date mapping is corrected before the larger import.

For the final changeover, staff agree when to stop editing the old shared file. Skipped records receive an exception owner instead of being ignored. Managers then run their next follow-up review from the CRM, reinforcing the new working source. The migration is judged by usable records and team adoption rather than by the size of the uploaded file.

Train people using their imported records

Ask salespeople to find a customer they recognise, check its contact, add a note and set a follow-up. This quickly reveals whether the imported data is usable. Managers should also try their regular review using the CRM records.

Keep the original files during the review period and give the remaining exceptions an owner. Once the checks are complete, be clear about where updates belong. Asking staff to maintain both the old spreadsheet and the CRM makes it difficult for either one to stay reliable.

Common questions

Can a spreadsheet customer ID be used as a CRM record ID?

Do not assume that it can. Source references and internal CRM references may be different. Follow the supported import template and verify the relationship.

Should we reimport the whole file after a timeout?

First check the import result and existing records. Determine what saved successfully before deciding how to retry.

Back to top ↑