CRM migration

Migrate from SendCloud to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between SendCloud and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

SendCloud logo

SendCloud

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

50%

6 of 12

objects map 1:1 between SendCloud and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

SendCloud is an e-commerce shipping automation platform; Salesforce is a CRM. This migration is not a feature-for-feature replacement — it is a data-preservation operation that moves historical shipping data into Salesforce so that order fulfillment context lives alongside customer and account records. We map SendCloud Parcels and Shipments to a Shipment__c custom object, Returns to a Return__c custom object, and Address records to a ShippingAddress__c object or Account Address fields, all linked to the parent Account and Contact via Lookups. SendCloud's carrier-specific negotiated rate tables do not export as portable data; we flag this during scoping so customers understand they will need to re-negotiate or port carrier contracts directly. Webhook endpoint configurations, shop platform integration credentials, and return portal settings are inventoried and documented for manual rebuild. Workflows, shipping automation rules, and branded tracking page configurations are not migratable and are delivered as a written inventory for the customer to configure in Salesforce or a replacement shipping platform.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

SendCloud logo

SendCloud

What's pushing teams away

  • Initial integration setup is complex and time-consuming; some merchants report needing to assist SendCloud's own team with API and development issues.
  • Carrier coverage is inconsistent across regions; merchants shipping to or from specific countries report limited carrier options or missing support.
  • The platform is purpose-built for e-commerce shipping and lacks the broader sales, marketing, or customer management features that horizontal CRM platforms provide.
  • Pricing scales with shipment volume and carrier count, making it harder to predict costs as order volumes grow or as carriers are added.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How SendCloud objects map to Salesforce Sales Cloud

Each row shows how a SendCloud object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

SendCloud

Parcel

maps to

Salesforce Sales Cloud

Shipment__c (custom object)

1:1
Fully supported

SendCloud Parcel records map to a Salesforce custom object Shipment__c with fields for Parcel ID, weight, dimensions, reference number, status, and carrier routing. The Parcel's status field maps to a custom Shipment_Status__c picklist. Shipment__c is linked to the parent Account via a Lookup relationship, allowing fulfillment context to appear on the Account record. The original SendCloud Parcel ID is preserved in a custom field sc_parcel_id__c for audit traceability.

SendCloud

Shipment

maps to

Salesforce Sales Cloud

Shipment__c (parent grouping)

1:1
Fully supported

SendCloud Shipment records (logical groupings of one or more Parcels to the same recipient) map to a parent Shipment__c record that aggregates child Parcel records via a lookup relationship. The Shipment's destination Address, shipping method, service level, and estimated delivery date become fields on the parent Shipment__c. If the destination Salesforce org uses Order Management, the Shipment__c can alternatively be linked to an Order record via WhatId.

SendCloud

Return

maps to

Salesforce Sales Cloud

Return_Request__c (custom object)

1:1
Fully supported

SendCloud Return records map to a custom object Return_Request__c with fields for RMA number, return reason code, return label tracking number, and RMA status. The original SendCloud return reason codes are mapped to a picklist or multi-select picklist in Salesforce. Return_Request__c is linked to the original Shipment__c record (via lookup) and to the parent Account and Contact for service context.

SendCloud

Address (ship-to, ship-from)

maps to

Salesforce Sales Cloud

Account Address fields or ShippingAddress__c

lossy
Fully supported

Ship-from and ship-to addresses from SendCloud Shipments migrate as structured address records. In Salesforce, we map addresses to Account ShippingAddress fields for the merchant's ship-from location, and to a custom ShippingAddress__c object linked to Account or Contact for recipient addresses. Address validation rules differ between platforms; we flag address format discrepancies during reconciliation and apply normalization where possible.

SendCloud

Carrier

maps to

Salesforce Sales Cloud

Carrier__c (custom object)

1:1
Fully supported

SendCloud carrier configurations map to a Carrier__c custom object with fields for carrier name, carrier code, and service levels. We map carrier-to-carrier between SendCloud and Salesforce or the customer's preferred carrier integration. Merchant-specific negotiated carrier rates are SendCloud-stored values and do not transfer; we document the carrier mapping and flag that rate renegotiation or direct carrier account porting is required separately.

SendCloud

Custom Fields (Parcels, Returns)

maps to

Salesforce Sales Cloud

Custom fields on Shipment__c and Return_Request__c

lossy
Fully supported

Custom fields added to SendCloud Parcels and Returns on Growth and above plans are inventoried during scoping. Each custom field is mapped to an equivalent custom property on the corresponding Salesforce custom object, with Salesforce field types selected to match the source data type (text, number, date, picklist). The custom field schema is pre-created in the destination org before data import begins.

SendCloud

Webhook Subscriptions

maps to

Salesforce Sales Cloud

Webhook inventory document

lossy
Mapping required

