← All playbooks
CRM migration

Salesforce → Zoho CRM

Export Salesforce to CSV, zip it the way Zoho's Salesforce wizard expects, then map modules and fields. Workflows, email templates, and the recycle bin do not ride along.

Typical timeline1 to 2 weeks, plus the export queueA few days of mapping and checking active work
Statusneeds review
Source profileSalesforce Data Export docs reviewed 2026-11-06
Destination profileZoho CRM Salesforce migration and data-migration overview reviewed 2026-11-06
Documentation date
Review window
Evidence4 sources
This route needs review.Use it as a planning baseline, then verify the dated sources and test with representative data before production.
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Salesforce

Reasons to stay
  • Extensive CRM customization, ecosystem, reporting, and enterprise governance support complex businesses
  • Structured ownership, status, and workflow views improve operational visibility
Reasons to leave
  • Licensing, implementation, and ongoing administration are expensive and specialized
  • Custom fields, automations, history, and reporting are difficult to reproduce exactly
New platform

Zoho CRM

What gets better
  • Broad CRM customization and suite integration offer strong value for growing organizations
  • Structured ownership, status, and workflow views improve operational visibility
What gets worse
  • Configuration depth, interface complexity, and ecosystem-specific workflows increase switching costs
  • Custom fields, automations, history, and reporting are difficult to reproduce exactly
Best of the move

Zoho CRM: Broad CRM customization and suite integration offer strong value for growing organizations. This removes a major source-side concern: Licensing, implementation, and ongoing administration are expensive and specialized.

Worst of the move

What you lose: Extensive CRM customization, ecosystem, reporting, and enterprise governance support complex businesses. What you inherit: Configuration depth, interface complexity, and ecosystem-specific workflows increase switching costs.

Jump to a section
01At a glance

Know the shape of the move.

Transfer outcome11 features audited
Transfer outcome distributionClean transfer: 0, Partial transfer: 5, Manual rebuild: 3, Not transferred: 3.
Clean0
Partial5
Manual3
Lost3
Mapping route8 of 9 fields have a destination path

This timeline assumes

  • You can run Salesforce Data Export. Weekly exports are for Enterprise, Performance, and Unlimited. Other editions get a monthly export. Files are available for 48 hours, and a new export removes the previous files.
  • A Zoho CRM admin uses Setup, Data Administration, Import, and chooses Salesforce. Each file can be up to 5 GB, 200 files at once, 25 GB total.
  • The site already documents Zoho CRM → Salesforce and Salesforce → HubSpot.
  • You migrate users before records that look up an owner. Zoho says to do users first.
  • Reps stop editing Salesforce during the final export. The recycle bin is not in the export.
