CRM migration

Migrate from Dentrix to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between Dentrix and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

Dentrix logo

Dentrix

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

83%

10 of 12

objects map 1:1 between Dentrix and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

2–4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Dentrix organizes patient data in a single-practice, server-resident schema: patients, providers, appointments, clinical notes, treatment plans, CDT-coded procedures, insurance records, and billing ledger entries. There is no comprehensive public REST API for Dentrix G-series; data extraction typically requires reading proprietary .dat files, running built-in export utilities, or using the Dentrix API Exchange program where available. The result is a flattened, denormalized dataset that must be normalized into Salesforce's relational model — Accounts for insurance providers, Contacts for patients, custom objects for treatment plans and clinical records, and Events or Tasks for appointments. FlitStack AI sequences the migration so that foreign-key dependencies resolve in the right order: insurance providers land as Accounts first, then patients map to Contacts with the provider AccountId attached, then appointments, treatment plans, and clinical notes populate against the correct Contact records. CDT procedure codes migrate as a custom pick-list field (CDT_Code__c) on the treatment plan object so your Salesforce admin can build reports filtered by procedure type. Imaging files referenced in Dentrix are preserved as external URL fields pointing to a designated cloud storage bucket rather than uploaded directly into Salesforce Files — a necessary accommodation given HIPAA storage compliance and file-size limits. Workflows, recall reminders, and appointment-confirmation sequences built in Dentrix do not transfer; we document your existing Dentrix workflow rules as a rebuild reference for your Salesforce admin. The migration runs read-only against your Dentrix instance throughout, your team continues scheduling and charting in Dentrix during cutover, and a 24–48 hour delta window captures any records modified between the bulk extract and the final re-verification step.

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

Dentrix logo

Dentrix

What's pushing teams away

  • Practices report that customer support has become harder to reach, with at least one review stating monthly account closure threats, undermining trust.
  • The UI is described as visually dull and outdated, with a dated color scheme and interface that frustrates front-office staff daily.
  • Staff find the feature depth overwhelming — many practices report using only a fraction of available functionality despite years on the platform.
  • Growing interest in cloud-based alternatives (Open Dental, Curve Dental, CareStack, Dentrix Ascend) driven by the desire for automatic updates, mobile access, and lower upfront server costs.
  • Practices report that Dentrix G runs on aging server hardware and struggles with performance as database files grow over years of use.

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 Dentrix objects map to Salesforce Sales Cloud

Each row shows how a Dentrix 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.

Dentrix

Patient

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

Dentrix patient records map directly to Salesforce Contact. The patient's primary family Account is created or matched first, then Contact is linked via AccountId. All contact fields (name, phone, email, address) map 1:1. Dentrix patient create date is preserved in Original_Patient_Create_Date__c custom datetime.

Dentrix

Patient.Address

maps to

Salesforce Sales Cloud

Contact (MailingAddress fields)

1:1
Fully supported

Patient mailing address fields (street, city, state, zip, country) in Dentrix map to Contact.MailingStreet, MailingCity, MailingState, MailingPostalCode, MailingCountry. If Dentrix stores a separate billing address, it maps to Contact.OtherAddress fields in Salesforce.

Dentrix

Insurance Record

maps to

Salesforce Sales Cloud

Account + Contact (junction)

many:1
Fully supported

Dentrix insurance carrier name becomes a Salesforce Account (Insurance_Carrier__c type). The subscriber ID, group number, and eligibility dates migrate to a custom Insurance_Detail__c junction object linking the patient Contact to the carrier Account. If the insurance carrier Account already exists, FlitStack matches by name before creating a duplicate.

Dentrix

Appointment

maps to

Salesforce Sales Cloud

Event / Custom Appointment__c

1:1
Fully supported

Dentrix appointments map to Salesforce Events with Subject = patient name + procedure type, StartDateTime and EndDateTime from Dentrix slot start/end, and WhoId = Contact. Custom fields Operatory__c, Provider__c (lookup to User), and Appointment_Type__c capture Dentrix-specific appointment attributes. Practices preferring a dedicated appointment object use a custom Appointment__c custom object instead.

