CRM migration
Field-level mapping, validation, and rollback between SendCloud and Zoho CRM. We move data and schema; workflows are rebuilt natively in Zoho CRM.
SendCloud
Source
Zoho CRM
Destination
Compatibility
8 of 11
objects map 1:1 between SendCloud and Zoho CRM.
Complexity
BStandard
Timeline
2-4 weeks
Overview
SendCloud is a purpose-built e-commerce shipping platform, not a CRM. Migrating from SendCloud to Zoho CRM means extracting operational shipping data and embedding it inside a full customer relationship management system. We convert SendCloud's structured address records into Zoho Contacts and Accounts, and we map Parcels, Shipments, and Returns to Zoho custom modules that preserve tracking numbers, carrier routing, and return status. Carrier-specific negotiated rates are stored in SendCloud's internal tables and do not export; we flag this during scoping so customers can plan carrier re-engagement. Return portal settings, webhook subscriptions, and shop platform integration credentials require manual recreation in Zoho based on the exported configuration inventory. Zoho's API credit limits (25,000/day per org or 500/user, whichever is lower) govern our batch sizing during import, and custom field creation costs 10 credits per field, which we factor into the scoping estimate. We do not migrate SendCloud automations or carrier rate tables.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a SendCloud object lands in Zoho CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
SendCloud
Address (ship-to)
Zoho CRM
Contact
1:1SendCloud ship-to addresses stored as structured objects map to Zoho CRM Contacts. We extract recipient name, street address, city, state/province, postal code, and country, and map these to the standard Contact fields. Email and phone fields are populated where available in the address record or linked Parcel data. Address is the parent of any Contact import so that the Account link can be resolved for records that represent business accounts rather than individual recipients.
SendCloud
Address (ship-to, business)
Zoho CRM
Account
1:1Where SendCloud address records include a company name or represent B2B shipments, we map these to Zoho CRM Accounts. We use the company name as the Account Name and populate the billing address fields. Individual consumer addresses without a company field remain as Contacts without an Account parent.
SendCloud
Address (ship-from)
Zoho CRM
Contact or Account (warehouse)
lossySendCloud ship-from addresses represent merchant warehouses or 3PL locations. We map these to Contacts marked with a Role custom field (e.g., 'Warehouse' or 'Ship-From') or to an Account named after the warehouse location, depending on the customer's preference. The customer's Zoho admin chooses the strategy during scoping.
SendCloud
Parcel
Zoho CRM
Custom Module: Parcel
1:1SendCloud Parcels migrate to a Zoho custom module named 'Parcel' (API name Parcel__c). We map Parcel ID, reference number, weight, dimensions, status, carrier, service level, and the create timestamp to custom fields on the module. Parcel is the child of the Contact (recipient) and Account (merchant) via lookup relationships we configure before import. Custom fields on SendCloud Parcels (Growth and above) map to additional custom fields on Parcel__c.
SendCloud
Shipment
Zoho CRM
Custom Module: Shipment
1:1SendCloud Shipments migrate to a Zoho custom module named 'Shipment' (API name Shipment__c). A Shipment groups one or more Parcels sent to the same recipient, so we create the Shipment record first and link each child Parcel record via a lookup field. We map shipment ID, destination address (linked to the Contact), shipping method, service level, estimated delivery date, and shipment status. Shipment__c is lookup-linked to the Contact (recipient) and Account (merchant) before Parcel import begins.
SendCloud
Return
Zoho CRM
Custom Module: Return
1:1SendCloud Returns migrate to a Zoho custom module named 'Return' (API name Return__c). We map return ID, return reason code, carrier, return label status, RMA number, and return create date. The Return record links to the original Parcel via a lookup field and to the Contact that initiated the return. Return portal settings (reason codes, label templates, return-to-address) are not exposed via the SendCloud API and cannot be programmatically migrated; we export available configurations for manual reconfiguration in Zoho.
SendCloud
Carrier routing rules
Zoho CRM
Custom fields on Parcel__c
lossySendCloud carrier routing rules define default carrier selection per shipment corridor. We map the selected carrier and service level to custom picklist fields on Parcel__c rather than creating a separate module, because routing rules are configuration not transactional data. The customer should plan to rebuild carrier selection logic as Zoho workflow rules or Blueprint stages post-migration.
SendCloud
Custom Fields (Parcels and Returns)
Zoho CRM
Custom fields on respective modules
lossySendCloud supports custom fields on Parcel and Return objects on Growth and above plans. We inventory all custom field schemas during scoping, map each to an equivalent Zoho custom field (with matching data type, picklist values, and required/optional status), and pre-create the schema in Zoho before data import. Custom field creation costs 10 API credits per field in Zoho, which we factor into our scoping estimate.
SendCloud
Webhook subscriptions
Zoho CRM
Written inventory document
1:1SendCloud webhook subscriptions for Parcel status changes, shipment events, and return updates are tied to the SendCloud account and do not migrate to Zoho. We export the webhook endpoint URLs, event types, and signing secrets as a configuration inventory document. The customer's admin uses this to recreate webhook subscriptions in Zoho Deluge or via a third-party middleware tool post-migration. We do not configure live webhook endpoints as part of standard migration scope.
SendCloud
Shop platform integrations
Zoho CRM
Written inventory document
1:1SendCloud's native integrations with Shopify, WooCommerce, Magento, PrestaShop, and other shop platforms connect order data to shipping labels. We inventory active integrations and flag which require new API credentials to be generated and registered at the destination. The customer completes integration re-registration post-migration; we do not perform this step as it involves credential rotation in live shop systems.
SendCloud
User accounts
Zoho CRM
Contact (internal)
1:1SendCloud user accounts with team role assignments are mapped to Zoho Contacts with a Role custom field. We preserve user name, email, and team assignment for audit purposes. Zoho's native user management (Users module) is not populated from SendCloud because Zoho Users must be licensed and provisioned within Zoho's own identity system, which is a separate administrative step.
| SendCloud | Zoho CRM | Compatibility | |
|---|---|---|---|
| Address (ship-to) | Contact1:1 | Fully supported | |
| Address (ship-to, business) | Account1:1 | Fully supported | |
| Address (ship-from) | Contact or Account (warehouse)lossy | Fully supported | |
| Parcel | Custom Module: Parcel1:1 | Fully supported | |
| Shipment | Custom Module: Shipment1:1 | Fully supported | |
| Return | Custom Module: Return1:1 | Fully supported | |
| Carrier routing rules | Custom fields on Parcel__clossy | Fully supported | |
| Custom Fields (Parcels and Returns) | Custom fields on respective moduleslossy | Fully supported | |
| Webhook subscriptions | Written inventory document1:1 | Fully supported | |
| Shop platform integrations | Written inventory document1:1 | Fully supported | |
| User accounts | Contact (internal)1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
SendCloud gotchas
Carrier-specific rate negotiated rates do not transfer
Webhook and integration credentials must be re-established
Free tier parcel cap is easy to exceed during migration
Return workflow configurations are account-specific
Zoho CRM gotchas
API access requires Professional tier or above
Subform fields do not export cleanly via CSV
API credit consumption is non-linear
Export download links expire in 7 days
Owner (User) assignments require pre-mapped user IDs
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the source SendCloud account across plan tier, Parcel and Return record volume, active carrier integrations, webhook subscriptions, custom field schemas, and return portal configuration. We map these against Zoho CRM editions (Standard at $14/user/mo covers custom modules; no onboarding fee applies) and confirm the custom module names, field types, and lookup relationships needed in Zoho. The discovery output is a written migration scope, a Zoho custom module schema design, and a flag of any carrier rate data or return configurations that will not transfer.
Custom module and schema pre-creation in Zoho Sandbox
We create the Parcel__c, Shipment__c, and Return__c custom modules in a Zoho Sandbox org, including all custom fields, picklist values, and lookup relationships. We coordinate with the customer's Zoho admin to grant the migration user the necessary API permissions and to temporarily disable validation rules that could block shipment data import. Schema validation in Sandbox precedes any production migration.
Address extraction and Contact-Account disambiguation
We extract all ship-to addresses from SendCloud Parcels and group them by recipient. Addresses with a company name are routed to Zoho Accounts; individual consumer addresses route to Contacts. Where ambiguity exists (an address could be either a Contact or an Account), we flag the record for the customer's review rather than making a unilateral decision. The Contact and Account import completes before Parcel and Shipment imports because Parcel__c records have a lookup to the recipient Contact.
Parcel and Shipment migration in dependency order
We run Parcel and Shipment migration in strict dependency order: Shipment records are created first, then Parcel records are linked to the correct Shipment via the shipment lookup field. Each Parcel also links to the recipient Contact and merchant Account via lookup fields resolved at migration time. We use Zoho's bulk API with chunking and implement exponential backoff on 429 responses to stay within the 25,000/day API credit window. Custom fields from SendCloud map to pre-created Zoho custom fields with type matching (text to text, date to date, picklist to picklist).
Return migration with original Parcel linkage
We migrate Return records after Parcels are imported, linking each Return to its originating Parcel via the Parcel lookup field. Return reason codes, label status, and RMA data populate Zoho custom fields. The return portal configuration inventory is delivered as a written document for manual reconfiguration in Zoho Desk or a custom return module.
Webhook and integration handoff
We deliver the webhook subscription inventory (endpoint URLs, event types, signing secrets) and the shop platform integration inventory (active connections and required credential rotation steps) as written documents. We do not configure live webhook endpoints or re-register shop platform credentials as part of standard migration scope; these require credential rotation in live systems and are completed by the customer's admin post-migration. We support a one-week post-cutover window for reconciliation of any import discrepancies.
Platform deep dives
SendCloud
Source
Strengths
Weaknesses
Zoho CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across SendCloud and Zoho CRM.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
SendCloud: Not publicly documented.
Data volume sensitivity
SendCloud exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during SendCloud to Zoho CRM migration scoping. Not seeing yours? Book a call.
Walk through your SendCloud to Zoho CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave SendCloud
Other ways to arrive at Zoho CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.