CRM migration
Field-level mapping, validation, and rollback between Sunbase Data and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Sunbase Data
Source
Salesforce Sales Cloud
Destination
Compatibility
9 of 14
objects map 1:1 between Sunbase Data and Salesforce Sales Cloud.
Complexity
CModerate
Timeline
6-10 weeks
Overview
Moving from Sunbase Data to Salesforce is a structural migration that begins with data extraction challenges: Sunbase publishes no publicly documented REST API, so extraction relies on direct database access for enterprise migrations or per-module CSV exports for standard accounts. Sunbase organizes data across modular tables (CRM, Projects, Work Orders, Invoices, Employees) with no unified export endpoint, requiring us to build a cross-module relationship map during discovery that connects Contact IDs to Deal IDs, Project IDs to Work Order IDs, and so on before any records move. We load Accounts before Contacts, Opportunities before Activities, and resolve parent-record lookups at migration time using Salesforce Bulk API 2.0 with chunking and exponential backoff. Pipeline configurations, automation rules, and custom workflow triggers do not migrate as code; we deliver a written inventory of every automation and pipeline stage the customer's admin rebuilds in Salesforce Flow and Sales Process configuration. Projects and Work Orders from Sunbase's industry-specific module map to Salesforce custom objects (or Service Cloud Cases if the destination org includes Service Cloud), preserving installation metadata, permit info, and crew assignments that generic CRM objects cannot capture natively.
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 Sunbase Data 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.
Sunbase Data
Contact
Salesforce Sales Cloud
Lead or Contact (split required)
1:manySunbase unified contact model stores Leads, Contacts, and Clients in a single object with role assignments (prospect, customer, partner). Salesforce requires splitting unqualified prospects into Lead and qualified contacts into Contact attached to Account. We define the split rule during scoping using Sunbase's contact status and source fields, compute the split at migration time, and preserve the original Sunbase contact status in a custom field sunbase_contact_status__c on both Lead and Contact for audit. Any Sunbase contact linked to an active Deal migrates as a Contact with AccountId resolved; unlinked contacts with early-stage status migrate as Leads.
Sunbase Data
Client
Salesforce Sales Cloud
Account
1:1Sunbase Clients represent the business entity side of the relationship and map directly to Salesforce Account. Sunbase Client records include business name, address, industry classification, and tax ID where configured. We use the business name as the Account Name and preserve the Sunbase client ID in a custom field sunbase_client_id__c for reconciliation. Client records without a business name (individual clients) map to Salesforce Account Name using the individual name and are flagged for manual review.
Sunbase Data
Deal
Salesforce Sales Cloud
Opportunity
1:1Sunbase Deals track the sales pipeline including proposals, quotes, and stage history. We map Deal values, stage names, close dates, and probability percentages. Sunbase's pipeline board configuration does not migrate; we recreate Opportunity Record Types and Sales Processes in Salesforce based on the documented pipeline stages from Sunbase. Custom deal fields migrate as custom Opportunity fields (__c). Closed-Lost and Closed-Won reasons from Sunbase custom properties become Salesforce Loss Reason and Won Reason fields.
Sunbase Data
Lead
Salesforce Sales Cloud
Lead
1:1Sunbase Leads captured through door-to-door sales forms, web capture, or manual entry migrate to Salesforce Lead. Lead source, status, assignment data, and any scoring values transfer to corresponding Salesforce Lead fields. Sunbase leads tied to automation workflows are flagged with a custom field sunbase_automation_source__c indicating the originating workflow for the admin's rebuild reference.
Sunbase Data
Project
Salesforce Sales Cloud
Custom Object (Project__c) or Case
lossySunbase Projects represent installation or job-site operations specific to solar, roofing, or construction. We migrate project metadata, status, budget tracking, and linked work orders into a Salesforce custom object Project__c created during schema design. If the destination org includes Service Cloud, Work Orders map to Salesforce Cases with a Work Order Record Type, and the Sunbase Project becomes the Case's parent record via a lookup. Project status from Sunbase becomes a custom picklist on Project__c or Case Status.
Sunbase Data
Work Order
Salesforce Sales Cloud
Case (Service Cloud) or Custom Object (WorkOrder__c)
1:1Sunbase Work Orders include permit info, task details, attachments, system specifications, and linked employee assignments. We preserve the full work order record including linked crew assignments and scheduling data. If Service Cloud is not included in the destination org, we create a custom WorkOrder__c object with fields for permit_number__c, system_specs__c, crew_id__c, and a lookup to Project__c. Attachments migrate as Salesforce Files (ContentDocument) linked via ContentDocumentLink.
Sunbase Data
Invoice
Salesforce Sales Cloud
Custom Object (Invoice__c) or Opportunity Products
1:1Sunbase generates invoices including repeat invoices and financing-related billing. We extract invoice line items, payment status, total amount, and linkage to the originating project or client. Invoice data migrates to a custom Invoice__c object with a lookup to Account and Project__c. Historical paid invoices preserve their payment status and dates; financing-related billing records include financing_terms__c from Sunbase custom fields.
Sunbase Data
Employee
Salesforce Sales Cloud
User (limited)
1:1Sunbase Employee records include HR data, crew assignments, and GPS location history. Salesforce User represents platform users (sales reps, admins), not full HR records. We migrate Sunbase Employees who are Salesforce users by email match. Crew assignment data, role assignments, and GPS trail data (where available) migrate to a custom Employee__c object linked to the User record. Full HR data (payroll, benefits, PTO) does not migrate because Salesforce is not an HRMS.
Sunbase Data
Appointment
Salesforce Sales Cloud
Event
1:1Sunbase Appointments sync with Google Calendar and include customer-linked scheduling. We preserve appointment dates, times, assigned contacts, location, and status. Calendar linkage (Google Calendar sync) does not transfer; Salesforce Event records are created standalone and the customer reconfigures any calendar integration post-migration. Appointment status from Sunbase maps to Salesforce Event Status or a custom picklist.
Sunbase Data
Document
Salesforce Sales Cloud
ContentDocument (Salesforce Files)
1:1Sunbase Documents include contracts, financing applications, permits, and photos stored within the platform. We extract binary files and preserve filenames, upload dates, and associations to the parent record (Contact, Deal, Project, Work Order). Documents migrate as Salesforce Files attached via ContentDocumentLink to the corresponding Lead, Contact, Account, Opportunity, or Project__c record. Large binary attachments (photos, site surveys) may require chunked upload via Salesforce Bulk API 2.0.
Sunbase Data
Asset and Inventory
Salesforce Sales Cloud
Custom Object (Asset__c) or Product2
1:1Sunbase Asset and Inventory records track materials, equipment, and supplies across projects. We preserve item names, quantities, linked projects, supplier information, and inventory levels at migration time. Equipment and materials used in project work orders map to a custom Asset__c object with a lookup to Project__c. Stock inventory items with SKU and pricing may map to Salesforce Product2 if the customer intends to use Salesforce for quoting and pricing.
Sunbase Data
Custom Fields
Salesforce Sales Cloud
Custom Fields (__c)
lossySunbase supports custom fields within most objects, but field definition metadata (field name, type, validation rules, display order) is not exported alongside data. We extract field values but require the customer to provide a custom field manifest during scoping. We recommend a field-mapping session before migration to confirm Salesforce field types for each Sunbase custom field value. Custom field values that do not have a corresponding destination field land in a staging custom text area for manual review post-migration.
Sunbase Data
Pipeline Configuration
Salesforce Sales Cloud
Record Type + Sales Process
lossySunbase pipeline configurations (visual sales boards, stage definitions, and workflow automations) are stored in the platform's internal workflow engine and cannot be exported as structured data. We document pipeline stages and deal statuses from Sunbase during scoping, then create Salesforce Record Types and Sales Processes that match the stage names. Stage probability percentages transfer to StageProbability on the Sales Process. The customer rebuilds automation triggers in Salesforce Flow using the documented logic.
Sunbase Data
Automation Workflow
Salesforce Sales Cloud
Flow (inventory only, no migration)
lossySunbase workflow automation rules (email triggers, task assignments, stage-change actions, follow-up sequences) are not exposed via any export mechanism and cannot be migrated as functional rules. We document the automation logic manually during scoping: trigger conditions, actions, delays, and recipients. This becomes a written Flow inventory document that the customer's admin or a Salesforce partner uses to rebuild triggers in Salesforce Flow post-migration. Active workflow status is flagged on each migrated record for reference.
| Sunbase Data | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Client | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Project | Custom Object (Project__c) or Caselossy | Fully supported | |
| Work Order | Case (Service Cloud) or Custom Object (WorkOrder__c)1:1 | Fully supported | |
| Invoice | Custom Object (Invoice__c) or Opportunity Products1:1 | Fully supported | |
| Employee | User (limited)1:1 | Fully supported | |
| Appointment | Event1:1 | Fully supported | |
| Document | ContentDocument (Salesforce Files)1:1 | Fully supported | |
| Asset and Inventory | Custom Object (Asset__c) or Product21:1 | Mapping required | |
| Custom Fields | Custom Fields (__c)lossy | Fully supported | |
| Pipeline Configuration | Record Type + Sales Processlossy | Fully supported | |
| Automation Workflow | Flow (inventory only, no migration)lossy | 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.
Sunbase Data gotchas
No publicly documented REST API or export endpoints
Module-level data isolation complicates bulk exports
Automation workflows and pipeline configurations are non-exportable
Custom fields lack a schema definition export
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 extraction method confirmation
We audit Sunbase across all active modules (CRM, Projects, Work Orders, Invoices, Employees, Appointments) to identify record volumes, custom field usage, and relationship dependencies. We confirm the extraction method with the customer's Sunbase admin: direct database access (preferred for volume and relationship integrity) or per-module CSV exports. We build a cross-module relationship map that connects Contact IDs to Deal IDs, Project IDs to Work Order IDs, and Client IDs to Invoice IDs. We also document pipeline stages, deal statuses, and active automation rules during this phase. The discovery output is a written migration scope with extraction method, record counts per module, and a Salesforce edition recommendation (Professional at $80/user for most migrations; Enterprise at $165/user if record-triggered Flow or advanced reporting is required).
Schema design in Salesforce Sandbox
We design the destination schema in a Salesforce Sandbox. This includes provisioning custom objects for Sunbase data that has no direct Salesforce standard equivalent: Project__c (installation and job-site operations), WorkOrder__c (permit info, system specs, crew assignments), Invoice__c (billing and payment history), Employee__c (crew and HR metadata), and Asset__c (equipment and inventory). We create custom fields (__c) to carry Sunbase custom field values and relationship IDs for reconciliation. Record Types and Sales Processes are configured to match the documented Sunbase pipeline stages. Schema is deployed to Sandbox via metadata API for validation before production migration begins.
Extraction, deduplication, and relationship reconstruction
We extract data using the confirmed method. For direct database access, we run SQL queries across Sunbase's modular tables with joins to reconstruct parent-child relationships. For manual CSV exports, we coordinate per-module exports and cross-reference using the relationship map built during discovery. We deduplicate records using name, email, and address matching. We flag any Sunbase custom field without a manifest entry for the customer's field-mapping session. This phase produces a set of staging CSV files with clean, deduplicated records and a relationship manifest that maps each child record to its parent ID for Salesforce lookup resolution during load.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox using production-like data volume. We load Accounts first (from Sunbase Clients), then Contacts and Leads with AccountId resolved, then Opportunities with AccountId, OwnerId, and RecordTypeId resolved. Custom objects (Project__c, WorkOrder__c, Invoice__c) load next with Project__c as parent for WorkOrder__c. Activities (Events from Appointments, Tasks from assignments) load via Bulk API 2.0 with parent-record resolution (WhoId, WhatId). Files migrate as ContentDocument with ContentDocumentLink to parent records. The customer's RevOps lead reconciles record counts and spot-checks 25-50 records against Sunbase source data, then signs off the mapping before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Clients), Contacts and Leads (with AccountId resolved), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Custom objects (Project__c, WorkOrder__c, Invoice__c, Employee__c, Asset__c), Activity history (Events, Tasks via Bulk API 2.0 with chunking and exponential backoff), and Files (ContentDocument via Bulk API). Each phase emits a row-count reconciliation report before the next phase begins. We temporarily disable Salesforce validation rules and workflow triggers during bulk load to prevent record rejection, then re-enable them post-load.
Cutover, validation, and automation rebuild handoff
We freeze Sunbase writes 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 Automation and Pipeline Inventory document to the customer's admin team: for each Sunbase automation, we document the trigger type, conditions, actions, delays, and recommended Salesforce Flow equivalent. We support a one-week hypercare window where we resolve any record-reconciliation issues raised by the customer's team. We do not rebuild Sunbase automation rules as Salesforce Flow inside the migration scope; that work is documented for the customer's admin or a Salesforce partner to complete as a separate engagement.
Platform deep dives
Sunbase Data
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Moderate CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Sunbase Data and Salesforce Sales Cloud.
Object compatibility
1 of 8 objects need a manual workaround.
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
Sunbase Data: Not publicly documented.
Data volume sensitivity
Sunbase Data 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 Sunbase Data to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Sunbase Data 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 Sunbase Data
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.