Skip to content

Insights · Integrations & Data

Salesforce Data Migration Checklist: 12 Steps to a Clean Move

A step-by-step checklist for moving data into Salesforce without duplicates, broken relationships or lost history, from planning to cutover.

Illustration for Salesforce Data Migration Checklist: 12 Steps to a Clean Move

Key takeaways

  • Most migration problems are data problems, not tool problems. Clean and deduplicate before you load.
  • Load in dependency order and keep the legacy system’s IDs in an external ID field on every object.
  • Use the Data Import Wizard for small, simple loads and Data Loader or the Bulk API for larger or more complex ones.
  • Rehearse the full migration in a sandbox at least once before the production cutover.

Moving into Salesforce, whether from spreadsheets, another CRM or an older Salesforce org, is one of the riskiest parts of any implementation. A clean migration means users trust the system from day one. A messy one creates duplicates, orphaned records and months of clean-up. This checklist is the process we follow on client projects.

1. Define the scope

Decide what is moving and what is not. Not every record deserves a place in the new system. Agree on cut-off dates for historical activity, which objects are in scope, and whether closed or inactive records should be archived elsewhere instead of migrated.

2. Inventory your sources

List every source system, export format and owner. Note record counts per object. Volumes drive tool choice and timelines, and a surprise extra million activity records is better discovered now than during cutover.

3. Design the target data model first

Mapping only works once the Salesforce data model is settled: objects, record types, required fields, picklist values and relationships. Migrating into a model that is still changing causes repeated reloads.

4. Build a field-level mapping document

For every target field, record the source field, transformation rules, default values and picklist mappings. This document becomes the contract between business owners and the migration team, and it is invaluable when someone later asks where a value came from.

5. Cleanse and deduplicate the source data

  • Standardize formats for phone numbers, states, countries and dates.
  • Merge duplicate companies and contacts before loading, not after.
  • Fix or flag records missing values that will be required in Salesforce.
  • Retire obsolete picklist values and map them to current ones.

6. Add external ID fields

Create an external ID field on each target object to hold the legacy system’s record ID. External IDs let you upsert records safely, relate child records to parents without looking up Salesforce IDs, and rerun loads without creating duplicates.

7. Choose the right tool

ToolBest forNotes
Data Import WizardSimple loads of up to 50,000 records at a timeBrowser-based, supports common standard objects and custom objects, built-in duplicate matching for some objects
Data LoaderLarger loads, up to 5 million recordsDesktop and command-line tool, supports all objects, insert, update, upsert, delete and export
Bulk API 2.0Very large or automated loadsUsed by Data Loader and ETL tools, processes records asynchronously in batches
ETL or middlewareComplex transformations and repeated syncsUseful when migration logic is heavy or the source system stays live during transition

8. Load in dependency order

Parents must exist before children. A typical order is users, then accounts, contacts, opportunities and their line items, cases, and finally activities, notes and files. Map record owners to active Salesforce users, and decide what happens to records owned by people who have left.

9. Handle automation and validation during loads

Flows, triggers, validation rules and duplicate rules exist to protect data entry by people. During a migration they can slow loads, send unwanted emails or reject legitimate historical data. Plan how each one behaves during the load, for example with a bypass setting checked by your automation, rather than deactivating everything and hoping to remember what to switch back on.

10. Preserve history where it matters

Audit fields such as Created Date and Created By can be set on insert if the Set Audit Fields upon Record Creation permission is enabled, which keeps reporting on historical data meaningful. Decide early whether you need this, because it must be applied during the initial insert.

11. Rehearse in a sandbox and validate

Run the full migration in a sandbox with production-like data. Validate record counts per object, spot-check records against the source, run key reports with business users, and time the load so you know how long the production cutover will take.

12. Plan the cutover and the day after

  • Freeze changes in the old system, take a final export and run the delta load.
  • Keep the old system read-only for an agreed period in case of questions.
  • Have the migration team available on the first days of go-live to fix issues quickly.
  • Archive the mapping document, scripts and load logs for future reference.

Moving from one Salesforce org to another? Pay extra attention to record IDs, owner mapping, files and email history, which do not transfer cleanly between orgs without planning.

Frequently asked questions

How long does a Salesforce data migration take?

Small migrations from spreadsheets can take days. Migrations from complex systems with years of history, many objects and heavy cleansing typically take several weeks, mostly spent on mapping, cleansing and testing rather than loading.

Should we clean data before or after migrating?

Before. Cleaning in the source or in a staging area is cheaper and avoids loading duplicates that users then start working on.

Can we migrate attachments and emails?

Yes, but plan for it separately. Files, attachments and email history add volume, storage and relationship complexity.

Saad Ahmad

Founder & Salesforce Application Architect, CodersRegion

Saad founded CodersRegion and has spent more than 13 years designing, building and rescuing Salesforce and custom software platforms for companies in the US, UK, Canada and Australia. Saad holds eight Salesforce certifications, including Application Architect.

Keep reading

More from Insights

Free discovery call

Have a Salesforce project in mind?

Talk to a certified Salesforce consultant about your goals. You get honest advice and a clear plan, with no obligation.