CRM migration
Field-level mapping, validation, and rollback between SuperOffice CRM and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
SuperOffice CRM
Source
Salesforce Sales Cloud
Destination
Compatibility
9 of 14
objects map 1:1 between SuperOffice CRM and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
4-8 weeks
Overview
Moving from SuperOffice CRM to Salesforce Sales Cloud is a structural migration, not a record copy. SuperOffice uses one unified Contact and Company model where the Company-Contact link is the primary relationship; Salesforce separates Accounts (replacing Companies), Leads (for unqualified prospects), and Contacts (attached to Accounts). For most SuperOffice accounts with a mature B2B customer base, the migration lands all Contacts as Salesforce Contacts with the AccountId resolved from the Company mapping, and any raw unqualified prospects land as Salesforce Leads. We sequence Accounts first so that every Contact insert satisfies the required AccountId lookup. Activity history (calls, emails, appointments, tasks) cannot move through Salesforce's CSV loader at scale — we use the Bulk API 2.0 with chunking and parent-record resolution to preserve the full timeline. Selections, Documents, Quote Alternatives, and Project-Type links do not have native equivalents in Salesforce; we handle each as a documented transformation with post-migration handoff notes. SuperOffice Workflows, CRM scripts, and any on-premises add-ons do not migrate as code.
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 SuperOffice 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.
SuperOffice CRM
Company
Salesforce Sales Cloud
Account
1:1SuperOffice Company records map directly to Salesforce Account. The company name becomes the Account Name field and serves as the dedupe key during import. We sequence Account import first in all SuperOffice migrations because every Contact requires an AccountId lookup at insert time. The Company-Contact relationship is resolved by matching the SuperOffice contact.associate_id foreign key against the Account ID produced during import.
SuperOffice CRM
Contact
Salesforce Sales Cloud
Contact
1:1SuperOffice Contact records map to Salesforce Contact with AccountId resolved from the Company mapping. For SuperOffice installations with a large raw-prospect list that was never attached to a Company, we hold those records in a reconciliation queue and map them to Salesforce Lead with the source field set to 'SuperOffice Import'. Name, email, phone, postal address, and all userDefined custom fields migrate with type-mapped Salesforce field equivalents.
SuperOffice CRM
Sale (Deal)
Salesforce Sales Cloud
Opportunity
1:1SuperOffice Sale records map to Salesforce Opportunity. The sale.sale_type_id links to the SaleType list table and becomes the Salesforce Record Type and Sales Process. Sale stage maps to StageName, amount to Amount, close date to CloseDate, and sale_reason to a custom Loss Reason field. We configure the Sales Process and stage values in Salesforce Sandbox before migration to ensure the stage mapping is valid at insert time.
SuperOffice CRM
Sale Stage (SaleType)
Salesforce Sales Cloud
Opportunity Stage
lossySuperOffice pipeline stages are tied to the SaleType list table. We export each SaleType as a stage configuration object (name, order, probability percentage, open/closed flag) and apply it as a Salesforce Sales Process with corresponding StageName values. Stage probability percentages round to the nearest Salesforce-allowed integer.
SuperOffice CRM
Quote
Salesforce Sales Cloud
Quote
1:1SuperOffice Quote maps to Salesforce Quote, which is available as a standard object from Salesforce Sales Cloud Professional. The Quote object links to the Opportunity via OpportunityId, preserves the QuoteNumber, expiration date, and billing/shipping address. Line items migrate as OpportunityLineItem records after Pricebook2 and Product2 records are created.
SuperOffice CRM
QuoteAlternative
Salesforce Sales Cloud
Custom Field (JSON blob)
lossySuperOffice Quotes have one or more QuoteAlternative versions with independent line items, discount rates, and earning fields. Salesforce Quote has a single-level line item structure with no native Alternative concept. The primary QuoteAlternative becomes the live Salesforce Quote; secondary alternatives are serialized as a JSON structure and stored in a custom field quote_alternatives__c on the Quote. The post-migration handoff document lists each Quote with more than one alternative so the customer admin can decide whether to recreate them as separate Quotes.
SuperOffice CRM
Project
Salesforce Sales Cloud
Custom Project Object (__c)
1:1SuperOffice Project records with type and status from ProjType and ProjStatus list tables map to a Salesforce custom object Project__c if the destination org does not have Salesforce Project Management (a separate license). We pre-create the Project__c schema including type and status custom picklist fields that mirror the SuperOffice list values. Project links to Account or Opportunity migrate as custom lookup fields on Project__c.
SuperOffice CRM
Activity (call, task, appointment)
Salesforce Sales Cloud
Task and Event
1:1SuperOffice Activities (calls, tasks, appointments) linked to Contact, Company, or Sale map to Salesforce Task (for calls and tasks) and Event (for appointments). We preserve timestamps in ActivityDate/StartDateTime, duration, and completion status. Activity associations to other objects are reconstructed using the associate table's SuperOffice record IDs resolved to Salesforce IDs at migration time.
SuperOffice CRM
User (associate)
Salesforce Sales Cloud
User
1:1SuperOffice Users (associates) with an email address map to Salesforce User records by email match. Role information (module-level access rights) migrates as a custom Role__c text field on User because Salesforce's profile and permission set model does not map directly to SuperOffice's role structure. Users without an email address or with duplicate email addresses are held in a reconciliation queue for the admin to resolve before record migration resumes.
SuperOffice CRM
Document
Salesforce Sales Cloud
ContentDocument + ContentVersion
1:1SuperOffice documents stored in the document archive export as binary blobs with metadata (filename, created date, author, section-tab assignment). We migrate them as Salesforce ContentVersion records (file body, title, version data) with a ContentDocumentLink to the parent record (Contact, Account, or Opportunity) based on the original section-tab link. If SuperOffice's document archive references a record that was not migrated, the document links to a custom Unresolved_Reference__c Account as a holding point.
SuperOffice CRM
Custom Properties (userDefined fields)
Salesforce Sales Cloud
Custom Fields
1:1SuperOffice userDefined table entries on Contact, Company, Sale, and Project migrate as Salesforce custom fields on the equivalent object. We pre-create all custom fields in the destination Salesforce org before data import, using type mapping (SuperOffice date to Salesforce Date, integer to Number, text to Text) and preserving picklist values as Salesforce picklist values where applicable. Dropdown list dependencies must be recreated as Salesforce picklist restricted values by the admin before migration.
SuperOffice CRM
Selection (dynamic list)
Salesforce Sales Cloud
Tagged Records + Custom Field
lossySuperOffice Selections are named dynamic lists of Contacts, Companies, or Sales with filter criteria that live in the Selection_criteria table. Salesforce has no native equivalent for dynamic named lists. We export each Selection as a static set of record IDs with the Selection name stored in a custom multi-select picklist or tag field on each record. The post-migration handoff document lists every Selection with its original filter criteria and record count so the admin can rebuild them as Salesforce Reports with custom filters or as List Views.
SuperOffice CRM
Tag
Salesforce Sales Cloud
Multi-Select Picklist
lossySuperOffice tags applied across Contact, Company, Sale, and Project objects migrate to a Salesforce custom multi-select picklist field (Tags__c) on the corresponding object. We deduplicate the tag namespace and preserve all tag assignments per record. If the customer uses more than 500 distinct tags, we recommend a Salesforce custom object Tags__c with a junction object to avoid multi-select picklist length limits.
SuperOffice CRM
Pipeline (multiple pipelines)
Salesforce Sales Cloud
Record Type + Sales Process
lossySuperOffice supports multiple named Sale pipelines with independent stage sets. Each SuperOffice pipeline maps to a Salesforce Opportunity Record Type with a corresponding Sales Process that whitelists the pipeline-specific stage values. Page Layouts are assigned per Record Type so that stage values remain scoped per pipeline. We configure all Record Types and Sales Processes in the destination Salesforce org before migrating any Opportunity records.
| SuperOffice CRM | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Company | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Sale (Deal) | Opportunity1:1 | Fully supported | |
| Sale Stage (SaleType) | Opportunity Stagelossy | Fully supported | |
| Quote | Quote1:1 | Fully supported | |
| QuoteAlternative | Custom Field (JSON blob)lossy | Fully supported | |
| Project | Custom Project Object (__c)1:1 | Fully supported | |
| Activity (call, task, appointment) | Task and Event1:1 | Fully supported | |
| User (associate) | User1:1 | Fully supported | |
| Document | ContentDocument + ContentVersion1:1 | Fully supported | |
| Custom Properties (userDefined fields) | Custom Fields1:1 | Fully supported | |
| Selection (dynamic list) | Tagged Records + Custom Fieldlossy | Fully supported | |
| Tag | Multi-Select Picklistlossy | Fully supported | |
| Pipeline (multiple pipelines) | Record Type + Sales Processlossy | 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.
SuperOffice CRM gotchas
On-prem to cloud migration requires SuperOffice 7.1 minimum
Customizations and integrations may break after on-prem to cloud migration
Duplicate email addresses block user migration
Quote-Alternative hierarchy flattens in most destination CRMs
Activity-to-record associations require post-migration verification
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
Discovery and pre-migration audit
We audit the source SuperOffice installation across version (7.1 minimum required for Online Migration Tool compatibility), object inventory (Contacts, Companies, Sales, Projects, Quotes, Activities, Documents, Selections, Custom Properties), engagement volume per object, active Workflow count, active CRM script count, and associate table integrity (duplicate emails, inactive users, Travel user accounts). We pair this with a Salesforce edition recommendation: Professional ($80/user) covers most SuperOffice migrations with no custom objects; Enterprise ($165/user) is required for record-triggered Flow at scale, advanced forecasting, or multi-currency; Unlimited ($330/user) only if 24x7 support and full API access for custom development are needed. The discovery output is a written migration scope and a data cleanliness report with remediation tasks.
Destination schema design and Sandbox validation
We design the destination schema in Salesforce. This includes provisioning Project__c as a custom object (if the destination org does not have Salesforce Project Management), all custom fields from SuperOffice userDefined tables, Record Types and Sales Processes per SuperOffice pipeline, and QuoteAlternative handling (primary as Quote, secondary serialized). Schema is deployed into a Salesforce Full Copy Sandbox via metadata API for validation before any data moves. We also define the Lead-Contact split rule during this phase based on the customer's Contact-to-Sale association data.
Sandbox migration and reconciliation
We run a full migration into the Salesforce Sandbox using production-like data volume. The customer's RevOps lead reconciles record counts (Accounts in, Contacts in, Leads in, Opportunities in, Projects in, Activities in, Quotes in), spot-checks 25-50 random records against the SuperOffice source, validates Activity association chains (Contact-to-Account, Task-to-WhoId), and reviews the Quote-Alternative JSON output for completeness. The admin signs off the schema and mapping before production migration begins. All corrections happen in Sandbox, not production.
Owner and User reconciliation
We extract every distinct SuperOffice associate referenced on Contact, Company, Sale, Activity, and Document records and match by email against the Salesforce destination org's User table. Associates without a matching User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users and assigns the appropriate Profile and Permission Set (or flags the User as inactive if the original associate is no longer active in SuperOffice). Migration cannot proceed past this step because OwnerId references are required on most standard Opportunity and ContentDocument records.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from SuperOffice Companies), Contacts and Leads (with the split applied), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Projects__c, Product2 and Pricebook2 entries, OpportunityLineItem and Quote records, Activity history (Tasks and Events via Bulk API 2.0), Documents (ContentVersion via Bulk API), and Tags (as multi-select picklist values). Each phase emits a row-count reconciliation report before the next phase begins. Quote Alternatives are serialized after the primary Quote line items are committed.
Cutover, validation, and Workflow rebuild handoff
We freeze SuperOffice write access during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver the Workflow and CRM script inventory document to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the sales team. We do not rebuild SuperOffice Workflows as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
SuperOffice CRM
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 SuperOffice CRM and Salesforce Sales Cloud.
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
SuperOffice CRM: Tiered: Starter 500 req/min, Professional 2,500 req/min, Enterprise 10,000 req/min.
Data volume sensitivity
SuperOffice 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 SuperOffice CRM to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your SuperOffice 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 SuperOffice 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.