Dentrix

Treatment Plan

maps to

Salesforce Sales Cloud

Custom Treatment_Plan__c object

1:1
Fully supported

Dentrix treatment plans have no Salesforce standard equivalent. FlitStack creates a Treatment_Plan__c custom object with fields for plan date, provider, status (proposed/accepted/completed), total fee, and CDT_Code__c pick-list. Each Treatment_Plan__c links to the patient Contact via Contact__c lookup. Original treatment plan create date stored in Original_Create_Date__c.

Dentrix

Procedure History

maps to

Salesforce Sales Cloud

Custom Procedure__c object

1:1
Fully supported

Individual CDT-coded procedures performed on a patient create Procedure__c records linked to the Treatment_Plan__c and Contact. CDT_Code__c stores the ADA procedure code as a custom pick-list. Surface__c (tooth surface), Quad__c (quadrant), and Fee__c fields capture procedure specifics. Completed procedures have Status__c = 'Completed' with Completion_Date__c.

Dentrix

Clinical Note

maps to

Salesforce Sales Cloud

Custom Clinical_Note__c object

1:1
Fully supported

Dentrix clinical note text migrates to a Clinical_Note__c custom object with a Long Text Area field (32K character limit) preserving full note content. Notes are linked to Contact via Contact__c lookup and to Treatment_Plan__c when associated. Provider attribution preserved via Provider__c lookup to User. Original note timestamp stored in Original_Note_Date__c.

Dentrix

Provider (Dentist/Hygienist)

maps to

Salesforce Sales Cloud

User + Contact

1:many
Fully supported

Dentrix providers who need Salesforce login (associate dentists, office managers) become Salesforce Users, matched by email address. Providers who do not need CRM access (referring dentists, retired associates) become Contacts with the custom flag Is_Provider__c = true and Specialty__c pick-list (General Dentist, Hygienist, Oral Surgeon, etc.).

Dentrix

Billing Ledger Entry

maps to

Salesforce Sales Cloud

Custom Billing_Ledger__c object

1:1
Fully supported

Dentrix billing ledger entries map to a custom Billing_Ledger__c object linked to Contact. Fields include Transaction_Type__c (charge/payment/adjustment), Amount__c, Procedure_Link__c (lookup to Procedure__c), Insurance_Payment__c, Patient_Payment__c, and Ledger_Date__c. Historical ledger data is preserved for auditing even though Salesforce is not a dental billing system.

Dentrix

Document / Imaging Reference

maps to

Salesforce Sales Cloud

Custom Source_Imaging_URL__c field

1:1
Fully supported

Dentrix stores X-ray and imaging file paths pointing to a local or network server share. Because Salesforce Files has a 25MB per-file limit and re-uploading clinical images creates HIPAA storage compliance complexity, FlitStack preserves the original file path as a custom URL field Source_Imaging_URL__c on the Contact. Your team configures the destination storage and updates URLs post-migration.

Dentrix

Recall / Appointment Reminder

maps to

Salesforce Sales Cloud

No equivalent

1:1
Fully supported

Dentrix recall rules (6-month cleaning reminders, per-procedure follow-up intervals) are workflow logic with no Salesforce native equivalent. FlitStack exports the recall configuration as a structured reference document your Salesforce admin uses to build Salesforce Flow reminder rules post-migration. The original recall interval data is preserved in a custom Recall_Rule__c field on Contact for reference.

Dentrix

Medical / Clinical Alert

maps to

Salesforce Sales Cloud

Custom Clinical_Alert__c field

1:1
Fully supported

Patient allergies, medical conditions, and clinical alerts stored in Dentrix map to a custom pick-list and text field on Contact. Multiple alerts per patient require either a multi-select pick-list or a custom Clinical_Alert__c junction object depending on the number of alert types. HIPAA-flagged conditions stored per your compliance requirements.

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.

Dentrix logo

Dentrix gotchas

High

No public API for Dentrix G data extraction

High

Imaging files stored separately from patient records

Medium

Balance-forward billing ledger requires explicit handling

Medium

In-flight insurance claims must clear before cutover

Low

