Moving from a spreadsheet to a CRM: the order of operations that works
Almost every CRM migration fails the same way: the spreadsheet is imported as-is, the CRM is immediately full of twelve thousand stale rows, and the team concludes the tool is worse than the sheet. The import is the easy part. The work is deciding what not to bring. Here is the sequence that avoids the failure.
Step 0: decide whether you should migrate at all
A spreadsheet is the right tool when you have fewer than roughly twenty active relationships, one person owning them, and no need for a follow-up forcing function. Below that threshold a CRM adds maintenance without adding leverage — we argued this at length in Can Gmail work as a CRM?
Migrate when one of these is true: two people touch the same deals, you have lost track of a follow-up that cost you money, or you cannot answer "what is closing this month" without an hour of spreadsheet work.
Step 1: audit the sheet before you touch a CRM
Open the spreadsheet and count:
- Rows with no activity in 12 months. These do not come with you. Archive them in the sheet and import only live records. A CRM seeded with dead leads trains your team to ignore the CRM.
- Columns nobody has filled in for 30 days. Every one is a custom field you were about to pay to configure. Drop them.
- Duplicate companies with different spellings. "Acme Ltd", "Acme Limited", "acme". This is the single biggest post-migration cleanup job and it is far easier in the spreadsheet, where you can sort by name.
- Notes that are really history. A cell containing "called 3/4 — wants proposal by Fri" is activity data, and it is the thing most likely to be lost in migration. Decide now whether it becomes a note on the record or is abandoned.
Step 2: choose the tool by your missing function, not the feature list
| Your actual problem | Reasonable first stop | Entry cost |
|---|---|---|
| Nothing prompts follow-up | HubSpot Free (2 users) | $0 |
| Deals live in email threads | Streak (free has no pipelines) | $49/seat/mo for Pro |
| Multi-stage sales, need a forecast | Pipedrive (no free plan) | €14/seat/mo |
| Also need email, funnels, checkout | systeme.io | Free, then $17/mo flat |
| Deal context is documents | Notion | Free for individuals |
Pick one and commit for a year. The most expensive migration pattern is doing this twice, because the second import starts from a CRM whose activity history you cannot fully export.
Step 3: map columns to fields, and accept the losses
Write the mapping down as a two-column list in a document — spreadsheet column on the left, CRM field on the right. Then mark every row where the right side is blank. Those are your losses, and they are usually:
- Free-text notes — often importable, usually into a single undifferentiated notes field. Searchable, but not structured.
- Activity history — almost never importable. Calls, emails and meeting records begin at migration day.
- Attachments — file links inside cells break. Download them into a folder before you start.
- Calculated columns — formulas do not travel. Rebuild them as CRM properties or as reports.
Step 4: import 20 rows first, then stop
Import a sample of twenty real records. Then check four things before touching the rest:
- Do owner assignments land on the right people?
- Did dates survive, or did they shift a day through timezone conversion? This is the most common silent corruption.
- Are statuses mapped to the right pipeline stages, or did everything land in stage one?
- Can you export the twenty records back out with the same fields? Test the exit before you commit the entrance.
Step 5: run both systems for two weeks
Do not switch off the spreadsheet on import day. Run them in parallel for two weeks — the sheet as read-only reference, the CRM as the place new activity is recorded. This costs real time and it is the step teams skip, which is why they discover problems in month two when the sheet is gone.
At the end of two weeks, ask one question: did the pipeline view tell you something you did not already know? If yes, retire the sheet. If no, either the process is not staged enough for a CRM, or the wrong tool was chosen.
Step 6: the two habits that decide the outcome
- Log the next action, always. A deal without a next-action date is the failure mode a CRM exists to prevent. Make it a rule, not a preference.
- Weekly review, 20 minutes, same time. Sort by deals with no activity in 14 days. This single ritual is worth more than every feature on the pricing pages.
What this guide is, and is not
This is a method guide based on how these migrations fail, not a report of a specific migration we performed for a client. We have not yet completed our own instrumented migration across all the CRMs listed above; when we do, we will publish the measured import fidelity, the time each step took, and the field losses we actually hit, per our How We Test process. Prices referenced come from vendor pages verified October 23, 2026.