02What transfers

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
Supported modulespartialcriticalZoho's Salesforce article lists users, leads, accounts, contacts, deals, campaigns, notes, activities, attachments, competitor, cases, solutions, products, quotes, sales orders, invoices, purchase orders, vendors, and price books.Map those files. Anything else needs a custom module or a written skip.
Custom modulespartialhighSalesforce custom-object files use a _c suffix, such as registrations_c.csv. Zoho can create a module from that file during mapping.Open the zip and confirm the suffix before you upload. Create the module in the mapping step if it did not match.
AttachmentspartialcriticalZoho wants the CSVs plus an Attachments folder and a CSV that maps files to records. It says Salesforce's Attachments, Documents, and Content Version folders do not by themselves make the upload fail. The general wizard errors if a zip contains unexpected folders.Follow the Salesforce article for this zip. If the upload rejects a folder, pull attachments out and add them at the end. Zoho says you can add skipped attachments without starting over.
OwnersmanualcriticalZoho says to migrate users first, then map the owner id. A lead without a mapped owner is the usual way records land on the wrong person.Import users. Then map Owner ID on every module.
Mandatory fieldspartialcriticalLeads need Last Name. Deals need Deal Name, Stage, and Closing Date. Accounts need Account Name. Empty mandatory values are skipped unless you fill a default. More than 10 blank rows can look like the end of the file.Fill defaults for empty mandatory fields. Remove blank rows. Check the skip count before you continue.
TagspartialmediumTags migrate as comma-separated values. Only the first 10 tags on a record move, and each tag can be 25 characters.Trim tags you still use. Expect the rest to drop.
Workflows, formulas, and email templateslostcriticalThe wizard maps fields. It does not import Flow, validation rules, or formula fields. Zoho cannot create autonumber or formula fields during migration. Salesforce email templates are metadata and are not in the weekly data export.Rebuild the automations you still run. Export templates with Data Loader if you need the text.
Recycle bin and in-flight editslosthighSalesforce's FAQ says the recycle bin is not in the export. Edits after the export starts are not in that file.Freeze the org, then export. Do not queue a second export until you have downloaded this one.
Picklists and charactersmanualhighZoho wants multi-select values separated by semicolons. Checkbox values should be True or False. The overview says to avoid angle brackets and vertical bars in the data.Clean a copy of the CSVs. Add missing picklist values in Zoho or let the import add them, then review.
Reports and dashboardslostmediumReports are not rows in the data export.Rebuild the reports people open every week. Archive screenshots of the rest.
Skipped-row pausemanualhighZoho pauses the migration if more than 5,000 records in a module are skipped. You can discard or continue. You can also undo a migration from Import History. An upsert can roll back inserted rows, not rows it overwrote.Read the skip file before you click continue. Undo from Import History if the mapping was wrong and nobody has edited yet.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
LeadLeadstransformLast Name is mandatory. Map Owner ID after users exist.
AccountAccountstransformAccount Name is mandatory.
ContactContactstransformLast Name is mandatory.
OpportunityDealstransformDeal Name, Stage, and Closing Date are mandatory.
Task, Event, CallActivitiestransformCalls need Subject and Call Type.
Attachment filesAttachments on the parenttransformKeep the Attachments folder and the mapping CSV.
Custom object *_c.csvCustom moduletransformZoho can create the module from the file.
UserUsersmanualFirst. Then map owners.
Flow, formula, email templateNo destinationunsupportedRebuild automations. Templates need Data Loader, not the weekly export.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Download the Salesforce export before the 48-hour window, and do not queue another export on top of it.

  1. Schedule or run Data Export. Weekly if your edition allows it.
  2. Download every zip. The FAQ says each zip is about 512 MB and large orgs get several. Wait 60 seconds between downloads if you see too many requests.
  3. Extract and confirm CSV names and the Attachments folder.
  4. Record object counts. Note that the recycle bin is absent.
  5. Store a second copy. The org will not keep the files.

Proof to capture: Download time, zip checksums, and object counts.

Transformation · Salesforce Data Export zips

Build the zip Zoho expects

Give the Salesforce wizard files it can map.

  1. Download within 48 hours. Do not start another export first.
  2. Check for *_c.csv custom modules and the Attachments folder.
  3. Remove extra folders the general wizard would reject, keeping the folders the Salesforce article allows.
  4. Fill empty mandatory fields and strip blank rows on a copy.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · Zoho CRM Setup, Data Administration, Import, Salesforce

Run the Salesforce wizard

Create modules and records from the mapped files.

  1. Upload the zip. Review mapped, unmapped, and unsupported files.
  2. Map users first. Map Owner ID on the other modules.
  3. Create fields you need. Autonumber and formula are not available here.
  4. Start migration. If a module skips more than 5,000 rows, stop and read the file before you continue.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Backup

The export disappears

criticalpossible likelihood

Files last 48 hours, and a new export removes them sooner.

Consequence
You migrate from a partial download.
Mitigation
Download every zip the day it is ready. Wait between downloads.

Stop if: A zip is missing and the export is already gone.

Users

Owners do not match

criticallikely likelihood

Zoho wants users in first and Owner ID mapped.

