# CRM Migration Checklist

Use this checklist before moving from spreadsheets, HubSpot, Pipedrive, Zoho, Salesforce, Copper, Nutshell, Keap, or another CRM. The goal is not to copy every old field into a new tool. The goal is to preserve useful customer context while fixing the data and process problems that made the migration necessary.

## 1. Migration scope

- Current system:
- New CRM:
- Migration owner:
- Executive/process sponsor:
- First team or segment migrating:
- Target cutover date:
- Rollback/archive location:

Decide what must migrate on day one:

- [ ] Active contacts and companies
- [ ] Open deals/opportunities
- [ ] Recent won/lost deals needed for reporting
- [ ] Activities, notes, calls, and emails where useful
- [ ] Lead source and campaign fields
- [ ] Consent, subscription, and opt-out fields
- [ ] Owners, teams, territories, or permissions
- [ ] Products, quotes, proposals, or contract references
- [ ] Reports and dashboards leadership actually uses

## 2. Data cleanup before export

Do not use migration as a bulk dump. Review:

- Duplicate companies and contacts
- Contacts with no owner, source, or recent activity
- Stale open deals that should be closed or archived
- Free-text fields that should become controlled values
- Old pipeline stages that do not reflect buyer evidence
- Invalid email addresses and missing consent status
- Former employees listed as record owners
- Custom fields that nobody uses in reports or workflows

## 3. Field mapping

| Old field | New field | Required? | Transformation needed | Owner |
|---|---|---|---|---|
| Contact owner |  | Yes | Map former users to current owners |  |
| Lead source |  | Yes | Normalise source names |  |
| Lifecycle/status |  |  | Map to new lifecycle stages |  |
| Deal stage |  | Yes | Map to buyer-evidence stages |  |
| Deal value |  |  | Confirm currency and tax assumptions |  |
| Consent/opt-out |  | Yes | Preserve exactly; do not infer |  |
| Lost reason |  |  | Standardise categories |  |

## 4. Pipeline-stage migration

| Old stage | New stage | Keep, merge, or retire? | Entry rule | Exit rule |
|---|---|---|---|---|
| New lead |  |  |  |  |
| Discovery |  |  |  |  |
| Proposal sent |  |  |  |  |
| Negotiation |  |  |  |  |
| Closed won |  |  |  |  |
| Closed lost |  |  |  |  |

## 5. Integrations and automations

Before cutover, list every connected workflow:

- Website forms and landing pages
- Email marketing and nurture tools
- Calendar and meeting scheduling
- Proposal, quote, and e-signature tools
- Accounting, invoicing, or payment tools
- Support/helpdesk and customer-success tools
- Slack/Teams notifications
- Zapier/Make/custom API automations
- Data warehouse or reporting exports

For each one, record the owner, data direction, trigger, failure alert, and first test case.

## 6. Pilot migration

- [ ] Import 20-50 representative records, not sample data.
- [ ] Test one inbound lead handoff.
- [ ] Test one outbound opportunity.
- [ ] Test one closed-won workflow into proposal/invoice/service handoff.
- [ ] Rebuild one leadership dashboard.
- [ ] Ask reps to update live records for one week.
- [ ] Compare old and new pipeline totals before full import.

## 7. Cutover plan

- [ ] Freeze changes in the old CRM or define a final delta export window.
- [ ] Export raw backup files and store them safely.
- [ ] Import cleaned data into the new CRM.
- [ ] Reassign owners and check inactive-user mappings.
- [ ] Turn on integrations in a controlled order.
- [ ] Run smoke tests for forms, email sync, tasks, reports, and notifications.
- [ ] Communicate the exact date when reps should stop using the old system.

## 8. Post-migration review

Review after 14, 30, and 60 days:

- Are reps updating next actions without being chased?
- Are new leads assigned correctly?
- Are dashboards trusted by sales leadership?
- Are duplicate records increasing or decreasing?
- Are lost reasons and lead sources usable?
- Did any automation create noise or bad data?
- Which old fields should now be retired permanently?

## Decision record

- Migration approved by:
- Main risks accepted:
- Data intentionally not migrated:
- Reports that must match before sign-off:
- Owner for ongoing data hygiene:
- Next review date:
