CRM migration
Field-level mapping, validation, and rollback between The Dental System and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
The Dental System
Source
Salesforce Sales Cloud
Destination
Compatibility
14 of 15
objects map 1:1 between The Dental System and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
2–3 days
Overview
The Dental System stores patient demographics, treatment histories, insurance claims, provider schedules, and recall reminders in a unified dental-practice model. Salesforce Sales Cloud separates these concerns across Contact, Event, custom Treatment__c, custom Insurance__c, and custom Billing__c objects, with junction objects handling the N:N relationship between patients and referring doctors. The migration carries every patient record, appointment, treatment entry, insurance plan, billing ledger entry, and provider from The Dental System into Salesforce's object model. Workflows — automated recall reminders, appointment confirmations, and treatment-plan alerts — do not migrate and must be rebuilt as Salesforce Flow. FlitStack AI sequences the migration so foreign-key relationships resolve correctly: Accounts and Users first, then Contacts and Events, then custom objects. We preserve ADA procedure codes, NPI numbers, and recall dates as custom fields and run a field-level diff before the full run commits. The migration leverages the Salesforce Bulk API for high-throughput record loading, includes error-handling and retry logic for transient failures, and tags each record with a source system identifier to support ongoing delta synchronization after cutover.
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 The Dental System 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.
The Dental System
Patient
Salesforce Sales Cloud
Contact
1:1Patient records map directly to Salesforce Contact. The Dental System stores N insurance carriers and N referring doctors per patient — these require a custom Insurance__c object and a Patient_Referrer__junc junction object in Salesforce, not a single primary field. This structure preserves the full insurance and referral history for each patient and supports reporting across carriers and referring providers.
The Dental System
Appointment
Salesforce Sales Cloud
Event
1:1One The Dental System appointment record becomes one Salesforce Event. Multi-provider appointments split into separate Event records per provider. The Dental System's appointment status values map to Salesforce Event Status values via a value-mapping table during extraction. The mapping also ensures that custom status values are translated, preserving appointment context for downstream reporting.
The Dental System
Treatment
Salesforce Sales Cloud
Custom: Treatment__c
1:1The Dental System's treatment entries have no Salesforce standard equivalent. We create a Treatment__c custom object with fields for procedure code, description, tooth number, completion status, and provider. A custom lookup to Contact (Patient__c) links each treatment entry to the correct patient.
The Dental System
Insurance
Salesforce Sales Cloud
Custom: Insurance__c + Contact.Primary_Insurance__c
many:1The Dental System's multiple insurance plans per patient require two Salesforce constructs: Primary_Insurance__c on Contact for the primary plan, and an Insurance__c custom object for secondary and tertiary plans linked via ContactId lookup. This approach lets staff view the primary carrier at a glance while keeping detailed plan records accessible for claims processing.
The Dental System
Billing Ledger
Salesforce Sales Cloud
Custom: Billing__c
1:1The Dental System's billing ledger (charges, payments, adjustments, and balance) has no Salesforce standard object. We create Billing__c with Amount__c, Payment_Date__c, Payment_Method__c, and Claim_Status__c fields, linked to Contact via Patient__c lookup. This structure preserves the full financial history and enables billing reports, collections workflows, and reconciliation against insurance payouts.
The Dental System
Provider / Staff
Salesforce Sales Cloud
User
1:1The Dental System provider and staff records map to Salesforce User objects by email or NPI match. We preserve the license number and specialty as custom fields on User. Active/inactive status is set during migration based on the source record state at cutover.
The Dental System
Referral Source
Salesforce Sales Cloud
Account + Patient_Referrer__junc junction
1:1Referral sources in The Dental System (individual dentists, other practices) map to Salesforce Account records. The N:N patient-to-referrer relationship requires a custom junction object (Patient_Referrer__junc) with Contact and Account lookups rather than a single AccountId on Contact. This design supports multiple referral pathways per patient and facilitates reporting on referral source performance across the organization.
The Dental System
Custom Fields (recall_date, referral_source, insurance_group)
Salesforce Sales Cloud
Custom fields on Contact
1:1The Dental System custom fields not mapped to standard objects become Salesforce custom fields: Recall_Date__c (datetime) on Contact for follow-up scheduling, Referral_Source__c (picklist) on Contact, and Insurance_Group__c (text) on Insurance__c. These custom fields are indexed for fast retrieval, enable automated reminders via Salesforce Flow, and support segmentation of patients by referral origin and insurance grouping.
The Dental System
Patient Notes / Attachments
Salesforce Sales Cloud
Note / Salesforce Files
1:1Patient notes in The Dental System migrate as Salesforce Notes or Files attached to the Contact record. Inline images are downloaded and rehosted in Salesforce Files. File size limits (25MB per file in Salesforce) are enforced during ingestion. Any attachments exceeding the size limit are split or compressed to meet Salesforce storage constraints before loading.
The Dental System
User / Owner
Salesforce Sales Cloud
User
1:1The Dental System user and owner IDs resolve to Salesforce Users by email match or NPI lookup. Unresolved users are flagged before migration; the practice admin either creates a Salesforce User or assigns records to a fallback owner. No record lands without an OwnerId.
The Dental System
ADA Procedure Codes
Salesforce Sales Cloud
Custom: Treatment__c.ADA_Code__c
1:1ADA procedure codes stored in The Dental System treatment entries migrate as text in the ADA_Code__c field on Treatment__c. We recommend validating ADA code values against the current ADA Code on the Tooth / CDT list during the field-level diff before the full run.
The Dental System
NPI Number
Salesforce Sales Cloud
Custom: Contact.NPI__c + User.NPI__c
1:1Provider NPI numbers migrate as NPI__c custom fields on both Contact (for referring doctors) and User (for in-practice providers). Salesforce has no native NPI field, so a custom text field is required to preserve the identifier for insurance claim and referral integrity.
The Dental System
Appointment Status
Salesforce Sales Cloud
Event Status
1:1Appointment status values in The Dental System (Scheduled, Confirmed, Checked In, Completed, No Show, Cancelled) map to Salesforce Event Status values via a pre-built value-mapping table. Custom status values in The Dental System require manual mapping during the discovery phase.
The Dental System
Insurance Plan Name
Salesforce Sales Cloud
Custom: Insurance__c.Plan_Name__c
1:1Insurance plan names from The Dental System migrate as text to Plan_Name__c on the custom Insurance__c object. Group numbers migrate to Group_Number__c on the same object. These fields are indexed for reporting on insurance carrier and plan distribution. Indexing enables rapid filtering of large patient volumes and supports dashboards that visualize carrier performance and regional plan uptake.
The Dental System
Billing / Ledger Balance
Salesforce Sales Cloud
Custom: Contact.Patient_Balance__c
1:1The current patient balance from The Dental System's billing ledger migrates to Patient_Balance__c (currency) on Contact. This provides an at-a-glance financial snapshot without querying the Billing__c object, and is useful for front-desk collections workflows in Salesforce. It also enables automated reminders for outstanding balances and integrates with Salesforce reports for collections performance tracking.
| The Dental System | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Appointment | Event1:1 | Fully supported | |
| Treatment | Custom: Treatment__c1:1 | Fully supported | |
| Insurance | Custom: Insurance__c + Contact.Primary_Insurance__cmany:1 | Fully supported | |
| Billing Ledger | Custom: Billing__c1:1 | Fully supported | |
| Provider / Staff | User1:1 | Fully supported | |
| Referral Source | Account + Patient_Referrer__junc junction1:1 | Fully supported | |
| Custom Fields (recall_date, referral_source, insurance_group) | Custom fields on Contact1:1 | Fully supported | |
| Patient Notes / Attachments | Note / Salesforce Files1:1 | Fully supported | |
| User / Owner | User1:1 | Fully supported | |
| ADA Procedure Codes | Custom: Treatment__c.ADA_Code__c1:1 | Fully supported | |
| NPI Number | Custom: Contact.NPI__c + User.NPI__c1:1 | Fully supported | |
| Appointment Status | Event Status1:1 | Fully supported | |
| Insurance Plan Name | Custom: Insurance__c.Plan_Name__c1:1 | Fully supported | |
| Billing / Ledger Balance | Custom: Contact.Patient_Balance__c1: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.
The Dental System gotchas
No documented public API
Custom field discovery requires manual audit
Insurance carrier and payer data may require re-credentialing
Document storage may not be directly accessible for bulk 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 data assessment
We extract a representative data sample from The Dental System via API or export format and audit custom fields, historical treatment records, insurance multi-plan configurations, and referral association tables. We produce a migration plan covering the Salesforce schema additions (custom objects, custom fields, junction objects), the field-level mapping document, and the value-mapping tables for appointment status and treatment codes. The plan is reviewed with your admin before any data moves.
Build Salesforce schema
Before migration, we create the custom objects in Salesforce: Treatment__c, Insurance__c, Billing__c, and Referral__c, plus the Patient_Referrer__junc junction object. We add custom fields to Contact (Recall_Date__c, NPI__c, Primary_Insurance__c, Referral_Source__c), Event (Source_System_ID__c), and User (NPI__c, Specialty__c). We configure picklist values for Treatment_Status__c, Payment_Method__c, and Claim_Status__c based on the source value sets. The schema is validated against the mapping document before records are loaded.
Owner and provider resolution
The Dental System provider and staff IDs are matched to Salesforce User records by email address or NPI number. Unmatched provider IDs are flagged and presented to the practice admin for resolution: either create a Salesforce User first or assign their records to a designated fallback owner. No record lands in Salesforce without a valid OwnerId, and no patient record is orphaned from its provider during cutover.
Test migration with field-level diff
We run a test migration with a representative slice of 200–500 records spanning patients, appointments, treatments, and insurance records. We generate a field-level diff comparing source values to destination field values, verifying that ADA codes, NPI numbers, recall dates, and appointment status mappings are correct. The diff is shared with your admin for verification before the full run commits. Any mapping corrections are applied to the migration engine before the production run.
Cutover and delta pickup
On cutover day, we coordinate a read-only lock on The Dental System, run the full migration, and open a 24–48 hour delta pickup window to capture any appointments or record changes made during the final hours. The Dental System remains fully operational for your team during the window. After the delta window closes, we run validation reports in Salesforce — record counts per object, null-field checks on required mappings, and a random-sample spot-check — and present a reconciliation summary to the practice admin for sign-off.
Platform deep dives
The Dental System
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 The Dental System 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
The Dental System: Not publicly documented.
Data volume sensitivity
The Dental System 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 The Dental System to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your The Dental System 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 The Dental System
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.