CRM Data Import Checklist: CSV Mapping and Sample Files - Relaticle             [  Back to blog ](https://relaticle.com/blog) 

 ![CRM data import checklist: CSV mapping and sample files](https://relaticle.com/storage/ink/01M38HF8RDTX5SCR0AM71K8PW0.png)A CRM data import should preserve record identity, field meaning, and relationships. Use this CSV checklist to prepare two small files, verify the saved results, and rehearse an update before uploading the full dataset. The sample below gives you exact mappings and expected counts to check.

We use Relaticle examples below, but the preparation work applies to any CRM move. The deliverable is a reviewed import pack: source files, prepared files, field mappings, sample results, and an execution log. That pack lets another teammate explain what changed without reconstructing your spreadsheet edits.

If you still need to extract the source data, start with our [HubSpot and Attio migration guide](https://relaticle.com/blog/migrating-from-hubspot-or-attio-to-a-self-hosted-crm). This checklist starts once you have the files.

[](#start-with-two-small-csv-files "Permalink")Start with two small CSV files
-----------------------------------------------------------------------------

These fictional files describe two companies and three people. We imported this synthetic pack through Relaticle’s browser wizard on September 24, 2026.

Use an empty evaluation workspace for the first run. Create a text custom field named Source CRM ID on companies and people first. Keep your original export unchanged.

The first file, `companies.csv`, contains one row per company:

```
source_company_id,company_name,domain
company-184,Northline Studio,northline.example
company-219,Harbor Works,harbor.example

```

The second file, `people.csv`, contains one row per person:

```
source_person_id,person_name,email,company_domain
person-731,Maya Chen,maya@northline.example,northline.example
person-732,Leo Grant,leo@northline.example,northline.example
person-905,Sam Rivera,sam@harbor.example,harbor.example

```

The `.example` addresses represent fictional identities. They let a reviewer distinguish records without involving real clients.

### [](#map-companies-first "Permalink")Map companies first

- **source\_company\_id** → **Source CRM ID**: Preserve the old identifier.
- **company\_name** → **Name**: Name the company.
- **domain** → **Domains**: Match the company on later imports.

Do not map `source_company_id` to Relaticle's Record ID. The source identifier belongs to your previous system.

In a new workspace, neither domain should match an existing company. The expected first-run result is two created companies.

After importing, open both records. Confirm each name, domain, and Source CRM ID before continuing. Export the companies if you need their Relaticle IDs.

### [](#map-people-after-their-companies-exist "Permalink")Map people after their companies exist

- **source\_person\_id** → **Source CRM ID**: Preserve the old identifier.
- **person\_name** → **Name**: Name the person.
- **email** → **Emails**: Match the person on later imports.
- **company\_domain** → **Company, matched by Domain**: Link the existing company.

Check the last mapping manually. A company domain in an ordinary text field does not create a company relationship.

Do not choose Name for this relationship. In Relaticle, the Name relationship matcher creates a related record rather than finding an existing name.

The expected result is three created people linked to the two existing companies. Maya and Leo belong to Northline. Sam belongs to Harbor.

Recheck the company count. It should remain two. Additional companies indicate a mapping problem, even if every person row imported successfully.

### [](#rehearse-an-update-with-the-same-identity "Permalink")Rehearse an update with the same identity

For a second run, change `Maya Chen` to `Maya Chen-Li` in `people.csv`. Keep her email unchanged and retain the same mappings.

Relaticle matches people by the mapped email when no higher-priority Record ID is mapped. The expected result is three matched updates and no new people.

Maya's name should change. Leo and Sam should retain their values. All three company relationships should remain correct.

Reimporting `companies.csv` with its domain mapping should match the same two companies. It should not create two additional companies.

The sample produced these counts in an empty workspace on September 24, 2026. Check the preview and saved records before trusting a larger run.

Testing also found a defect when deleted and live records share an email or domain. A deleted match can hide the live record.

If an existing record shows Create, stop. Export its Relaticle Record ID and retry using that ID after verifying the intended target.

Do not change the matching email or domain during this rehearsal. A changed identifier can make an existing record appear new.

For an identity change, export the destination records and prepare a separate update using their Relaticle Record IDs. Check each target before executing it.

[](#resolve-identity-collisions-before-the-full-import "Permalink")Resolve identity collisions before the full import
---------------------------------------------------------------------------------------------------------------------

The sample uses unique domains and individual email addresses. Real exports often contain exceptions.

Two subsidiaries might share a domain. A shared mailbox might appear on several contacts. A person might have changed employers since the export.

Review those cases separately. Preserve the source rows and document whether to merge, split, exclude, or identify records using destination IDs.

A stored Source CRM ID helps trace the migration. It does not automatically become an import matching key.

Import only the records needed for the first workflow. Active accounts and current follow-ups may matter immediately; old closed work can wait for another batch.

Record the export time and row count for each file. A clear cutoff lets you find changes made in the old CRM during preparation.

[](#prepare-relationships-before-dependent-records "Permalink")Prepare relationships before dependent records
-------------------------------------------------------------------------------------------------------------

Import companies before people when people need company links. Import those records before opportunities that refer to them. Add related tasks and notes afterward.

In Relaticle, relationship matching has a consequential detail: matching a company or person by Name creates a new related record. It does not deduplicate existing names.

Choose Domain for an existing company relationship when the domain identifies the intended company. Choose Email for an existing person relationship when that address is reliable. Use Relaticle Record IDs where the relationship requires them or where names and natural identifiers are ambiguous.

Tasks and notes can link to opportunities by Record ID. Export the imported opportunities to obtain those destination IDs before preparing dependent links.

Our [record-specific import reference](https://relaticle.com/help/import/what-each-record-type-needs) lists the available relationships. Check the mapping selection itself, even when the column name looks obvious. An automatic suggestion is still a suggestion.

Keep unresolved relationships in a separate review list. Do not invent a company domain or substitute the nearest-looking contact just to make validation pass.

[](#give-every-column-one-documented-meaning "Permalink")Give every column one documented meaning
-------------------------------------------------------------------------------------------------

Create custom fields and their select options before uploading data that depends on them. A field called "Status" could describe an account, a person, or an opportunity. Those meanings need separate mappings.

For each column, document the destination field, expected format, allowed values, and treatment of missing information.

- **Deal name** → **Opportunity name**: Preserve the name; review missing values.
- **Pipeline stage** → **Stage custom field**: Translate to an approved destination option.
- **Account manager** → **Company account owner**: Resolve to a workspace member's email.
- **Estimated value** → **Amount custom field**: Use the chosen numeric format consistently.
- **Expected close** → **Close date custom field**: Use an unambiguous date.

Relaticle requires a name when creating companies, people, and opportunities. Tasks and notes require a title. Additional custom-field requirements depend on your workspace configuration.

Do not turn missing values into invented facts. "Unknown" can be a deliberate select option if your process needs it. A guessed close date can distort a pipeline review.

When two source stages map to one destination stage, document that loss of detail. Keep the original stage separately if someone still needs it for analysis.

[](#protect-identifiers-from-spreadsheet-conversion "Permalink")Protect identifiers from spreadsheet conversion
---------------------------------------------------------------------------------------------------------------

CSV files do not carry the cell types you see in a spreadsheet. Opening a file can change how an application interprets identifiers and dates.

Treat phone numbers, postal codes, and source IDs as text during preparation. Check leading zeros and long numeric identifiers after saving and reopening your prepared file. Microsoft's [guidance on preserving zeros and large numbers](https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers) explains the Excel-specific controls.

Use one date format within each column. Prefer a date such as `2026-10-13` over `10/11/26`. Keep date-only values distinct from timestamps. For timestamps, record the timezone that gives the value its meaning.

Let your spreadsheet's CSV exporter handle commas, quotes, and line breaks. The [CSV format described in RFC 4180](https://www.rfc-editor.org/rfc/rfc4180) explains their quoting rules. Do not repair a quoted multiline note by deleting line breaks blindly.

Reopen the saved file and inspect a record with punctuation, an accented name, a long note, and a phone number. Confirm that each still occupies the intended columns.

[](#treat-blank-cells-as-a-decision "Permalink")Treat blank cells as a decision
-------------------------------------------------------------------------------

An empty cell can mean several things: unknown, unchanged, deliberately cleared, or missing from the export. Those meanings are different.

For an update file, include only fields you intend to change. Test the treatment of blanks on a disposable sample record before relying on it. Do not assume another CRM's blank-cell behavior carries over.

Relaticle merges imported multi-value fields with existing values. That matters when updating emails, phone numbers, and multi-select fields. An import intended to replace a list may instead retain earlier entries.

Write down the expected result for both operations: adding a new value and removing an old one. If import cannot express the removal you need, handle that change through a reviewed edit.

Notes need special care. Relaticle's note importer creates new notes rather than updating existing notes. Replaying an entire notes file can duplicate previously successful rows.

[](#add-difficult-rows-after-the-basic-sample-passes "Permalink")Add difficult rows after the basic sample passes
-----------------------------------------------------------------------------------------------------------------

Extend the sample with the cases your migration actually contains. Keep a written answer for each before importing it.

1. An existing company with a changed name should update through its verified identity.
2. A person with a missing company should remain unlinked or enter a review queue, according to your chosen rule.
3. An opportunity should point to the intended company and contact, not merely display their names in text fields.
4. A task should have the intended assignee and due date.
5. A note containing punctuation and line breaks should preserve its content and links.

Include a deliberate failure, such as an unresolved company Record ID. Confirm that Review identifies the affected value.

Correct the CSV and upload it again. Our test found that editing a relationship value inside Review could clear the error without saving the link.

Check the relationship preview before importing, then open the saved record. Retry only the affected records using verified destination IDs when updating them.

Compare the preview with your expectations, then open the saved records. A valid preview cannot establish whether you selected the right business relationship.

Use the [import error guide](https://relaticle.com/help/import/fix-import-errors) when a result differs. Fix the mapping or source data before expanding the batch.

[](#prepare-the-execution-log-before-the-full-run "Permalink")Prepare the execution log before the full run
-----------------------------------------------------------------------------------------------------------

Relaticle accepts CSV import files up to 10,000 rows and 10MB. Split larger exports into smaller files without cutting a CSV record in half. A quoted note can contain line breaks, so physical line count is not always record count.

Give each batch a stable name and record its source range. Use a log with the file name, record type, operator, start time, and expected row count.

After processing, record created, updated, skipped, and failed counts. Investigate unexplained differences before starting the next dependent file. For failures, correct and retry the failed rows rather than automatically replaying the original batch.

Keep a short change freeze or a separate list of edits made after export. Otherwise, the destination may receive yesterday's information while the team continues changing the source.

If you operate your own instance, prepare recovery separately. A CSV export is not a full database backup. Our [self-hosting cost guide](https://relaticle.com/blog/the-real-cost-of-self-hosting-a-crm) covers the operating work that sits outside the import screen.

[](#approve-the-import-pack "Permalink")Approve the import pack
---------------------------------------------------------------

The person approving the full run should be able to answer these questions from the pack:

1. Which records move now, and which remain elsewhere?
2. Which values identify existing records without relying on names?
3. How will every required relationship resolve?
4. Which source values were translated, combined, or intentionally excluded?
5. Did the difficult sample records save exactly as expected?
6. Who handles failures and post-export changes?

An unresolved answer is a reason to narrow the batch or finish the preparation. It is usually cheaper to fix one mapping document than thousands of imported relationships.

Open the [Relaticle import guide](https://relaticle.com/help/import) with your prepared sample beside it. Start the full run only after the saved sample earns approval.

 Tagged: [ #migration ](https://relaticle.com/blog/tag/migration) 

 Related posts
-------------

 [  Guides   Oct 9, 2026  

 CRM permissions for AI agents: an access checklist 
----------------------------------------------------

Set CRM permissions for AI agents with a filled access worksheet, clear approval boundaries, and tests for denied writes and revoked connections.

 ![CRM permissions for AI agents: an access checklist](https://relaticle.com/storage/ink/01M38HCK3DY8GPEAQ2Z5FW3S3J.png) ](https://relaticle.com/blog/crm-ai-permissions-before-connecting-an-agent) [  Guides   Oct 6, 2026  

 HubSpot migration checklist: moving to another CRM 
----------------------------------------------------

This HubSpot migration checklist covers moving to another CRM, including exports, associations, workflow replacements, and a worked cutover check.

 ![HubSpot migration checklist: moving to another CRM](https://relaticle.com/storage/ink/01M38HCG3RJEN1A8NHAGXAE8WW.png) ](https://relaticle.com/blog/hubspot-migration-checklist) [  Guides   Oct 2, 2026  

 Five CRM workflows to hand to Claude 
--------------------------------------

Five CRM workflows for Claude: pipeline reviews, meeting notes, lead entry, data cleanup, and weekly digests, with explicit read and write boundaries.

 ![Five CRM workflows to hand to Claude](https://relaticle.com/storage/ink/01M17KWYEEY8XB0VPJB7VV1D1Z.png) ](https://relaticle.com/blog/five-crm-workflows-to-hand-to-claude) 

    ###    On this page
