CRM migration
Field-level mapping, validation, and rollback between Core Practice and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Core Practice
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
10 of 10
objects map 1:1 between Core Practice and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
72–96 hours
Overview
Core Practice is a cloud-based dental practice management system built around patients, appointments, and treatment records. It lacks the pipeline management, forecasting, and reporting depth that sales teams and multi-location practices need. Dynamics 365 Sales is Microsoft's CRM platform built on Dataverse — it uses Account and Contact as the core objects, supports custom tables, and integrates natively with Microsoft 365, Power Platform, and Copilot for Sales. The migration challenge is significant: Core Practice stores clinical and operational data with no direct equivalent in a CRM object model. We extract Core Practice records via its API, map patient records to Dynamics 365 Contact entities, adapt treatment and appointment history to custom tables, and surface billing data as Account-level custom fields or Opportunity records depending on revenue intent. Owner resolution happens by email match against Dynamics 365 users. A delta-pickup window captures in-flight records during cutover, and a sample migration with field-level diff runs before the full commit. We do not migrate appointment-scheduling automations, clinical workflows, or treatment-plan templates — those are practice-management logic that must be rebuilt in Dynamics 365's model-driven apps or Power Apps.
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
Core Practice platform overview
Scorecard, SWOT, gotchas, and pricing for Core Practice.
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 Core Practice 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.
Core Practice
Patient
Microsoft Dynamics 365 Sales
Contact
1:1Core Practice Patient records map directly to Dynamics 365 Contact. Each patient becomes one Contact with the practice's contact details (name, phone, email, address) mapped field by field. The patient's primary email is used as the unique match key for owner resolution against Dynamics 365 users.
Core Practice
Patient
Microsoft Dynamics 365 Sales
Account
1:1In Dynamics 365 Sales, Accounts represent organizations. If Core Practice stores a referring practice or clinic name alongside the patient record, we surface that as a lookup to an Account. Solo practitioners without organizational records get a default 'Individual Patient' Account to satisfy Dynamics 365's AccountId relationship on Contact.
Core Practice
Treatment Record
Microsoft Dynamics 365 Sales
Custom Table: TreatmentHistory__c
1:1Core Practice treatment records (procedure codes, dates, provider, notes) have no standard Dynamics 365 equivalent. We create a custom TreatmentHistory table with fields for procedure code, treatment date, provider name, tooth/quadrant reference, and clinical notes. A lookup to Contact preserves the patient relationship.
Core Practice
Appointment
Microsoft Dynamics 365 Sales
Custom Table: Appointment__c
1:1Appointment data (date, time, duration, appointment type, provider, status) migrates to a custom Appointment table linked to Contact. Note that Dynamics 365 Sales has no native scheduling — appointment slots do not become CRM calendar events automatically; we preserve the data for reporting and Power Apps rebuild.
Core Practice
Billing / Invoice
Microsoft Dynamics 365 Sales
Opportunity or Custom Table: Billing__c
1:1If the practice generates per-patient revenue tracked in Core Practice, we map that to a Dynamics 365 Opportunity with Amount reflecting total billed value and a 'Treatment Completed' stage. Practices focused on reporting rather than pipeline management use a custom Billing table instead.
Core Practice
Provider / Staff
Microsoft Dynamics 365 Sales
User or Contact
1:1Core Practice providers and staff are resolved by email against Dynamics 365 Sales users. If a Core Practice staff member does not have a Dynamics 365 license, their records are stored as Contact entities with a 'Provider' role custom field for identification.
Core Practice
Patient Notes / Clinical Notes
Microsoft Dynamics 365 Sales
Annotation (Note) on Contact
1:1Core Practice clinical notes attached to patient records migrate as Dynamics 365 Annotations linked to the corresponding Contact. We preserve original note timestamps and author information. Rich-text formatting is maintained where the source data supports it.
Core Practice
Insurance / Payer Information
Microsoft Dynamics 365 Sales
Custom Field on Contact + Account
1:1Insurance carrier name, policy number, group number, and coverage type from Core Practice migrate to custom fields on Contact (Insurance_Carrier__c, Policy_Number__c, Group_Number__c, Coverage_Type__c). Practices managing multiple payers per patient use a related custom Insurance custom table.
Core Practice
Treatment Plan
Microsoft Dynamics 365 Sales
Custom Table: TreatmentPlan__c
1:1Proposed or scheduled treatment plans from Core Practice migrate to a custom TreatmentPlan table linked to Contact. Each plan line maps to a TreatmentPlanLine custom table with procedure code, estimated cost, and status. Planned vs. completed treatment is distinguished by a status pick-list.
Core Practice
Patient Attachments / X-Rays
Microsoft Dynamics 365 Sales
SharePoint / Dynamics 365 Attachments
1:1Core Practice file attachments (X-rays, consent forms, images) are downloaded and re-uploaded to Dynamics 365's native file storage connected to the Contact record. File size limits of Dynamics 365 apply (default 25MB per file); large imaging files may require SharePoint document library integration.
| Core Practice | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient | Account1:1 | Fully supported | |
| Treatment Record | Custom Table: TreatmentHistory__c1:1 | Fully supported | |
| Appointment | Custom Table: Appointment__c1:1 | Fully supported | |
| Billing / Invoice | Opportunity or Custom Table: Billing__c1:1 | Fully supported | |
| Provider / Staff | User or Contact1:1 | Fully supported | |
| Patient Notes / Clinical Notes | Annotation (Note) on Contact1:1 | Fully supported | |
| Insurance / Payer Information | Custom Field on Contact + Account1:1 | Fully supported | |
| Treatment Plan | Custom Table: TreatmentPlan__c1:1 | Fully supported | |
| Patient Attachments / X-Rays | SharePoint / Dynamics 365 Attachments1: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.
Core Practice gotchas
No publicly documented public API for direct data extraction
Proprietary patient archiving logic can silently drop records
Appointment booking reliability is a documented weakness
Limited review volume limits migration confidence
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
Extract Core Practice data via API and document the schema
FlitStack AI authenticates against Core Practice's API to export all patient records, treatment histories, appointments, billing entries, and attachments. We generate a schema inventory listing every field, data type, and pick-list value in use. This inventory drives the Dynamics 365 schema preparation phase and identifies which custom tables need to be created before data lands.
Prepare Dynamics 365 custom tables and fields
Based on the schema inventory, your Dynamics 365 admin (or our team) creates the required custom tables in Dataverse: TreatmentHistory, Appointment, TreatmentPlan, TreatmentPlanLine, and Billing. Insurance fields are added to Contact. We deliver a detailed setup guide specifying table names, field types, pick-list values, and relationships so the schema is ready before validation runs. If your setup uses Sales Professional, we confirm table count stays within the 15-table limit.
Resolve Core Practice staff to Dynamics 365 users by email
We match Core Practice provider and staff records against Dynamics 365 user accounts by email address. Unmatched staff are flagged and routed to a designated fallback owner. Owner resolution is validated during the sample migration — any unresolved staff appearing in patient or treatment records surface before the full run commits.
Run sample migration with field-level diff
A representative slice of 100–500 Core Practice records migrates first — spanning patients with treatment history, appointments, and billing. We generate a field-level diff comparing source values against the Dynamics 365 records, verifying patient name mapping, treatment date preservation, appointment status value mapping, and owner resolution. You review the diff before the full migration proceeds.
Execute full migration with delta-pickup window
Full migration runs against your Dynamics 365 environment. A delta-pickup window (typically 24–48 hours) captures any Core Practice records created or modified during the cutover. All operations are logged in an audit trail. If reconciliation reveals discrepancies, one-click rollback reverts the target environment to its pre-migration state so corrections can be applied and the run re-executed.
Platform deep dives
Core Practice
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Core Practice and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Core Practice and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Core Practice 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
Core Practice: Not publicly documented.
Data volume sensitivity
Core Practice 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 Core Practice to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Core Practice 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 Core Practice
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.