SendCloud webhook endpoint configurations (Parcel status change, shipment event, return update) are exported as a structured inventory document listing endpoint URL, event types, and authentication configuration. We do not migrate webhooks as live connections because they are tied to the SendCloud account. The inventory document is delivered to the customer for manual recreation in the new shipping platform or Salesforce-based integration.

SendCloud

Users

maps to

Salesforce Sales Cloud

User mapping document

1:1
Mapping required

SendCloud user accounts with role assignments tied to shipping operations are inventoried and mapped to Salesforce User records by email match. Permission structures are platform-specific and require manual reconfiguration in Salesforce. The user inventory document identifies which SendCloud users should have Salesforce access provisioned and their recommended profile or permission set assignment.

SendCloud

Integrations (Shopify, WooCommerce, Magento, PrestaShop)

maps to

Salesforce Sales Cloud

Integration inventory document

lossy
Fully supported

Active native integrations with shop platforms (Shopify, WooCommerce, Magento, PrestaShop) are inventoried and documented with their current API credentials, webhook endpoints, and data sync scope. We flag which integrations require new API credentials to be generated and which require reconfiguration in the destination platform or the shop platform's integration settings. The integration inventory is delivered as a checklist for the customer's technical team to complete post-migration.

SendCloud

Shipping Labels (label format preferences)

maps to

Salesforce Sales Cloud

Label_Format_Preference__c (custom object)

lossy
Fully supported

SendCloud label format preferences (carrier label size, branding options, barcode settings) are stored as account-level configuration. We inventory available label format settings during scoping and document them for manual reconfiguration in the destination shipping platform or as custom settings in Salesforce if the customer implements a custom label generation workflow.

SendCloud

Tracking History

maps to

Salesforce Sales Cloud

Shipment_Event__c (custom object)

1:many
Fully supported

SendCloud Parcel tracking status events (label created, picked up, in transit, out for delivery, delivered, exception) map to child Shipment_Event__c records under the parent Shipment__c. Each event carries the timestamp, status, location, and carrier scan description. We preserve the full tracking timeline as a related list on the Shipment__c, allowing service and ops teams to view delivery history directly in Salesforce without navigating to SendCloud.

SendCloud

Return Label

maps to

Salesforce Sales Cloud

Return_Label__c (custom field on Return_Request__c)

1:1
Fully supported

Return labels generated in SendCloud (with tracking number, carrier, and label URL) map to custom fields on the Return_Request__c record: Return_Carrier__c, Return_Tracking_Number__c, and Return_Label_URL__c. The label binary itself is not migrated; instead we preserve the reference data so the customer can regenerate return labels in their new shipping platform and update the Return_Request__c record with the new label information.

Gotchas + challenges

What specifically takes care here

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 logo

SendCloud gotchas

High

Carrier-specific rate negotiated rates do not transfer

High

Webhook and integration credentials must be re-established

Medium

Free tier parcel cap is easy to exceed during migration

Medium

Return workflow configurations are account-specific

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Negotiated carrier rates are SendCloud-stored values that do not export

    SendCloud stores each merchant's negotiated carrier rates within its own platform tables. These rates are not exposed via the public API and cannot be exported as a portable data set. When migrating away from SendCloud, customers will need to re-negotiate carrier contracts or port existing agreements directly with carriers. We flag this during scoping so customers understand the rate data gap. We preserve all Parcel, Shipment, Return, tracking history, and label-format data that does not depend on SendCloud's internal rate tables.

  • Webhook subscriptions and integration credentials must be manually rebuilt

    SendCloud webhook subscriptions, shop platform integrations, and carrier API credentials are tied to the SendCloud account. After migration, the destination platform will not inherit these live connections. We export webhook endpoint configurations and integration settings as a structured inventory document so they can be recreated, but actual credential rotation and endpoint updates must be completed in both the source and destination systems. Skipping this step results in duplicate events or missed tracking updates during the cutover window.

  • SendCloud is a shipping platform, not a CRM — there is no feature parity migration

    SendCloud and Salesforce serve fundamentally different purposes. SendCloud manages e-commerce shipping workflows (label generation, carrier routing, tracking, returns); Salesforce manages customer relationships (accounts, contacts, opportunities, cases). Migrating from SendCloud to Salesforce does not replace shipping functionality — it embeds historical shipping data as context within a CRM. Customers must select a replacement shipping platform (such as ShipStation, EasyShip, or a direct carrier integration) to maintain active label generation and tracking after SendCloud is decommissioned.

  • Return portal settings are account-specific and not exposed via the API

    SendCloud's return portal configuration includes return reason codes, return label templates, and return-to-address settings set at the account level. These are not fully exposed via the public API. We inventory available return configuration during scoping and document the settings in the migration deliverable. Customers should plan for manual reconfiguration of return portal settings in the replacement shipping platform and may need to recreate return reason code picklists in Salesforce if the Return_Request__c custom object uses a controlled vocabulary.

  • Free plan parcel cap can be exceeded during migration export

    SendCloud's free plan allows up to 20 parcels per month. Migration export operations that pull historical shipment data consume API calls against this limit, potentially causing the account to hit its cap before the migration is complete. We scope the account's current plan before beginning export and recommend customers temporarily upgrade to a paid tier (Lite at €26/mo or above) if historical volume exceeds 20 parcels during the export window.

