All posts
how-to Aug 23, 2026 9By RevKit Team

Salesforce Migration Checklist: What Actually Needs to Be Done

Salesforce data migration checklist — every step from source data prep to post-migration validation. Plus the 7 mistakes that cause data loss in production.

Salesforce Migration Checklist: What Actually Needs to Be Done

A botched Salesforce migration is one of the worst experiences in a RevOps career. Wrong records, missing relationships, broken automation that nobody catches for weeks. The cost: months of cleanup, lost trust, and sometimes lost revenue.

This checklist covers every phase of a real migration, the decisions at each, and the mistakes that cause data loss. Use it as your project plan.

Estimated read time: 9 minutes

The 10 phases of a Salesforce migration

  1. Source system audit
  2. Data mapping
  3. Cleansing strategy
  4. Sandbox test migration
  5. Validation rules and dependencies
  6. Cutover plan
  7. Production migration
  8. Reconciliation
  9. User communication
  10. Post-migration monitoring

Skip none. Each phase prevents a specific failure mode.

Phase 1: Source system audit

Before mapping anything, document:

  • All objects in the source system
  • Total record counts per object
  • Relationships between objects (one-to-many, many-to-many)
  • Data quality (% complete, % duplicate, % invalid)
  • Custom fields and what they're used for
  • Active integrations (what writes to or reads from this data)

Output: a source data dictionary. If you don't have this, you'll discover surprises mid-migration.

Phase 2: Data mapping

For every source field, decide:

  • Maps to which Salesforce field?
  • Required or optional in destination?
  • Data type transformation needed?
  • Default value if source is null?
  • Is there a Salesforce field that doesn't exist yet (need to create)?

Output: a field-by-field mapping spreadsheet, signed off by stakeholders.

Phase 3: Cleansing strategy

Bad data multiplies in migration. Decisions to make:

  • Deduplicate before or after migration? Before is cleaner, after is faster but messier.
  • Standardize text values (state codes, country names) before migrating.
  • Decide what not to migrate — old records, test records, inactive users.
  • Establish a "frozen date" — data created after the cutover stays in source until manual export.

Phase 4: Sandbox test migration

Run the full migration to a Full or Partial Copy sandbox first. Always.

Validate:

  • Record counts match expected
  • Relationships preserved (every Contact has correct Account)
  • Required fields populated
  • Picklist values land correctly (no "value not in picklist" failures)
  • External IDs preserved for upsert flows

If anything is wrong, fix the migration script and re-run. Don't fix in production after the fact.

Phase 5: Validation rules and dependencies

This is where most migrations break.

  • Validation rules in destination may reject data that source allowed
  • Triggers may fire and cascade unwanted updates
  • Workflows may send unwanted notifications

Decision: for the migration window, temporarily disable validation rules, triggers, and automation. Re-enable immediately after.

Phase 6: Cutover plan

Document the cutover hour-by-hour:

  • T-24h: final source backup
  • T-12h: source system frozen (no new records)
  • T-6h: data export from source
  • T-3h: final cleanse
  • T-2h: validation rules + triggers disabled in target
  • T-0: production load
  • T+2h: validation rules + triggers re-enabled
  • T+4h: smoke test, key reports run
  • T+6h: stakeholder sign-off
  • T+8h: users back in

The 7 mistakes that cause data loss

  1. Skipping the sandbox test. Every other mistake gets caught here. Don't skip.
  2. Migrating without disabling triggers. Cascading updates can corrupt millions of records.
  3. Wrong external ID strategy. If you upsert without a unique external ID, you get duplicates.
  4. Date format chaos. Excel converts dates silently. Format columns as text before saving CSVs.
  5. Picklist value mismatches. Source has "USA," destination has "United States." Records fail or get null values.
  6. Lookup ID mistakes. Inserting Contacts with AccountId from source IDs (not Salesforce IDs) creates orphans.
  7. Skipping reconciliation. "Looks good" isn't reconciliation. Numbers must match.

Want migration handled for you?

RevKit's Data Migration packages run with the discipline above:

  • Single-object migration (up to 100K records): $499
  • Multi-object migration with relationship resolution: $1,499
  • Full system migration with mapping and reconciliation: from $4,999

Get Data Migration →

Related reading

// Free Diagnostic

Want to see where your org stands?

Get a free diagnostic built by a team with 50+ Salesforce certifications. No email required.

Get Free Health Score

Find out what's broken.

Get a free Salesforce diagnostic matched to your role. No email required.

Ready to build it?

Fixed-price Salesforce builds. No retainers.

Browse all products