Step 1: freeze, copy and decide scope
Pick a cut-over date. Make a copy of each spreadsheet and work only on the copy. Decide what to bring across:
- Contacts — people and companies.
- Open deals or jobs — anything still in progress.
- History — notes, last contact date. Decide how much is useful; years of old notes may be better left in an archive.
- Consent — whether each person agreed to marketing. Don't assume; if it wasn't recorded, treat it as not given.
Step 2: clean the data
| Problem | Fix |
|---|---|
| Several people in one row | Split into one row per person |
| Names in one column | Split first and last name if the CRM uses both |
| Inconsistent phone formats | Pick one format, ideally international |
| Mixed-case or padded emails | Lower-case and trim |
| Duplicates | Merge in the spreadsheet before importing |
| Status written as free text | Map to your new pipeline stages |
| Dates in different formats | Convert to one format the CRM accepts |
| Sensitive notes | Remove or move to an appropriate system; see customer data in automations |
Step 3: map columns to CRM fields
Create a mapping table: spreadsheet column → CRM property. Create any custom properties you need before importing. Decide which field is the unique identifier for matching — usually email for people. HubSpot's import guide explains how one CRM handles mapping and deduplication; others are similar.
Step 4: test with a small batch
Import 10–20 records first. Check:
- Every field landed in the right place.
- Dates and phone numbers look right.
- Contacts are linked to the right companies and deals.
- Re-importing the same file updates records instead of duplicating them.
- Owners are assigned correctly.
Delete or fix the test batch, adjust the mapping and repeat until clean.
Step 5: import and verify
Import the full set. Compare counts: rows in the cleaned spreadsheet versus records in the CRM. Spot-check a sample of records against the original. Run a duplicate check; see fixing duplicate CRM leads.
Step 6: switch the team over
- Point new leads (forms, booking tools) at the CRM from the cut-over date.
- Make the old spreadsheet read-only so nobody keeps updating it.
- For a week or two, have someone check that nothing new is landing in the old sheet.
- Train the team on the few things they'll do daily: find a contact, log a call, move a deal.
After the move
Give it a month, then review: are people using it, are fields being filled, are there new duplicates? Small adjustments early prevent the CRM from becoming another spreadsheet nobody trusts.
Questions
Should I import everything?
No. Import active and recent records with a clear purpose. Archive the original spreadsheet securely and decide how long to keep it.
How long does a migration take?
For a small business with one or two spreadsheets, preparation usually takes longer than the import itself. Plan for cleaning, a test import and a short period of parallel checking.
Sources and further reading
- import guide knowledge.hubspot.com
Official documentation changes. Check the current version before you rely on a rule, limit or setting.
Next step
Start with one workflow worth fixing.
Bring the real steps, the tools you already use and the place the handoff gets stuck. We review feasibility, access and approval points before quoting — no instant integration promise.
See Business Automations for what we scope, or prepare a custom quote brief.