Consequence
Records sit on the admin or get skipped.
Mitigation
Import users, then map owners, then import the rest.

Stop if: A sample lead's owner is wrong.

Import

Five thousand skips

highpossible likelihood

Zoho pauses a module after 5,000 skipped records.

Consequence
You continue and leave a hole, or you undo a mapping that was wrong.
Mitigation
Read the skip file. Undo from Import History if people have not edited the new records yet.

Stop if: You cannot explain the skipped rows.

Cutover

Reps edit both CRMs

highpossible likelihood

The export is a snapshot. The recycle bin is not in it.

Consequence
The last notes exist only in Salesforce.
Mitigation
Freeze Salesforce, export, then import. Upsert later only if you understand that overwrites cannot be undone.

Stop if: Salesforce changed after the export you imported.

06Precise timeline

Do the work in this order.

Estimate forOne Salesforce org, Zoho CRM admin, files inside the 5 GB and 25 GB caps
Total elapsed1 to 2 weeks, plus the export queue
Active workA few days of mapping and checking
BufferSalesforce says a busy queue can delay a weekly export by days. Download the moment it arrives.
01
Days 1 to 3Run and download Data Export1 to 7 days
02
Day 4Clean a copy of the CSVs1 day
03
Day 5Import users, then a pilot1 day
04
Days 6 to 8Full migration2 days
05
Day 9Freeze and delta1 day
  1. Days 1 to 3 · export

    Run and download Data Export

    2 hours active1 to 7 days elapsedThe export queue, then 48 hours to download waiting
    • Start the export.
    • Download every zip.
    • Count objects and confirm attachments.
    Stop / go checkpoint

    Do you have every zip?

    Go when: Checksums are stored and the 48-hour window is not your only copy.

    Stop when: A zip failed and the export was replaced.

  2. Day 4 · clean

    Clean a copy of the CSVs

    4 hours active1 day elapsedNone waiting
    • Fill mandatory blanks.
    • Fix multi-selects and checkboxes.
    • Drop blank rows.

    Depends on: export

    Stop / go checkpoint

    Is the copy safe to upload?

    Go when: A sample of leads, accounts, and deals has the mandatory fields.

    Stop when: Owner ids are missing.

  3. Day 5 · users

    Import users, then a pilot

    3 hours active1 day elapsedThe pilot migration waiting
    • Import users.
    • Import a small lead and account file.
    • Check owners and a few attachments.

    Depends on: clean

    Stop / go checkpoint

    Did the pilot map?

    Go when: Owners, a lookup, and an attachment match.

    Stop when: The pilot skip file is large.

  4. Days 6 to 8 · full

    Full migration

    4 hours active2 days elapsedZoho processing waiting
    • Upload the full zip.
    • Map fields. Create the custom fields you can.
    • Read skip counts before you accept the module.

    Depends on: users

    Stop / go checkpoint

    Are skip counts acceptable?

    Go when: Each module's added and skipped numbers are explained.

    Stop when: A module passed 5,000 skips and you have not read them.

  5. Day 9 · cutover

    Freeze and delta

    3 hours active1 day elapsedAnother Salesforce export if you need a delta waiting
    • Stop Salesforce edits.
    • Export and import the delta, or upsert with the resolution you intend.
    • Rebuild the automations for the first week.
    • Send reps to Zoho.

    Depends on: full

    Stop / go checkpoint

    Which CRM is writable?

    Go when: Counts match the frozen export and a rep can open their deals.

    Stop when: Salesforce was edited after the file you imported.

07The point of change

Cut over with a way back.

Go live

Cutover

Make Zoho the CRM reps edit, with Salesforce frozen on the export you actually loaded.

Recommended window: After the pilot, on a day you can download a fresh export inside 48 hours. Not month-end close if reps must log opportunities that day.

  1. Tell the team Salesforce is read-only. Record the time.
  2. Run a final export and download it immediately.
  3. Import the delta. Map owners again.
  4. Turn off Salesforce workflows that email customers.
  5. Send people to Zoho. Leave Salesforce readable.

