CRM migration
Field-level mapping, validation, and rollback between Simply CRM and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Simply CRM
Source
Salesforce Sales Cloud
Destination
Compatibility
12 of 14
objects map 1:1 between Simply CRM and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours
Overview
Simply CRM, built on SugarCRM Professional, stores customer data in a single object graph: contacts linked to companies, deals attached to either, and activity records (tasks, events, notes) tied to parent records. Salesforce Sales Cloud separates leads from contacts at the object level, uses AccountId lookups to link contacts to accounts, and requires Opportunity Contact Roles to connect multiple contacts to a deal. The migration must therefore split Simply CRM contacts into Salesforce Leads and Contacts based on deal status, establish Account records before contact imports can reference them, and create Opportunity Contact Role junction records for multi-contact deals. We use Salesforce Bulk API 2.0 for high-volume record ingestion, resolving Simply CRM owner emails to Salesforce User IDs before inserting. Custom fields from Simply CRM map to Salesforce __c fields, with pick-list value mapping handled per record type. Workflows, sequences, and automation rules do not migrate — we export the rule definitions as JSON so your Salesforce admin can rebuild them in Flow. The delta-pickup window (24–48 hours) captures any records modified during the final cutover sync.
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 Simply CRM 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.
Simply CRM
Contact
Salesforce Sales Cloud
Contact + Lead (split by status)
1:manySimply CRM contacts with no associated deals or early-stage associations route to Salesforce Lead. Contacts attached to closed or active deals route to Salesforce Contact. The split preserves the source contact record ID in Source_System_ID__c for traceability, enabling downstream cross-reference and delta-sync validation against the original Simply CRM export. This contact-to-lead routing logic is configurable per deal stage name, allowing your admin to tune the threshold based on sales process definitions.
Simply CRM
Company
Salesforce Sales Cloud
Account
1:1Simply CRM company name, domain, industry, employee count, and annual revenue map directly to Salesforce Account fields. Parent-company relationships in Simply CRM map to Account.ParentId — parent accounts must migrate first to avoid orphaned child records. Circular parent-child references are detected during the pre-migration audit and flagged for admin resolution before the full migration batch commits to Salesforce.
Simply CRM
Deal
Salesforce Sales Cloud
Opportunity
1:1Simply CRM deals become Salesforce Opportunities. The deal name maps to Opportunity.Name, amount to Amount, close date to CloseDate, and owner to OwnerId via email resolution. Pipeline stages map to Opportunity Stage values per Salesforce Record Type, with probability and forecast category reapplied from Salesforce-side stage configuration. The Simply CRM deal ID is stored in Source_System_ID__c for audit traceability.
Simply CRM
Pipeline
Salesforce Sales Cloud
Record Type + Sales Process
1:1Each Simply CRM pipeline maps to a Salesforce Record Type so stage pick-list values are scoped correctly per business unit. The Salesforce Sales Process ties to the Record Type, controlling which stage values are available. Multiple pipelines in Simply CRM result in multiple record types in Salesforce.
Simply CRM
Stage (Deal Stage)
Salesforce Sales Cloud
Opportunity Stage
1:1Simply CRM deal stage names map value-by-value to Salesforce Opportunity Stage pick-list values. Stage probability and forecast category are reapplied from Salesforce-side configuration. Stage-entered timestamps from Simply CRM are preserved as custom datetime fields for reporting continuity. Any stage names without a direct Salesforce equivalent are flagged for explicit mapping before the migration run.
Simply CRM
Task / Activity
Salesforce Sales Cloud
Task
1:1Simply CRM tasks (calls, emails, follow-ups) migrate to Salesforce Task records with Type='Call' or Type='Email' preserved from the source activity type. Original timestamps, owners, and parent-record links (WhoId, WhatId) are maintained through the mapping. Tasks without a resolvable parent record (deleted source contacts or companies) are linked to a fallback WhatId or flagged for manual review.
Simply CRM
Event / Meeting
Salesforce Sales Cloud
Event
1:1Simply CRM calendar events map to Salesforce Events with original start/end times, subject, and location preserved. Recurring events expand to individual Event records per occurrence. Parent-record links (WhoId, WhatId) resolve to Salesforce Lead or Contact IDs post-migration. Events referencing deleted parent records are held from the migration batch pending admin decision on whether to orphan or discard.
Simply CRM
Note
Salesforce Sales Cloud
Note
1:1Simply CRM notes migrate to Salesforce Notes (modern Notes object, not legacy Note). Rich-text formatting is preserved through the migration. Notes attach to parent records via Salesforce's ContentDocumentLink mechanism. Notes exceeding Salesforce's 32KB body limit are flagged — these may be split into multiple Notes or stored as attachments if splitting is not feasible.
Simply CRM
Attachment / File
Salesforce Sales Cloud
ContentDocument / ContentVersion
1:1Simply CRM file attachments download and re-upload to Salesforce Files (ContentDocument/ContentVersion). File size limits apply — Salesforce defaults to 25MB per file. Files are linked to parent records via ContentDocumentLink. Inline images in notes extract and rehost as separate content.
Simply CRM
Custom Field (SugarCRM-style)
Salesforce Sales Cloud
Custom Field (__c)
1:1Simply CRM custom fields (cstm_ prefix in database) map to Salesforce custom fields with the __c suffix. Custom pick-list fields require value-by-value mapping in Salesforce. Custom date, number, currency, and text fields map by data type. The Salesforce admin creates fields before migration validation runs.
Simply CRM
User / Owner
Salesforce Sales Cloud
User (OwnerId)
1:1Simply CRM assigned_user_id values resolve to Salesforce User IDs by email address. Users present in Simply CRM but not in Salesforce are flagged before migration — either invited to Salesforce first or assigned to a fallback user. This prevents records landing with null OwnerId.
Simply CRM
Contact-Company Association
Salesforce Sales Cloud
Account Contact Relation
many:1Simply CRM supports N:1 contact-to-company associations natively. Salesforce supports a primary AccountId on Contact plus Account Contact Relations for additional accounts. The most-recently-modified company becomes the primary AccountId; others migrate as Account Contact Relations with Roles if Simply CRM association labels exist.
Simply CRM
Campaign (if applicable)
Salesforce Sales Cloud
Campaign
1:1Simply CRM campaign records migrate to Salesforce Campaign with name, type, status, start/end dates, and budgeted cost preserved. Campaign members link to Salesforce Leads or Contacts based on the contact's migration destination. Note: marketing automation logic (drip sequences, enrollment criteria) does not migrate.
Simply CRM
Project / Project Task (Simply CRM extension)
Salesforce Sales Cloud
Custom Object or Task (depending on scope)
1:1If Simply CRM project management extensions are in use, custom object migration applies. Projects map to a Salesforce custom object (Project__c) with Project Tasks as a related list. We assess the specific schema from the source export before mapping. Standard Salesforce Tasks cannot fully replicate project management without custom object design.
| Simply CRM | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Contact + Lead (split by status)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | Record Type + Sales Process1:1 | Fully supported | |
| Stage (Deal Stage) | Opportunity Stage1:1 | Fully supported | |
| Task / Activity | Task1:1 | Fully supported | |
| Event / Meeting | Event1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Attachment / File | ContentDocument / ContentVersion1:1 | Fully supported | |
| Custom Field (SugarCRM-style) | Custom Field (__c)1:1 | Fully supported | |
| User / Owner | User (OwnerId)1:1 | Fully supported | |
| Contact-Company Association | Account Contact Relationmany:1 | Fully supported | |
| Campaign (if applicable) | Campaign1:1 | Fully supported | |
| Project / Project Task (Simply CRM extension) | Custom Object or Task (depending on scope)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.
Simply CRM gotchas
SugarCRM Professional edition gates certain modules
Export discrepancies between screen records and CSV output
Custom field schema varies per installation
Workflow automations do not survive migration
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Pre-migration schema audit and Salesforce org preparation
We export the full Simply CRM metadata via REST API — object list, field definitions, custom field API names (cstm_ prefix), pick-list values, and relationship metadata. We compare this against your target Salesforce org's field list and identify gaps. Your Salesforce admin (or our team) creates the Record Types, page layouts, custom fields (__c suffix), and stage pick-list values before data validation begins. We deliver a Salesforce schema setup checklist so the org is migration-ready before any record movement occurs.
Owner and user resolution across platforms
Simply CRM assigned_user_id values on every record must map to Salesforce OwnerId lookups. We extract all unique owner email addresses from Simply CRM, match them against your Salesforce org's User table by email, and generate a resolution table. Users present in Simply CRM but absent from Salesforce are flagged — your team either provisions them in Salesforce or designates a fallback owner before migration. No record inserts without a resolved OwnerId unless explicitly instructed to set a system fallback.
Migrate Accounts and Companies before Contacts and Leads
Salesforce requires Accounts to exist before Contacts can reference AccountId, and Contacts to exist before Opportunities can link Contact Roles. We sequence the migration in dependency order: Accounts first, then Leads and Contacts split by deal status, then Opportunities with stage mapping and RecordTypeId assignment, then Activity records and Notes last. Junction objects (OpportunityContactRole, AccountContactRelation) run after both parent records are committed. This order prevents foreign-key orphaning that would require post-migration cleanup.
Sample migration with field-level diff and validation
A representative slice — typically 200–500 records spanning contacts, companies, deals, and activity types — migrates first against your Salesforce sandbox or development org. We generate a field-level diff comparing source values to destination field values, flagging any truncation, null-insertion, or incorrect type conversion. You review the diff and confirm the Lead/Contact split logic, stage mapping, and owner resolution before the full migration scope commits. Sample migration typically runs within 24 hours of schema setup completion.
Full migration run with delta-pickup window and rollback planning
Once the sample migration is approved, the full Simply CRM dataset migrates to Salesforce production using Bulk API 2.0 for high-volume throughput. A delta-pickup window (24–48 hours post full-migration) captures any records created or modified in Simply CRM during the cutover period. FlitStack generates an audit log of every record operation (insert, update, skip) and provisions a one-click rollback that restores the Salesforce org to its pre-migration state if reconciliation against the Simply CRM export report fails.
Platform deep dives
Simply CRM
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Simply CRM and Salesforce Sales Cloud.
Object compatibility
2 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
Simply CRM: Not publicly documented.
Data volume sensitivity
Simply CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Simply CRM to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Simply CRM to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Simply CRM
Other ways to arrive at Salesforce Sales Cloud
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.