CRM migration
Field-level mapping, validation, and rollback between Curve Dental and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Curve Dental
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between Curve Dental and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Curve Dental organizes dental practice data around patients, providers, appointments, treatment plans, insurance claims, and clinical imaging. Microsoft Dynamics 365 Sales (running on Dataverse) organizes data around Accounts, Contacts, Leads, and Opportunities — a model built for B2B sales cycles, not clinical workflows. The migration must translate patient records into Contacts, collapse provider relationships into Contact entities with role markers, convert appointments into Tasks or custom Activity records, and surface treatment history as Notes or a custom dental_treatment entity. Insurance carrier data, claim histories, and clinical imaging references migrate to custom fields on Contact or related custom tables. The Curve Dental API exports patient records and appointment data in structured form; FlitStack AI reads this export, validates foreign-key integrity, resolves provider-to-contact mappings, and loads into Dynamics 365 via the Dataverse Web API. Workflows, e-signature templates, insurance verification rules, and clinical imaging storage do not have Dynamics 365 equivalents — those require manual rebuild post-migration. The approach uses scoped read access on Curve Dental during a defined delta window so clinical staff continue scheduling during 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.
Source platform
Curve Dental platform overview
Scorecard, SWOT, gotchas, and pricing for Curve Dental.
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 Curve Dental 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.
Curve Dental
Patient
Microsoft Dynamics 365 Sales
Contact
1:1Curve Dental Patient maps to Dynamics 365 Contact via a direct field-to-field transfer. Patient name, date of birth, contact phone numbers, address, and email address map directly to Contact standard fields without transformation. The patient's primary insurance carrier name and group number are stored as custom fields on the Contact record for reference during billing workflows. The original Curve Dental Patient ID is preserved in a Source_System_ID__c custom field to support delta-run deduplication and allow traceability back to the source system for reconciliation.
Curve Dental
Patient (with insurance flag)
Microsoft Dynamics 365 Sales
Contact + custom insurance fields
1:1Patients with active insurance eligibility records in Curve Dental map to Contact plus three custom fields: Insurance_Carrier__c (text), Group_Number__c (text), and Eligibility_Verified_Date__c (date). Claim history summary migrates as a Note linked to the Contact. Full claim line items require the custom dental_claim custom table.
Curve Dental
Provider / Dentist
Microsoft Dynamics 365 Sales
Contact (with Provider role)
1:1Curve Dental Provider records (dentist name, credentials, NPI number, specialty) map to Dynamics 365 Contact entities. We create a custom Provider_Type__c pick-list field with values General_Dentist, Specialist, Hygienist, Office_Manager. NPI number stores in NPI__c custom field. Provider-to-Patient associations become Contact-to-Contact relationships via a custom junction table.
Curve Dental
Appointment
Microsoft Dynamics 365 Sales
Task / Custom Appointment Table
1:1Curve Dental appointments (date, time, operatory, provider, procedure code, status) map to a custom dental_appointment Dataverse table if Dynamics 365 Field Service is not licensed. Each appointment record links to a Contact (patient), a Contact (provider), and stores procedure_code, operatory, and status. Existing appointments in 'Completed' status migrate with ActualEnd populated.
Curve Dental
Treatment Plan / Clinical Note
Microsoft Dynamics 365 Sales
Note + custom dental_treatment table
1:1Curve Dental clinical notes and treatment plans migrate to a custom dental_treatment Dataverse table with fields for tooth_number (text), procedure_code (text), diagnosis (text), treatment_description (text), status (Active/Completed/Deferred), and provider_reference (Contact lookup). Rich-text clinical notes attach as Notes linked to the dental_treatment record.
Curve Dental
Insurance Claim
Microsoft Dynamics 365 Sales
Custom dental_claim table
1:1Curve Dental claim records (claim ID, carrier, service date, billed amount, paid amount, status, denial reason) require a custom dental_claim Dataverse table because Dynamics 365 Sales has no native claims entity. The table links to Contact (patient) and Insurance_Carrier__c. Denial reason codes store in Denial_Reason__c custom field.
Curve Dental
Document / Attachment
Microsoft Dynamics 365 Sales
SharePoint / OneDrive for Business + Note
1:1Curve Dental file attachments (consent forms, EOBs, imaging references) are re-uploaded to the Dynamics 365 Sales-connected SharePoint or OneDrive for Business document library. A Note record on the corresponding Contact stores the document URL and original file name for traceability.
Curve Dental
Ledger / Accounts Receivable
Microsoft Dynamics 365 Sales
No equivalent in Dynamics 365 Sales
1:1Curve Dental ledger entries and A/R data have no mapping in Dynamics 365 Sales CRM. This data must remain in Curve Dental or export to a dedicated accounting tool (QuickBooks, Business Central). We provide a structured CSV export of A/R records for import into Business Central or Excel-based reconciliation.
Curve Dental
Eligibility+ verification results
Microsoft Dynamics 365 Sales
Custom Eligibility_Log table
1:1Curve Dental's Eligibility+ AI verification results (coverage level, copay, deductible remaining) migrate to a custom dental_eligibility_log Dataverse table linked to Contact. These are reference records — they do not drive any Dynamics 365 Sales workflow. Practices must re-enable Eligibility+ or equivalent verification within their billing workflow post-migration.
Curve Dental
Recall / Appointment Reminder
Microsoft Dynamics 365 Sales
Task (recurring) + custom recall_date
1:1Curve Dental recall entries (next appointment date, recall type: hygiene, perio, etc.) map to a Contact-level custom Recall_Next_Date__c date field plus a set of scheduled Tasks with reminder dates. The recall type migrates as Recall_Type__c pick-list. Active recalls without a scheduled appointment generate a Task for the front desk.
Curve Dental
Custom Form / Smart Form response
Microsoft Dynamics 365 Sales
Note on Contact
1:1Curve Smart Form submissions (new patient intake, health history, consent forms) migrate as Notes on the corresponding Contact record, preserving submission date and original form name. Form field data structured in the Note body or as a linked custom intake table if the form captures structured clinical data.
Curve Dental
User / Staff account
Microsoft Dynamics 365 Sales
SystemUser (Dynamics 365)
1:1Curve Dental user accounts (front desk, hygienist, doctor, admin) are matched to Dynamics 365 Sales SystemUser records by email address. Unmatched Curve users are flagged for admin review before migration. Provider-type users get Provider_Type__c populated on their Contact record; non-provider users do not get a Contact record unless specified.
| Curve Dental | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient (with insurance flag) | Contact + custom insurance fields1:1 | Fully supported | |
| Provider / Dentist | Contact (with Provider role)1:1 | Fully supported | |
| Appointment | Task / Custom Appointment Table1:1 | Fully supported | |
| Treatment Plan / Clinical Note | Note + custom dental_treatment table1:1 | Fully supported | |
| Insurance Claim | Custom dental_claim table1:1 | Fully supported | |
| Document / Attachment | SharePoint / OneDrive for Business + Note1:1 | Fully supported | |
| Ledger / Accounts Receivable | No equivalent in Dynamics 365 Sales1:1 | Fully supported | |
| Eligibility+ verification results | Custom Eligibility_Log table1:1 | Fully supported | |
| Recall / Appointment Reminder | Task (recurring) + custom recall_date1:1 | Fully supported | |
| Custom Form / Smart Form response | Note on Contact1:1 | Fully supported | |
| User / Staff account | SystemUser (Dynamics 365)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.
Curve Dental gotchas
Reporting timeout on large databases
Image and x-ray migration requires chunked transfer and post-migration validation
Accounts receivable balances drift after payment ledger migration
Custom form structure and Smart Forms do not export
Curve Pay dispute fee of $25 per chargeback
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
Audit Curve Dental data export and define Dataverse custom table schema
FlitStack AI connects to the Curve Dental data export (patient records, provider records, appointments, treatment history, insurance data, claims, and recalls) via scoped read access. We audit record counts, identify custom fields in use, and map Curve Dental field names to Dynamics 365 Dataverse column names. For this migration, we create the custom dental_appointment, dental_treatment, dental_claim, and dental_eligibility_log tables in the target Dynamics 365 environment before any data loads. The Dynamics 365 admin creates these tables in the Power Apps maker portal or via the Dataverse tables API; we provide the exact schema definition as part of the pre-migration deliverable.
Resolve provider and patient email lookups to Dynamics 365 SystemUser and Contact records
Dynamics 365 CRM requires that every record with an OwnerId or lookup field point to an existing SystemUser (for provider/staff) or Contact (for patient). FlitStack AI matches Curve Dental provider email addresses to Dynamics 365 user accounts by email. Unmatched providers are flagged for admin review — the practice either creates a corresponding Dynamics 365 user account or assigns those provider records to a fallback owner. Patient Contact records are created from the patient email list; patients without email receive a Contact record with the email field blank and are flagged for manual review.
Load core records in dependency order: Contacts first, then custom tables, then appointments
Dynamics 365 Dataverse enforces referential integrity — a dental_appointment record cannot reference a Contact that does not yet exist. We sequence the migration: (1) all Patient records into Contact objects with custom insurance fields, (2) all Provider records into Contact objects with Provider_Type__c, NPI__c, and specialty fields, (3) dental_treatment records linked to Contact lookups, (4) dental_claim records linked to Contact lookups, (5) dental_appointment records linked to patient Contact and provider Contact. This sequence ensures every foreign key resolves on first pass, reducing error rates in the load.
Run sample migration with field-level diff on 100–200 representative records
Before committing to a full load, FlitStack AI migrates a representative slice: 50 patients with varying insurance configurations, 20 appointments across different statuses, 30 treatment records, 10 claims (including paid, denied, and pending), and 5 provider records. We generate a field-level diff comparing source values in the Curve Dental export against destination values in Dynamics 365 — verifying that insurance carrier names, procedure codes, tooth numbers, and eligibility status all landed correctly. The diff report is shared with the practice admin for sign-off before the full migration proceeds.
Execute full migration with 24–48 hour delta pickup window
FlitStack AI runs the full migration load into Dynamics 365. During the cutover window (typically 24–48 hours), the Curve Dental instance remains fully operational — front desk continues scheduling, clinical staff complete notes, billing staff file claims. Any records created or modified in Curve Dental during this window are captured by the delta pickup pass. After the final delta pass, we run a reconciliation check comparing record counts and a spot-check of modified field values. An audit log documents all create and update operations. If reconciliation fails, one-click rollback reverts the Dynamics 365 environment to the pre-migration state.
Platform deep dives
Curve Dental
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Curve Dental and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Curve Dental and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Curve Dental and Microsoft Dynamics 365 Sales .
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
Curve Dental: Not publicly documented.
Data volume sensitivity
Curve Dental exposes a bulk API — large-volume migrations stream efficiently.
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 Curve Dental to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Curve Dental 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 Curve Dental
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.