Custom fields vary per practice with no standard schema

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

  • Dentrix G4 .dat file parsing requires custom extraction logic

    Dentrix G4 stores data in proprietary .dat file formats organized by module (patient, appointment, billing, clinical). These are not CSV exports and require either Dentrix's built-in export utility or custom parsing scripts to extract into a structured format. The Dentrix API Exchange program is available for registered integration partners but does not cover the full schema. FlitStack uses a combination of built-in export tools, validated .dat parsers, and where necessary, Dentrix-approved API endpoints to produce a clean, normalized dataset before Salesforce ingestion. Practices on Dentrix Ascend (cloud) have better API access but still require field-level mapping against the Salesforce schema.

  • Imaging files cannot be re-uploaded directly into Salesforce Files

    Dentrix X-ray and intraoral image files are stored on local or network drives with file paths referenced in the patient record. Salesforce Files enforces a 25MB per-file limit, and uploading clinical imaging into a CRM creates HIPAA storage compliance obligations that most practices have not addressed in their Salesforce org. FlitStack preserves Dentrix imaging paths as Source_Imaging_URL__c URL fields on Contact records. Your team designates a HIPAA-compliant cloud storage destination (AWS S3 with appropriate bucket policies, or your existing PACS system) and updates the URL prefix post-migration. This is not data loss — the file references survive — but it requires a manual configuration step at your end.

  • Recall and reminder workflows must be rebuilt in Salesforce Flow

    Dentrix recall rules (6-month cleaning intervals, per-procedure follow-up windows, birthday reminders) are stored as workflow configuration data in the Dentrix database. There is no Salesforce equivalent to these recall rules — Salesforce has no native concept of a recall interval tied to a Contact. FlitStack exports your Dentrix recall configuration as a structured reference document listing each rule's trigger (procedure type, provider, patient status), interval (months), and action (appointment request, letter, email). Your Salesforce admin uses this document to build Salesforce Flow reminder rules. The original recall logic is preserved as Recall_Rule__c custom fields on Contact for reference during the rebuild phase.

  • CDT procedure codes are not a Salesforce standard field

    Dentrix uses ADA CDT (Current Dental Terminology) codes as the primary procedure identifier throughout the clinical workflow — from treatment planning through billing. Salesforce has no standard CDT code field; the standard Product2 object uses SKU and product codes, not dental procedure codes. FlitStack creates a custom pick-list field CDT_Code__c on the custom Treatment_Plan__c and Procedure__c objects with your practice's active CDT code set. This allows Salesforce reports to filter by procedure type. CDT codes must be manually synced annually when ADA updates the code set (typically in January), which requires your Salesforce admin to update the pick-list values.

  • Provider-to-Contact assignment requires email-matching against Salesforce Users

    Dentrix providers (dentists, hygienists, office staff) are stored with internal IDs and contact information but no Salesforce identity. FlitStack resolves each Dentrix provider record to a Salesforce User by matching the email address. If a provider has no Salesforce user account, their patient records are assigned to a fallback owner (typically the practice administrator) and the provider record is stored as a Contact with Is_Provider__c = true. Practices with a large number of part-time or associate providers should invite all active providers to Salesforce before migration so the OwnerId lookup resolves correctly on appointment and procedure records.

Migration approach