Proof to capture: Freeze time, final zip checksums, and the Zoho summary of added and skipped rows.

Return to safety

Rollback

Send reps back to Salesforce if Zoho owners, skips, or attachments are wrong.

Deadline: Before reps have edited Zoho for days. Import History can undo a migration. Upsert overwrites cannot be undone.

  1. Tell reps to stop typing in Zoho.
  2. If the migration itself is bad and nobody has edited, undo it from Import History.
  3. Turn Salesforce workflows back on.
  4. Copy any Zoho-only notes back into Salesforce by hand.
  5. Leave the downloaded zips. Salesforce will not still have them.

Proof to capture: Salesforce is the only CRM being edited, and Zoho-only notes are copied or listed.

Rollback immediately when
  • A sample of owners is wrong.
  • A module skipped more than you can explain.
  • Attachments are not on the parent records.
  • Reps edited Salesforce after the imported file was produced.
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
ZIP-01BlockingEvery zip is on diskCompare the export page's file list with local checksums.Every file is downloaded. None exist only in Salesforce.The file list and checksums.
USR-01BlockingUsers imported firstOpen Setup, Users in Zoho and compare the count.Active users you meant to move are present.The user count.
OWN-01BlockingOwner sampleOpen 20 leads and 20 deals and compare owners with Salesforce.Owners match.The sample ids.
MOD-01BlockingAdded and skippedRead the migration summary per module.Added plus skipped explains the source count.The summary.
MAN-01BlockingMandatory fieldsCheck leads for Last Name and deals for stage and close date.No blank mandatory field on the sample.The sample.
ATT-01BlockingAttachmentsOpen 10 records that had files.The files are on the record.The record ids.
TAG-01Tag trimFind a record that had more than 10 tags.You know which tags were dropped.One example.
AUT-01BlockingCustomer emailConfirm Salesforce workflows that email customers are off, and the Zoho ones you need exist.Only one system can email a customer from the CRM.The workflow list.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: Reps have worked in Zoho for a week, owner samples still match, and the Salesforce zips are stored outside Salesforce.

  1. Keep the zips. The org will not.
  2. Leave Salesforce read-only until the retention date you agreed.
  3. Rebuild the weekly reports in Zoho.
  4. Remove migration-only Zoho users.
  5. Set the next review date.
10Experiences from the field

When the plan met reality.

First-hand accounts are preferred. Vendor case studies are labeled, and every note below is an editorial paraphrase—follow the link for the full context.

Vendor case studyAlex Tolbert · Zoho

Bernard Health's switch from Salesforce to Zoho CRMUndated

Zoho's customer story says Bernard Health had used Salesforce for nine years across software licensing and retail advice. After per-user fees rose, founder Alex Tolbert ran the move to Zoho CRM himself, without an outside consultant. He says the data migration took four days and the company finished transitioning in about a week. A year and a half later the story quotes a saving of over 70 percent a year, with about 90 user licenses, and names other Zoho products they added. This is Zoho's own case study.

What they recommend
  • A founder-run data load can be short, and the story still does not list which objects moved.
  • Read vendor savings claims as the customer's quote in the vendor's story, then check your own edition and user count.
Worth noticing
  • Bernard Health's reported data migration was four days, with about a week to settle the company on Zoho.
  • The piece is a Zoho customer story, so the cost saving is their published quote, not an independent audit.
Sources and evidence

Verify against the primary material.

Platform behavior changes. Check these sources and the review dates above before executing a production migration.

  1. Salesforce: export backup dataAccessed 2026-11-06
  2. Salesforce: Data Export FAQAccessed 2026-11-06
  3. Zoho CRM: migrate from SalesforceAccessed 2026-11-06
  4. Zoho CRM: data migration overviewAccessed 2026-11-06