CRM migration

Migrate from The Dental System to Salesforce Sales Cloud

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 logo

The Dental System

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

93%

14 of 15

objects map 1:1 between The Dental System and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

2–3 days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

The Dental System logo

The Dental System

What's pushing teams away

  • No public pricing means every evaluation requires a sales demo, slowing comparison against transparent competitors like DentiMax ($169/month) or MOGO ($250/month flat).
  • Newer product without the multi-decade install base of Dentrix or Open Dental, so the integration ecosystem with imaging vendors, payment processors, and lab partners is shallower.
  • Modern cloud-first design means it does not run offline; practices with unreliable internet (rural, multi-op high bandwidth needs) may prefer Open Dental's local-install model.
  • Limited third-party review presence on G2 and Capterra makes independent quality assessment harder than for legacy market leaders.
  • Marketing claims around AI/clinical intelligence ('thinks like a dentist') are not independently validated; capabilities depth must be confirmed during demo rather than from public materials.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How The Dental System objects map to Salesforce Sales Cloud

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

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Patient 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

maps to

Salesforce Sales Cloud

Event

1:1
Fully supported

One 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

maps to

Salesforce Sales Cloud

Custom: Treatment__c

1:1
Fully supported

The 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

maps to

Salesforce Sales Cloud

Custom: Insurance__c + Contact.Primary_Insurance__c

many:1
Fully supported

The 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

maps to

Salesforce Sales Cloud

Custom: Billing__c

1:1
Fully supported

The 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

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

The 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

maps to

Salesforce Sales Cloud

Account + Patient_Referrer__junc junction

1:1
Fully supported

Referral 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)

maps to

Salesforce Sales Cloud

Custom fields on Contact

1:1
Fully supported

The 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

maps to

Salesforce Sales Cloud

Note / Salesforce Files

1:1
Fully supported

Patient 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

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

The 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

maps to

Salesforce Sales Cloud

Custom: Treatment__c.ADA_Code__c

1:1
Fully supported

ADA 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

maps to

Salesforce Sales Cloud

Custom: Contact.NPI__c + User.NPI__c

1:1
Fully supported

Provider 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

maps to

Salesforce Sales Cloud

Event Status

1:1
Fully supported

Appointment 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

maps to

Salesforce Sales Cloud

Custom: Insurance__c.Plan_Name__c

1:1
Fully supported

Insurance 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

maps to

Salesforce Sales Cloud

Custom: Contact.Patient_Balance__c

1:1
Fully supported

The 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.

Gotchas + challenges

What specifically takes care here

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 logo

The Dental System gotchas

High

No documented public API

Medium

Custom field discovery requires manual audit

Medium

Insurance carrier and payer data may require re-credentialing

Medium

Document storage may not be directly accessible for bulk export

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • Automated recall reminders and patient follow-up workflows do not migrate

    The Dental System's built-in recall system triggers automated patient reactivation reminders based on Recall_Date__c. These reminders are a platform automation construct, not data — they have no stored representation in the database that FlitStack AI can extract and replay in Salesforce. If your practice relies on recall reminders to drive reactivation campaigns, that logic must be explicitly rebuilt as a Salesforce Flow before go-live. We recommend documenting the current recall intervals and campaign triggers during the discovery call so your Salesforce admin has a rebuild reference.

  • Multiple insurance carriers per patient require a custom Insurance__c object

    The Dental System allows a patient to have N active insurance plans simultaneously — primary, secondary, and tertiary. Salesforce's native Contact model holds one primary insurance carrier in a single field. FlitStack AI creates a custom Insurance__c object with Carrier_Name__c, Plan_Name__c, Group_Number__c, and a ContactId lookup, preserving the full multi-plan structure. The primary plan is mapped to Primary_Insurance__c on Contact for quick reference; additional plans are separate Insurance__c records. Your Salesforce admin should build list views and reports on Insurance__c before go-live so staff can see all plans in one place.

  • Referring doctors with many-to-many patient associations need a junction object

    The Dental System's referral model lets a patient be referred by multiple doctors and a doctor refer multiple patients (N:N). Salesforce Contact has a single AccountId lookup — it cannot natively represent N:N referral relationships. FlitStack AI creates a Patient_Referrer__junc custom junction object with ContactId and AccountId lookups, preserving the full referral graph. During migration, each existing referral pair from The Dental System creates one junction record. Your Salesforce admin may want to build a related list on Contact showing all referring doctors via the junction.

  • NPI numbers require custom fields on both Contact and User

    Provider NPI numbers in The Dental System have no native equivalent in Salesforce's Contact or User object — there is no standard NPI field. FlitStack AI creates a custom NPI__c text field on both Contact (for referring doctors) and User (for in-practice providers). This preserves the identifier for insurance claim integrity, referral tracking, and any downstream EDI or clearinghouse integrations. If your organization submits claims through an integrated EDI tool, the EDI connector may also reference NPI__c on the User record.

  • HIPAA compliance responsibilities shift to the practice after migration

    The Dental System stores protected health information (PHI) — patient records, treatment histories, insurance details — and operates under its own HIPAA Business Associate Agreement. Salesforce is a general-purpose CRM that can be configured for HIPAA compliance but requires explicit setup: a signed HIPAA Business Associate Agreement with Salesforce, activation of Salesforce Shield (Field Audit Trail, Event Monitoring, Platform Encryption), and a Salesforce Health Cloud or Healthcare-specific org configuration if audit trails and encryption are required. FlitStack AI's migration tooling uses encrypted transport and temporary staging environments, but HIPAA compliance of the destination org is the practice's responsibility after go-live.

Migration approach

Six steps for a successful The Dental System to Salesforce Sales Cloud data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Context on both ends of the pair

The Dental System logo

The Dental System

Source

Strengths

  • Covers core dental practice workflows including scheduling, charting, and billing in one system
  • Patient record structure aligns with standard dental data conventions (CDT codes, insurance carriers)
  • Supports document attachments linked to patient records
  • Includes basic reporting for production and collections
  • Practice configuration is stored at the location level, making scoping straightforward

Weaknesses

  • No publicly documented API limits direct integrations and automated migration tooling
  • Limited public information on custom object schema and field-level definitions
  • Pricing and feature tiers are not publicly published, requiring direct inquiry
  • Smaller market footprint means fewer third-party migration resources and community references
  • No published rate-limit or bulk-export documentation found in research
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across The Dental System and Salesforce Sales Cloud.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    The Dental System: Not publicly documented.

  • Data volume sensitivity

    B

    The Dental System doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your The Dental System to Salesforce Sales Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about The Dental System to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during The Dental System to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most The Dental System to Salesforce migrations complete in 2–5 days of clock time depending on record volume and data complexity. A solo practice with 2,500 patients, standard fields, and no historical treatment records typically runs in 2–3 days. A DSO with 15,000 patients, two custom objects, and five years of treatment history typically needs 4–5 days. The discovery and schema-building phases run in parallel with your team and do not block your practice operations.

Adjacent paths

Related migrations to explore

Ready when you are

Move from The Dental System.
Land in Salesforce Sales Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day