Check a CRM migration by comparing CSV exports

Check the customer fields you moved without assuming that two equal row counts mean a successful migration.

Comparing CSV exports can help check whether selected CRM records and fields survived a migration. Export the same scope from the old and new systems, preserve an identifier that connects their records, and compare the fields that were meant to transfer unchanged.

Preserve the old identifier

A new CRM may generate a different internal ID. If the migration preserved the old ID in a legacy_id field, map that field to the original customer ID. If no shared ID exists, obtain a migration crosswalk before treating name or email matches as reliable identity.

In a synthetic example, the old CRM has Customer ID C-204 and the new system has Record ID 9912 plus Legacy ID C-204. Match Customer ID to Legacy ID. Comparing Customer ID to Record ID would make the migrated customer appear missing.

Write down expected transformations

Some differences are deliberate. The migration might split a full name, standardize a status or combine address fields. List those rules before reviewing the output. A field-value comparison does not prove that a business transformation was correct simply because the result looks plausible.

Map fields with the same meaning. Keep billing and shipping addresses separate. If an export stores addresses as JSON objects, use the JSON-field workflow to compare the exposed values with ordinary columns.

Use matching export scopes

Check whether each export includes archived, inactive and recently created records. Note the export time and any filters. A source export made before a final update and a destination export made after it can show changes that have nothing to do with the migration.

  1. Save the source and destination exports unchanged.
  2. Map the shared identifier and the fields included in your migration check.
  3. Select a composite key if records are unique only within an organization or account.
  4. Review changed records and missing records as separate groups.
  5. Spot-check a few records directly in the source systems and record the outcome.

Keep the conclusion within the evidence

If all compared fields match, that supports those fields for the exported records under your selected comparison rules. It does not establish that attachments, permissions, relationships or unexported fields migrated correctly. Those need separate checks.

Spreadsheet Comparison processes your input files on your Mac. You can export the filtered report for review without uploading the source records to this website. If the result has unexpected missing IDs, follow the missing-record checks before concluding that the migration lost data.