Migration approach

Six steps for a successful SendCloud to Salesforce Sales Cloud data migration

  1. Discovery and scoping

    We audit the SendCloud account across plan tier (Free/Lite/Growth/Premium/Enterprise), parcel volume, shipment count, return history, active carrier integrations, webhook subscriptions, custom field schemas on Parcels and Returns, and return portal configuration. We pair this with a review of the destination Salesforce org's existing data model to determine whether a Shipment__c / Return_Request__c custom object structure is sufficient or whether shipping data should be linked to existing Order or Case objects. The discovery output is a written migration scope, a custom object schema design, and a list of items requiring manual reconnection post-migration.

  2. Custom object schema design

    We design the destination schema in Salesforce. This includes provisioning Shipment__c, Return_Request__c, Carrier__c, Shipment_Event__c, and any other custom objects identified during discovery. We configure custom fields with Salesforce types mapped from SendCloud field types, establish Lookup relationships to Account and Contact, and define picklist values for Shipment_Status__c, Return_Reason__c, and Carrier__c. Page Layouts are assigned per profile. Schema is deployed into a Salesforce Sandbox first for validation before production migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-like data volume. The customer's operations or RevOps lead reconciles record counts (Shipments in, Returns in, Tracking events in), spot-checks 25-50 random Shipment__c records against the SendCloud source, and validates that parent Account lookups resolve correctly. The customer signs off on the schema, mapping, and custom field labels before production migration begins. Any mapping corrections happen here.

  4. Integration inventory and webhook documentation

    We export all active SendCloud webhook endpoint configurations, shop platform integration credentials, and carrier API settings as a structured inventory document. This document lists each integration's endpoint URL, event types, authentication method, and recommended reconnection steps in the replacement shipping platform or Salesforce-based integration. We deliver the inventory to the customer's technical team as a checklist for manual reconnection after cutover.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Carrier__c records first (no dependencies), then Account ShippingAddress data, then Shipment__c records with Parcel details and Shipment_Event__c child records (via Bulk API 2.0 for large tracking histories), then Return_Request__c records linked to parent Shipment__c and Account. Each phase emits a row-count reconciliation report before the next phase begins. We use Bulk API 2.0 with batch chunking and exponential backoff for tracking event volumes over 50,000 records.

  6. Cutover, validation, and integration rebuild handoff

    We freeze SendCloud writes during cutover, run a final delta migration of any records modified during the migration window, then mark Salesforce as the system of record for migrated shipping context. We deliver the webhook and integration inventory document to the customer's technical team with a recommended rebuild sequence. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild SendCloud shipping automation rules in Salesforce or a replacement shipping platform; that is a separate engagement or an internal technical task.

Platform deep dives

Context on both ends of the pair

SendCloud logo

SendCloud

Source

Strengths

  • Connects 25–80+ carriers including DHL, UPS, FedEx, and regional carriers in a unified dashboard.
  • Native integrations with 50+ shop platforms including Shopify, WooCommerce, and Magento.
  • Automated post-purchase tracking emails and branded tracking pages without manual intervention.
  • API-first platform with SDKs in Python, PHP, Ruby, Java, Node.js, and .NET.
  • Multi-market routing rules and customs documentation for cross-border e-commerce shipments.

Weaknesses

  • Initial integration and API setup is complex; customer reviews report needing to assist SendCloud's own development team with incomplete API documentation.
  • Rate limits and API quotas are not publicly documented, making migration scoping unpredictable for high-volume accounts.
  • Carrier coverage is inconsistent across certain regions and shipping corridors, limiting utility for merchants with geographically specific fulfillment needs.
  • The platform is e-commerce shipping-focused and does not offer broader CRM, marketing automation, or sales pipeline features.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across SendCloud and Salesforce Sales Cloud.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    SendCloud: Not publicly documented.

  • Data volume sensitivity

    A

    SendCloud exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your SendCloud to Salesforce Sales Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about SendCloud to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during SendCloud to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your SendCloud to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between three and five weeks for accounts under 50,000 Parcels and 10,000 Returns with a simple Account-linked custom object structure. Migrations with large tracking history volumes (over 100,000 shipment status events), complex custom field schemas, multi-warehouse routing data, or extensive integration reconnection work move to eight to twelve weeks because of custom object schema design, Bulk API time, and integration documentation scope.

Adjacent paths

Related migrations to explore

Ready when you are

Move from SendCloud.
Land in Salesforce Sales Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day