CRM migration
Field-level mapping, validation, and rollback between Dent-O-Soft and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Dent-O-Soft
Source
Salesforce Sales Cloud
Destination
Compatibility
8 of 11
objects map 1:1 between Dent-O-Soft and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours of clock time
Overview
Dent-O-Soft and Salesforce Sales Cloud serve fundamentally different business functions. Dent-O-Soft is a dental practice management system organized around patient records, appointments, clinical charting, and billing transactions. Salesforce Sales Cloud is a CRM organized around leads, opportunities, accounts, and contacts. The migration challenge is architectural: Dent-O-Soft has no concept of a lead or opportunity — treatment plans are not deals, and the patient is the central entity rather than an account-contact hierarchy. FlitStack AI maps patient demographics to Salesforce Contacts with an Account lookup to the practice, maps treatment plans and procedure histories to custom fields on Contact or to a custom Treatment_History__c object, and maps appointment history to Salesforce Events with original timestamps preserved. Imaging files and tooth-chart exports attach as Salesforce Files. Insurance carrier data migrates to a custom Insurance_Carrier__c object on Account since Salesforce has no native insurance data model. We do not migrate clinical decision logic, appointment reminders, or billing-rules configuration — those require Salesforce-side rebuild using Flow and Validation Rules. All migration runs use a scoped read-only API connection to Dent-O-Soft; your team continues using Dent-O-Soft throughout the process, and a 24–48 hour delta-pickup window captures any records modified during the cutover window before we lock the final state.
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 Dent-O-Soft 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.
Dent-O-Soft
Patient Record
Salesforce Sales Cloud
Contact
1:1Every Dent-O-Soft patient record becomes a Salesforce Contact. The Contact's AccountId links to the dental practice's Account. Primary dentist assignment resolves to Contact.OwnerId by email matching against Salesforce users. Patient status (active/inactive) migrates to a custom Contact.Active_Patient__c boolean field. Additional contact details such as phone, email, and address map to standard Contact fields, and the original patient identifier is preserved in a custom Source_Patient_ID__c field for future delta syncs.
Dent-O-Soft
Practice / Clinic Entity
Salesforce Sales Cloud
Account
1:1Dent-O-Soft's practice location data maps to a Salesforce Account with type='Dental Practice'. Multi-location practices generate multiple Account records with hierarchical Parent Account linkage. Each Contact's AccountId points to its primary practice location. The practice's address, phone, and website migrate to standard Account fields (BillingAddress, Phone, Website), and the Tax ID is stored in a custom Tax_ID__c field.
Dent-O-Soft
Provider / Dentist Assignment
Salesforce Sales Cloud
Contact.OwnerId + Account_Contact_Relation
many:1Dent-O-Soft allows multiple providers per patient simultaneously. The primary provider maps to Contact.OwnerId. Secondary providers migrate as Account_Contact_Relation junction records with a custom Provider_Role__c pick-list field (Primary Dentist, Hygienist, Specialist). This preserves the full provider history without overwriting the OwnerId.
Dent-O-Soft
Appointment
Salesforce Sales Cloud
Event
1:1Dent-O-Soft appointment records map to Salesforce Events. Event.WhoId links to the patient Contact; Event.WhatId links to the Account. Original appointment datetime, duration, operatory number (stored in Description or a custom Operatory__c field), and provider assignment are preserved. Cancelled or no-show status maps to a custom Status__c field on Event.
Dent-O-Soft
Treatment Plan
Salesforce Sales Cloud
Opportunity + Custom Fields
1:1Each Dent-O-Soft treatment plan becomes a Salesforce Opportunity keyed by a 'Dental Treatment' record type. Opportunity.Name is the treatment plan label. Opportunity.Amount is the estimated total. Procedure line items map to custom Opportunity_Line_Item__c records. Stage values (Proposed, Accepted, In Progress, Completed) map to Salesforce Opportunity Stage pick-list via value mapping.
Dent-O-Soft
Clinical Notes / Charting Data
Salesforce Sales Cloud
Custom Fields on Contact + Salesforce Files
many:1Dent-O-Soft clinical notes (per-tooth conditions, periodontal readings, existing restorations) are too structured for a single text field. Tooth-chart data maps to a set of custom fields on Contact (Tooth_1_Condition__c through Tooth_32_Condition__c pick-list values: healthy, filling, crown, implant, missing, etc.). Long-form clinical notes attach as Salesforce Files on the Contact record with a custom Clinical_Note__c flag.
Dent-O-Soft
Imaging / Radiograph Files
Salesforce Sales Cloud
Salesforce Files (ContentDocument)
1:1Periapical, panoramic, and CBCT image files from Dent-O-Soft re-upload to Salesforce Files and are linked to the patient Contact via ContentDocumentLink. A custom Image_Type__c pick-list on ContentVersion (X-Ray, Panoramic, CBCT, Clinical Photo) enables filtered reporting. Files exceeding Salesforce's 25MB per-file limit are split or compressed before upload.
Dent-O-Soft
Insurance Carrier Record
Salesforce Sales Cloud
Insurance_Carrier__c (Custom Object on Account)
1:1Dent-O-Soft stores primary and secondary insurance carrier names, group numbers, subscriber IDs, and eligibility flags. A custom Insurance_Carrier__c object with fields Carrier_Name__c, Group_Number__c, Subscriber_ID__c, Eligibility_Status__c, and Is_Primary__c attaches to the Account. Salesforce has no native insurance data model, so this custom object must be created before migration.
Dent-O-Soft
Billing Transaction / Charge
Salesforce Sales Cloud
Opportunity.Amount + Invoice_Line_Item__c (Custom Object)
1:manyIndividual charge line items in Dent-O-Soft (prophylaxis, restoration, extraction) do not map to a single Opportunity.Amount. We split: the total encounter amount becomes Opportunity.Amount, and individual procedure codes with CDT codes, fees, and payment status migrate to a custom Invoice_Line_Item__c object linked to the Opportunity. This preserves billing audit trails that Salesforce's standard model cannot hold.
Dent-O-Soft
Referral Source
Salesforce Sales Cloud
Lead
1:1Dent-O-Soft referral-source records (referring dentist, advertising source, walk-in) map to Salesforce Leads. Lead.Source maps from Dent-O-Soft's referral_type field. The referring dentist's name and practice become Lead.Company. When a Lead converts to a Contact, the referring-dentist relationship is preserved as an Account Contact Relation on the converted Contact.
Dent-O-Soft
Recall / Re-care Record
Salesforce Sales Cloud
Task + Custom Date Field
1:1Dent-O-Soft recall records (hygiene re-care intervals, specialist follow-up) have no Salesforce equivalent. We map them as Salesforce Tasks with Task.ActivityDate set to the recall due date, Task.Subject describing the recall type, and a custom Recall_Type__c field. A completed recall creates a completed Task; missed recalls surface as open Tasks in the Salesforce task queue.
| Dent-O-Soft | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Patient Record | Contact1:1 | Fully supported | |
| Practice / Clinic Entity | Account1:1 | Fully supported | |
| Provider / Dentist Assignment | Contact.OwnerId + Account_Contact_Relationmany:1 | Fully supported | |
| Appointment | Event1:1 | Fully supported | |
| Treatment Plan | Opportunity + Custom Fields1:1 | Fully supported | |
| Clinical Notes / Charting Data | Custom Fields on Contact + Salesforce Filesmany:1 | Fully supported | |
| Imaging / Radiograph Files | Salesforce Files (ContentDocument)1:1 | Fully supported | |
| Insurance Carrier Record | Insurance_Carrier__c (Custom Object on Account)1:1 | Fully supported | |
| Billing Transaction / Charge | Opportunity.Amount + Invoice_Line_Item__c (Custom Object)1:many | Fully supported | |
| Referral Source | Lead1:1 | Fully supported | |
| Recall / Re-care Record | Task + Custom Date Field1: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.
Dent-O-Soft gotchas
No API and no documented bulk export path
On-premises deployment with limited remote access
No free trial and no published pricing
Single-language support (English) and small distribution footprint
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 schema inventory
We connect to Dent-O-Soft via read-only API access and inventory all patient records, appointments, treatment plans, clinical note file attachments, and insurance records. We also inventory your Salesforce org's existing custom objects, page layouts, and profile assignments. The output is a Schema Inventory Report identifying every Dent-O-Soft field that maps to a standard Salesforce field, a custom field, or a custom object — and the count of records per object. This report drives the fixed-price quote and the Salesforce schema setup plan we deliver before migration begins.
Stand up Salesforce custom objects and fields
Before data loads, we create the custom objects (Insurance_Carrier__c, Invoice_Line_Item__c) and custom fields (Tooth_1_Condition__c through Tooth_32_Condition__c, Operatory__c, Active_Patient__c, etc.) identified in the schema inventory. We deliver a Salesforce Setup Checklist so your admin can pre-create the schema in a sandbox first, validate field-level security, and confirm page layout assignments before we commit to the full migration. Standard Contact and Account fields are mapped without requiring setup.
Resolve provider owners by email match
Dent-O-Soft provider records (dentists, hygienists, front desk) are matched against Salesforce User records by email address. Unmatched providers are flagged in a Pre-Migration Owner Report with two resolution paths: invite the provider to Salesforce before migration, or assign their patient records to a fallback Salesforce user. No patient record migrates without a resolved OwnerId; the fallback owner ensures records appear in the correct queue on day one.
Migrate in dependency order with sample-and-diff pass
We sequence the migration in the order required by Salesforce's foreign-key model: Account records first, then Contact records with AccountId, then Opportunity records with ContactId and AccountId, then Events, then Tasks, then custom object records, then file attachments. A representative sample (typically 200–500 patient records with appointments and treatment plans) migrates first. We generate a field-level diff report comparing source values against destination values so you can verify tooth-chart field mapping, appointment operatory assignment, and insurance carrier linkage before the full run commits.
Cut over with delta-pickup and audit log
The full migration runs against your production Salesforce org. A delta-pickup window (typically 24–48 hours) captures any Dent-O-Soft records created or modified during the cutover — new patients scheduled after the initial extract, treatment plans added by providers, or updated insurance information. Every record operation is logged in our audit trail. One-click rollback is available for 72 hours post-migration if reconciliation reveals unexpected gaps in the mapping.
Platform deep dives
Dent-O-Soft
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Dent-O-Soft 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
Dent-O-Soft: N/A.
Data volume sensitivity
Dent-O-Soft 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 Dent-O-Soft to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Dent-O-Soft 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 Dent-O-Soft
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.