Skip to content
zsetup
Blog · Moving your data into Zoho CRM, a checklist

Moving your data into Zoho CRM, a checklist

Plan field mapping, record matching and relationships, test a linked pilot, and reconcile every row of your Zoho CRM import.

A useful Zoho CRM import leaves you with the intended records, the right relationships and an account of every source row. Start with those acceptance checks before uploading a spreadsheet. A completed import job does not establish that every row was created or that every relationship is correct.

Need help with an import or broader migration? See our Zoho CRM migration and data work service.

1. Choose the import tool and preserve the source

Use a module import for a defined file-based addition or update. A full move from another system can also involve notes, attachments, historical fields, owners and several related modules. Zoho’s current module-import guide distinguishes that frequent module-specific work from the broader Data Migration tool. Identify which tool your account uses before following its screens or limits.

Keep the original export unchanged and make transformations in a working copy. For an update, preserve a pre-change export of the target records and the values you intend to replace. Record the source system, extraction date and scope. Agree what to retain or leave behind with the data owner; age or missing contact information alone does not establish that a record can be discarded.

2. Prepare the fields and an explicit operation

Write down whether each file should add new records, update existing records or do both. Define the matching key, permitted changes and handling of blank values before selecting an upsert or overwrite option. A recurring file should have a deliberate repeat-run policy rather than creating a new person every time it arrives.

Check the importing user’s module permission, current file/row limits and required fields in the actual tool. Prepare a short mapping worksheet:

Source valueDecision to record
Person or company identifierWhich existing CRM record it should match, or why it is new
OwnerWhich active CRM user should receive the record
Account or Contact lookupWhich stable identifier will establish the relationship
Date, amount or currencySource meaning, expected format and target field
Optional blankWhether an existing target value should be retained or cleared
Required value missingHow the row will be corrected or held for review

Create the custom fields you need and verify their data types. Check that a source label maps to the correct field API name and purpose, especially when similar fields exist in different layouts.

3. Review duplicates and picklist values before uploading

Identify duplicate candidates using reviewed identifiers and context. A shared company name or email address is not enough to decide every merge. Keep ambiguous matches in an exception list rather than deleting or combining them automatically.

Standardise dates, phone formats and agreed category values in the working file. Protect record IDs from spreadsheet rounding or scientific notation. Test a value containing international characters so encoding problems are visible before the full run.

Compare incoming picklist values with the destination’s allowed values and the business vocabulary. Resolve unexpected spellings deliberately and test an unmatched value in the selected import tool. Do not assume every unmatched value is skipped or becomes blank: the outcome depends on the field, validation and import behaviour. Inspect the saved value and the row’s reported result before accepting the mapping. The shared-picklist guide explains how common categories affect Leads, Contacts and conversion.

4. Map relationships using stable identifiers

Plan parent records and their dependent records together. For separate import stages, establish the parent records and capture their CRM IDs before importing records that refer to them. For dependent files supported in the current tool, follow its documented association and mapping process.

Zoho’s current module-import guide lists lookup matching options such as Record ID, unique fields, external IDs and, for supported lookup types, email. Record-name matching is not supported for every lookup type. Choose a supported key for the specific relationship rather than assuming that an Account or Contact name will identify a unique parent.

For example, an Account, a Contact and a Deal in a pilot should have separate source identifiers. Record which CRM Account ID the Contact should use and which Account/Contact relationships the Deal should have. After importing, open the actual linked records and compare their IDs. A populated lookup label can still point to the wrong company or person.

5. Run a linked pilot and reconcile every row

Choose a small sample that covers the important cases: a new Account with linked Contact and Deal, an update to a known record, a duplicate candidate, a missing required field, an unexpected picklist value and a blank optional field. Write the expected result for each row before importing it.

After the pilot, use import history and the saved records to reconcile attempted, added, updated, skipped and failed rows. Keep each source identifier beside the resulting CRM ID or error. Account for every row, including deliberately rejected ones. Correcting a failed row should not repeat a successful creation or trigger the same follow-up twice.

Check values, ownership and relationships, then inspect the workflows and tasks the import was intended to trigger. Verify the configured post-import actions in the chosen tool instead of assuming all automations run or all remain suppressed. The workflow troubleshooting guide provides a way to check the trigger and resulting action separately.

6. Treat undo and cleanup as separate decisions

Before testing, inspect the undo controls and time window documented for the import tool in your account. Zoho’s classic and new import interfaces have different guidance; this checklist does not promise a universal rollback period.

An available import undo concerns records added by that import. It is not a general restoration of updates to existing records, and it does not establish that downstream tasks, messages, integrations or other effects will be reversed. Preserve the source and pre-change values, and define how an incorrect update would be repaired before running it.

Do not automatically delete the pilot after a mapping change. Identify exactly which records were created and whether other records or actions now depend on them. Agree any cleanup separately with the responsible owner, and verify its scope and effects. Testing in an appropriate isolated environment or with clearly identified approved records reduces the chance of confusing pilot data with live work.

7. Reconcile the full import and hand it over

Once the pilot passes, run the approved scope and repeat the row-level reconciliation for the complete dataset. Compare the source population with added, updated, skipped and failed outcomes; investigate every unexplained difference. Reconcile amounts and other meaningful totals by the agreed currency and date basis, and check relationships and ownership using stable identifiers.

Ask representative users to verify familiar customers as an additional usability check. Three correct examples do not prove that the rest of the file is correct. Keep the complete reconciliation, unresolved exceptions and approved corrections with the import record.

Agree who owns failed-row recovery, changes made in the old system during cutover and the operating instructions after launch. For a larger move, use the CRM migration guide to plan those responsibilities and the source-system handover.

Talk to the team

For help with an import or broader migration, contact zsetup. Include the source format, modules, relationships and reconciliation requirements. Redacted examples are enough for an initial discussion; keep customer data and credentials out of your enquiry.

Contact

hello@zsetup.com

Already a client? support@zsetup.com