Six steps for a successful Dentrix to Salesforce Sales Cloud data migration

  1. Audit Dentrix data sources and build the extraction specification

    FlitStack begins every Dentrix migration with a data audit phase. We inventory the .dat file modules present in your Dentrix installation, validate the built-in export utility coverage, and identify any custom fields your practice has added to the standard Dentrix schema. We produce an extraction specification listing every source table, the expected record counts, and the field-level mapping to Salesforce objects. For Dentrix Ascend (cloud) practices, we use the API Exchange endpoints where available. For Dentrix G4 server installations, we run extraction scripts against the .dat files. This phase also identifies records with missing required fields (patients without dates of birth, appointments without providers) so data cleansing happens before the load, not after.

  2. Design and deploy Salesforce custom schema

    Before any data loads, FlitStack designs the Salesforce custom object and field schema required to hold Dentrix clinical and dental-specific data. We create the Treatment_Plan__c and Procedure__c custom objects with the CDT_Code__c pick-list, the Clinical_Note__c object, the Billing_Ledger__c object, and all custom Contact fields (Insurance_Subscriber_ID__c, Clinical_Alert__c, Source_Imaging_URL__c, etc.). We also create any necessary Account records for insurance carriers and set up the junction object linking patients to their insurance providers. We deliver a schema deployment plan so your Salesforce admin can create the fields via Setup or deploy via a change set before the migration run commits.

  3. Extract, normalize, and stage Dentrix data

    Dentrix data is extracted from .dat files, CSV exports, or API responses into a normalized staging format. During this phase, patient records are deduplicated (Dentrix sometimes creates duplicate patient entries across module imports), provider email addresses are resolved to Salesforce User IDs, insurance carriers are matched or created as Account records, and CDT codes are validated against the ADA code set. Clinical notes are extracted with full timestamps and provider attribution. All staged records are validated against the Salesforce field-type constraints (field length limits, pick-list values, date formats) before the load is attempted. Records failing validation are flagged in a correction report for your team to review.

  4. Run sample migration with field-level diff

    A representative slice of 100–500 records migrates first, covering patients, appointments, treatment plans, procedures, and clinical notes. FlitStack generates a field-level diff comparing source values against destination field values in Salesforce. You verify that patient names, addresses, CDT codes, provider assignments, and insurance links appear correctly in Salesforce before the full run commits. This sample also validates that the custom objects and junction relationships load correctly — particularly the treatment-plan-to-contact lookup chain. Any mapping errors discovered at this stage are corrected before the bulk migration runs.

  5. Execute full migration and delta-pickup cutover

    The full Dentrix dataset loads into Salesforce via Bulk API 2.0, chunked into 150,000-record batches for large practices. A delta-pickup window of 24–48 hours runs after the bulk load completes, capturing any appointments, clinical notes, or patient records modified in Dentrix during the migration window. The delta run appends to the Salesforce dataset so the final state reflects Dentrix at go-live. An audit log records every record created or updated, and one-click rollback is available if reconciliation against the Dentrix source reveals unexpected discrepancies. After validation, your team is briefed on the Salesforce configuration and the recall-workflow rebuild document is handed off.

Platform deep dives

Context on both ends of the pair

Dentrix logo

Dentrix

Source

Strengths

  • Mature, feature-rich practice management covering scheduling, billing, clinical charting, and analytics in one platform.
  • Strong insurance claims workflow with direct submission pipelines and established payer relationships.
  • Deep integration with DEXIS and Schick imaging hardware from Henry Schein One.
  • Comprehensive practice metrics and reporting dashboards for monitoring production and collections.
  • Established 35-year market presence with a large trained workforce and active user community.

Weaknesses

  • Server-based architecture requires dedicated on-premise hardware, IT maintenance, and manual backup management.
  • No public REST API for Dentrix G — data extraction requires direct database access or third-party tools.
  • Dated user interface with poor visual design that frustrates front-office staff.
  • Increasingly difficult customer support, with multiple reviews citing account issues and poor response times.
  • High total cost of ownership for the cloud version ($40,000–$60,000 annually) relative to cloud-native competitors.
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. 1 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 Dentrix and Salesforce Sales Cloud.

  • Object compatibility

    B

    1 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

    Dentrix: Not publicly documented for Dentrix Ascend API Exchange.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Dentrix 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 Dentrix to Salesforce Sales Cloud data migrations

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

Can't find your answer?

Walk through your Dentrix to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

A typical dental practice with 2,000–10,000 patient records completes migration in 2–4 weeks from discovery audit to go-live validation. Practices with fewer than 2,000 records and clean Dentrix data can finish in as little as 10–14 days. Large multi-location practices or those with complex custom fields extend to 4–6 weeks. The data extraction phase (parsing .dat files or using Dentrix export utilities) typically takes 3–5 business days, while Salesforce schema creation and field mapping add another 3–5 days. The actual bulk load and validation runs over 1–2 days.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dentrix.
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