Moving from one CRM to another: a migration checklist for a small team
What to export, how two real CRMs treat your import file, what has to be rebuilt by hand and what to check afterwards. No price, because it depends on your data.
The short answer
A CRM migration is a data project followed by a process project. The data project is exporting records from the old system, mapping them to fields in the new one and importing them in the right order so that contacts, companies and deals stay linked. The process project is everything a file cannot carry: automations, sequences, forms, integrations, email sync, user permissions and reports, which you rebuild and test by hand. There is no fixed price for this, because it depends on how many records you hold, how many custom fields and pipelines you have and how many automations you must recreate; this guide gives you the list to count, not a number.
We use two CRMs whose import rules are published, HubSpot and Pipedrive, to show what a destination expects. Both are read from the vendors' own help pages on 2 November 2026. Whichever way you move, the sequence is the same: inventory, export, prepare, test on a small sample, import in dependency order, rebuild, check and only then switch off the old system. For what each destination costs see HubSpot CRM pricing in euros and which Pipedrive plan a small team needs, and for choosing between them HubSpot vs Pipedrive.
The sequence, step by step
| Step | What to do | What to check |
|---|---|---|
| 1 Inventory | List objects (contacts, companies, deals, activities, notes, products), custom fields, pipelines and stages, users, automations, forms, integrations | One count per item: it is your size estimate |
| 2 Export | Export each object with its unique ID and the owner, created date and status | Row counts match the old system |
| 3 Clean | Remove duplicates, fix formats, decide which fields to drop | A small file you can read in full |
| 4 Map | Match each old field to a destination field or create a custom one first | Every required field has a source column |
| 5 Test | Import 20 to 50 rows of each object into the new system | Open ten records and compare by eye |
| 6 Import | Companies and contacts first, then deals, then activities and notes | Links between records survive |
| 7 Rebuild | Recreate pipelines, automations, forms, integrations and email sync | Trigger each one with a test record |
| 8 Check | Counts, samples, owners, dates, amounts, currency and duplicates | A short written sign-off |
| 9 Switch | Run both for a short period, then move users and keep the exports | Old system kept read-only until you are sure |
Count before you choose. The size estimate is the sum of your own numbers: records in each object, custom fields, pipelines and stages, automations and integrations. The more of those numbers are large, the more mapping, testing and rebuilding the move needs. We do not put a price or a duration on it, because neither is fixed by the vendors or by us.
Editorial opinion
What two destinations expect from your file
| Topic | HubSpot | Pipedrive |
|---|---|---|
| File types | .csv, .xlsx or .xls, one sheet; UTF-8 for non-English characters | XLS, XLSX or CSV, one tab, with a header row |
| Size limits | 512 MB and 1,048,576 rows a file on paid plans; 20 MB on free tools | Under 50 MB and no more than 200,000 rows |
| Required fields | Contacts: Email; companies: Name or Company domain name; deals: Deal name, Pipeline and Deal stage | People: a name; organizations: a name; deals and leads: a linked person or organization |
| Duplicates | Include a unique identifier (Record ID, Email, Company domain name or a unique custom property) or the import creates duplicates | In the final step you choose how to handle duplicates and can merge instead of creating new records |
| Linking records | Include identifiers for both records in each row; one row per association | One row can create and link a person, organization and deal |
| Blank cells | Ignored; they do not clear existing values | Not stated on the page we read |
| Undo | Not stated on the page we read | Revert from import history within 48 hours, by global admins |
Two points matter most. First, duplicates are a choice you make in the file: HubSpot creates duplicates unless the file carries a unique identifier, while Pipedrive asks you to choose merge or create at the end of the import. Second, links between records come from how you structure the file, so import companies and contacts before deals, and keep the old system's IDs in a column you can search later. HubSpot also lists accepted date, phone, currency and checkbox formats, and says values that break a property's validation rules are not imported, so format the data before you import it. Pipedrive's page lists a 48-hour window to revert an import, which is a reason to import a test batch first and the full file only after you have checked the batch.
What a file does not carry
| Item | Why a file will not carry it | How to test it |
|---|---|---|
| Automations and sequences | The import pages describe records, not workflows | Trigger each with a test record and read the result |
| Pipelines and stages | They must exist at the destination before deals import (HubSpot requires a valid pipeline and stage) | Import five deals into each stage |
| Forms and website tracking | They are configuration, not data | Submit each form and find the record |
| Integrations and email sync | They connect accounts, not rows | Send and receive a real email on a test record |
| Users, owners and permissions | Owners are matched by name, email or ID in HubSpot's file | Check that each record has the right owner |
| Reports and dashboards | They depend on fields and stages that now differ | Rebuild one report and compare it with the old one |
Editorial opinion
What drives the cost of a CRM migration
| Driver | Why it changes the work | What to count |
|---|---|---|
| Records | More rows to clean, map and test; HubSpot allows up to 1,048,576 rows a file and Pipedrive no more than 200,000, so big databases need several files | Records per object |
| Custom fields and objects | Each needs a destination field created and mapped before the import | Custom fields |
| Pipelines and stages | They must exist before deals import; HubSpot requires a valid pipeline and stage | Pipelines and stages |
| Data quality | Duplicates and inconsistent formats are fixed before import; HubSpot does not import values that break a property's validation rules | Duplicates in a sample of 200 rows |
| Automations and sequences | Rebuilt by hand and tested; the import pages describe records only | Automations |
| Integrations and email sync | Reconnected and tested one by one | Connected tools |
| Users and owners | Owners are matched by name, email or ID in HubSpot's file | Users |
| Destination plan and fees | Seats are priced per month; HubSpot requires onboarding on Professional and Enterprise, with the euro amount not shown on the page we read | Seats and plan |
| Parallel running | You pay for both systems while you check | Months you keep the old one |
None of these drivers has a fixed price, which is why we give none: the same move is quick for a clean database with one pipeline and slow for one with many custom fields and automations. What cannot be moved automatically is everything outside the record files: automations, sequences, forms, integrations, email sync, permissions and reports, which you rebuild and test. You can do the move yourself with the import tools described above. If you want help scoping or building the website-to-CRM side, LATYNEX Digital, which is operated by the same company that publishes LATYNEX Labs, builds website-to-CRM integrations and automations; its own page on CRM automation cost (opens in a new tab) explains what drives the price, and it has pages on connecting a website to HubSpot (opens in a new tab) and Pipedrive (opens in a new tab). We state no price and no client results for that work, and this guide stands on its own without it.
Editorial opinion
Checks after the move
| Check | How | Pass when |
|---|---|---|
| Record counts | Compare each object in the old and new system | The difference is explained row by row |
| Random sample | Open 20 records per object and compare every field | No silent changes to names, dates or amounts |
| Links | Open ten companies and see their contacts and deals | Every link you expect is there |
| Duplicates | Run the destination's duplicate view or a search by email and domain | No new duplicates created by the import |
| Owners and stages | Count records by owner and by stage | Matches the old system |
| Automations | Fire each automation with a test record | It does what the old one did, or you decided it should not |
| Email and calendar | Send, receive and log a message | It appears on the right record |
Editorial opinion
Frequently asked questions
Frequently asked questions
- How much does it cost to move from one CRM to another?
There is no fixed figure: the cost depends on how many records, custom fields, pipelines and automations you have and how much of the rebuilding you do yourself. Count those first and ask each vendor what migration help it offers.
- How do I avoid duplicate contacts when importing?
In HubSpot, include a unique identifier in the file (Record ID, Email, Company domain name or a unique custom property); without one the import creates duplicates. In Pipedrive, choose how to handle duplicates in the final import step, where you can merge them.
- How big a file can I import?
HubSpot allows up to 1,048,576 rows and 512 MB a file on paid plans (20 MB on free tools); Pipedrive's page lists no more than 200,000 rows and under 50 MB. Split larger databases into several files.
- Can I undo an import?
Pipedrive's page says an import can be reverted from the import history within 48 hours, by users with global admin permissions. The HubSpot page we read does not describe an undo, so test with a small batch first.
- Do automations move with the data?
The import pages describe records only. Plan to rebuild automations, sequences, forms and integrations and to test each one.
Sources and checks
Sources
Nikita Latyshev is the founder of LATYNEX Labs, an independent publication about business software and infrastructure. LATYNEX Labs is published by Latynex Trade OÜ, Estonia. How the site checks facts, handles sponsorship and earns money is described on its methodology, editorial policy and affiliate disclosure pages.