CRM migration
Field-level mapping, validation, and rollback between The Dental System and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
The Dental System
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
11 of 12
objects map 1:1 between The Dental System and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
The Dental System stores dental-practice data in a clinical model built around patients, providers, appointments, and treatment plans. Dynamics 365 Sales uses a CRM model built around Accounts, Contacts, Leads, Opportunities, and Cases. These models diverge significantly: dental practices treat 'patients' as the primary entity, while Dynamics 365 treats individuals (Contacts) as distinct from the businesses they belong to (Accounts). Providers in The Dental System must resolve to Dynamics 365 Users, and treatment plans need custom entity mapping since Dynamics 365 has no native dental-procedure concept. We migrate all standard objects — patient demographics, provider profiles, appointment history, treatment plan records, insurance claims data, and billing notes — into their closest Dynamics 365 equivalents. Custom dental fields (procedure codes, treatment stages, insurance carrier references) require custom field creation in Dynamics 365. Workflows, appointment reminder sequences, and insurance claim automation built into The Dental System do not migrate; they must be rebuilt using Dynamics 365 Workflow or Power Automate. Our migration engine uses the source API for extraction and the Dynamics 365 Dataverse API for ingestion, with field-level validation before commit.
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.
Source platform
The Dental System platform overview
Scorecard, SWOT, gotchas, and pricing for The Dental System.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
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 Microsoft Dynamics 365 Sales , 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
Microsoft Dynamics 365 Sales
Contact
1:1The Dental System patient records map to Dynamics 365 Contacts. Patient demographics (name, date of birth, contact information) transfer directly. The patient record's primary address becomes the Contact's address fields. We preserve the source patient ID in Source_Patient_ID__c for traceability and delta-run deduplication during the migration window.
The Dental System
Patient
Microsoft Dynamics 365 Sales
Account
many:1When The Dental System patient record contains a guarantor employer or referral-source organization, we merge that organization reference into a Dynamics 365 Account record linked to the Contact. This preserves referral-source attribution in Dynamics 365 even when The Dental System stores employer data only as a text field on the patient record.
The Dental System
Provider / Dentist
Microsoft Dynamics 365 Sales
User
1:1The Dental System provider profiles (dentist name, specialty, license number) resolve to Dynamics 365 Users by email match against your Microsoft 365 tenant. Providers without a matching Office 365 license are created as Contacts with a custom Provider_Type__c field and a flag in Source_System_Type__c so your admin can evaluate licensing after migration.
The Dental System
Appointment
Microsoft Dynamics 365 Sales
Task / Event
1:1The Dental System appointment records map to Dynamics 365 Events (for scheduled appointments with start/end times) or Tasks (for action items without a specific time window). The provider assignment maps to Event Owner or the regarding field linking to the resolved Dynamics 365 User. Procedure codes attached to the appointment transfer to custom fields on the Event record.
The Dental System
Treatment Plan
Microsoft Dynamics 365 Sales
Opportunity
1:1Treatment plans map to Dynamics 365 Opportunities because both represent staged, multi-step work with an estimated value and a completion timeline. Each treatment procedure within the plan becomes a separate Opportunity Product line item with the CDT code, fee, and provider assignment. The treatment plan's overall estimated value maps to the Opportunity Amount field.
The Dental System
Procedure / CDT Code
Microsoft Dynamics 365 Sales
Product
1:1The Dental System procedure codes (CDT codes) map to Dynamics 365 Product records. The CDT code identifier becomes the Product Number. Pricing from The Dental System transfers as the standard price on the Product record. We preserve the procedure description as the Product Name so staff can search by common name or code.
The Dental System
Insurance Carrier
Microsoft Dynamics 365 Sales
Account
1:1Insurance carrier names from The Dental System create Account records in Dynamics 365 with Account Type set to 'Insurance Company'. The carrier's address and contact information map to the Account's standard address fields. We set Source_System_Type__c = 'Insurance_Carrier' on these Account records so your team can filter carrier accounts from customer accounts.
The Dental System
Insurance Claim
Microsoft Dynamics 365 Sales
Case
1:1Insurance claims from The Dental System map to Dynamics 365 Cases because Cases track status, ownership, and resolution steps — the closest analogue to claim lifecycle tracking. The claim status (submitted, pending, paid, denied) maps to the Case's Status field via value mapping. The linked patient Contact and insurance carrier Account resolve via foreign-key lookup.
The Dental System
Treatment History
Microsoft Dynamics 365 Sales
Note / Activity
1:1Procedure history entries from The Dental System (completed procedures with date, provider, and tooth-surface notation) map to Dynamics 365 Notes attached to the Contact record. If the practice has enabled the Audit History tracking flag on procedures, we convert those audit entries to Activity records (Tasks) showing the date and provider so the full clinical timeline is visible in the Contact's timeline view.
The Dental System
Practice Location
Microsoft Dynamics 365 Sales
Account
1:1When The Dental System manages multiple practice locations, each location becomes a separate Account record with Account Type = 'Practice Location'. The practice's primary contact within each location maps to the primary Contact under that Account. This enables Dynamics 365 territory management and reporting by location for DSOs.
The Dental System
Custom Dental Field (procedure codes, treatment stages, insurance adjustments)
Microsoft Dynamics 365 Sales
Custom Field on Contact / Opportunity / Case
1:1The Dental System custom fields for CDT code tracking, treatment stage flags, insurance adjustment percentages, and tooth-charting data do not have native equivalents in Dynamics 365. We create custom fields on the relevant entity (Custom_Dental_Stage__c on Contact, Insurance_Adjustment_Pct__c on Case, etc.) using the new_ prefix convention and preserve the original field label and pick-list values value-by-value.
The Dental System
Patient Communication Log
Microsoft Dynamics 365 Sales
Activity (Email / Task)
1:1Communication history from The Dental System (patient emails, call summaries, text message logs) transfers as Dynamics 365 Activities. Emails migrate as Email activities with the original timestamp and the provider who logged the communication. Call notes map to Task records with Type = 'Call'. These attach to the Contact's activity timeline.
| The Dental System | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient | Accountmany:1 | Fully supported | |
| Provider / Dentist | User1:1 | Fully supported | |
| Appointment | Task / Event1:1 | Fully supported | |
| Treatment Plan | Opportunity1:1 | Fully supported | |
| Procedure / CDT Code | Product1:1 | Fully supported | |
| Insurance Carrier | Account1:1 | Fully supported | |
| Insurance Claim | Case1:1 | Fully supported | |
| Treatment History | Note / Activity1:1 | Fully supported | |
| Practice Location | Account1:1 | Fully supported | |
| Custom Dental Field (procedure codes, treatment stages, insurance adjustments) | Custom Field on Contact / Opportunity / Case1:1 | Fully supported | |
| Patient Communication Log | Activity (Email / Task)1: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
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Provision Dynamics 365 environment and configure CDT product catalog
We begin by provisioning a sandbox Dynamics 365 Sales environment (or validating your existing tenant). We import the CDT code reference table as Dynamics 365 Products so all procedure codes have valid Product IDs before any patient or treatment data arrives. We also create the custom fields identified in the object-mapping plan — new_Treatment_Stage__c on Opportunity, new_Procedure_Code__c on Event, new_Insurance_Claim_Status__c on Case, Source_Patient_ID__c on Contact — and configure the insurance carrier Account type and practice location Account type. This step produces a schema-ready environment before data extraction begins.
Extract patient, provider, appointment, and treatment data from The Dental System API
We connect to The Dental System API using scoped read-only credentials and extract all standard objects: patient records with demographics and addresses, provider profiles with specialty and license data, appointment history with procedure codes and provider assignments, treatment plans with stage and fee data, and insurance claim records with status and carrier references. We also extract any active custom fields your practice has configured. During extraction, we flag duplicate patient records, unresolved provider email addresses, and appointments with missing procedure codes so your team can address them before mapping runs.
Run provider-to-User resolution and build foreign-key dependency chain
Before committing any records to Dynamics 365, we resolve The Dental System provider IDs against your Microsoft 365 tenant by email. Matched providers become Dynamics 365 Users linked to the correct security role; unmatched providers become Contacts with a Source_System_Type__c = 'Provider' flag. We build the insertion order based on Dynamics 365 foreign-key dependencies: insurance carrier Accounts first, then practice location Accounts, then patient Contacts (resolving employer references to Accounts), then providers (as Users or Contacts), then Opportunities (with resolved Contact and provider lookups), then Events, then Cases. Circular references and orphaned records are flagged and reported before execution.
Execute sample migration with field-level diff and stakeholder review
We run a representative slice of the migration — typically 200–500 records spanning patients, providers, appointments, treatment plans, and claims — into the Dynamics 365 sandbox. We generate a field-level diff report comparing source values against the migrated Dynamics 365 record values, covering all mapped fields including custom fields and pick-list value mappings. You review the diff report, verify that treatment stages, appointment procedure codes, and claim statuses resolved correctly, and approve the sample before the full run commits. Any mapping corrections are applied to the migration engine before the production run.
Execute full migration with delta-pickup window and audit commit
The full migration runs against Dynamics 365 Production. We capture the extraction timestamp and open a delta-pickup window (typically 24–48 hours) so any new patients, appointments, or claim updates created in The Dental System during the cutover are captured in a follow-on sync pass. Every record operation — insert, update, skip, error — is logged to an audit trail. If reconciliation reveals gaps (missed claim updates, incomplete treatment plan stages), we trigger a targeted re-migration of affected records. One-click rollback reverts all committed records if critical issues are found before go-live sign-off.
Post-migration validation, owner handoff, and workflow rebuild reference
After migration, we run a record-count reconciliation against The Dental System source totals for each object type. We validate foreign-key lookups (Contacts linked to Accounts, Opportunities linked to Contacts, Cases linked to both Contact and insurance carrier Account) and surface any broken links for manual resolution. We deliver a Provider_License_Report__c showing all providers who resolved as Contacts versus Users, so your team can make licensing decisions. We also export a Workflow_Definition_Export__c from The Dental System — this document lists all active appointment reminder sequences, insurance claim alert rules, and treatment-stage automation triggers that do not migrate, giving your Dynamics 365 admin a rebuild reference for Power Automate or Dynamics 365 Workflow.
Platform deep dives
The Dental System
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Microsoft Dynamics 365 Sales .
Object compatibility
1 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 Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your The Dental System to Microsoft Dynamics 365 Sales 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 Microsoft Dynamics 365 Sales
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.