CRM migration
Field-level mapping, validation, and rollback between DGL Practice Manager and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
DGL Practice Manager
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
11 of 11
objects map 1:1 between DGL Practice Manager and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
DGL Practice Manager organises clinical data around patients, appointments, clinical notes, and insurance invoices — a model built for medical secretaries and consultants. Microsoft Dynamics 365 Sales (Dataverse) organises data around Accounts, Contacts, Leads, and Opportunities, with pipeline stages driven by StageName pick-lists tied to Sales Processes and Record Types. These models diverge significantly: DGL has no direct equivalent to Dynamics 365's opportunity pipeline, and Dynamics 365 has no native appointment-scheduling entity. FlitStack AI extracts DGL data via its native export tools (DGL charges per-invoice data extraction, which we disclose upfront), maps every patient to a Contact record with a corresponding Account for the practice or insurer, converts DGL invoice records to Opportunity and Order entities, preserves original create and appointment dates as custom datetime fields, and handles DGL's custom fields as Dataverse custom columns. Workflows — appointment reminders, EDI submission triggers, insurance shortfalls — do not migrate and must be rebuilt in Power Automate. We deliver a schema setup plan, a test migration with field-level diff, and a delta-pickup window (24–48 hours) so Dynamics 365 reflects DGL's final state at 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
DGL Practice Manager platform overview
Scorecard, SWOT, gotchas, and pricing for DGL Practice Manager.
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 DGL Practice Manager 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.
DGL Practice Manager
Patient
Microsoft Dynamics 365 Sales
Contact
1:1DGL patients map to Dynamics 365 Contacts. Each Contact requires an AccountId (primary practice or insurer), resolved by matching the practice name against the Account table. Patients without a linked practice receive a default 'Unregistered Patient' Account. Original DGL patient ID stored as Source_System_ID__c for traceability and delta-run de-duplication.
DGL Practice Manager
Patient / Insurance Policy
Microsoft Dynamics 365 Sales
Account
1:1DGL insurer records (insurance company, policy number, billing address) map to Dynamics 365 Account records with AccountType='Insurance Company'. Where DGL stores multiple insurers per patient (e.g., primary + secondary), we create one Account per insurer and use Account Contact Relationships for the N:1 patient-insurer association.
DGL Practice Manager
Appointment / Diary Entry
Microsoft Dynamics 365 Sales
Task / Custom Appointment Table
1:1DGL diary entries (consultant, room, appointment type, start/end time) map to Dynamics 365 Tasks with Type='Appointment' for the simplest case. Practices that need full diary preservation require a custom Dataverse appointment table created before migration — appointment start time, end time, consultant owner, and room are stored as custom columns.
DGL Practice Manager
Clinical Note
Microsoft Dynamics 365 Sales
Annotation (Note)
1:1DGL clinical notes (rich-text, authored by consultant, timestamped) migrate as Dynamics 365 Annotations. The original create date and author (consultant) are preserved as CreatedOn and a custom ConsultantName__c field since Dynamics 365 Annotations inherit the record owner's identity rather than the original author.
DGL Practice Manager
Invoice / Bill
Microsoft Dynamics 365 Sales
Opportunity / Order
1:1DGL invoices with a closed-won status map to Dynamics 365 Opportunities with Status='Closed Won', capturing the original billed amount and insurer. Open invoices map to Opportunities with their current stage. If DGL invoice lines (line-item detail) are present, they map to Order Products on the associated Order record.
DGL Practice Manager
EDI Submission
Microsoft Dynamics 365 Sales
Custom EDI_Submission__c Table
1:1DGL EDI submissions (submission status, insurer acknowledgement, shortfall flags, resubmission logic) have no Dynamics 365 native equivalent. We create a custom Dataverse table (EDI_Submission__c) with columns for SubmissionDate, Status, InsurerAccountId, ShortfallAmount, and ResubmissionFlag. The EDI workflow logic itself must be rebuilt in Power Automate post-migration.
DGL Practice Manager
Consultant / Staff User
Microsoft Dynamics 365 Sales
SystemUser
1:1DGL users (consultants, secretaries, practice managers) map to Dynamics 365 System Users by email match against Azure Active Directory. Unmatched users are flagged before migration — the practice either invites them to the Dynamics 365 tenant or their records are assigned to a fallback owner (typically the practice administrator).
DGL Practice Manager
Document / Letter
Microsoft Dynamics 365 Sales
SharePoint / Attachment
1:1DGL documents and generated letters (stored in DGL's document management system) are exported as files and re-uploaded to the associated Dynamics 365 Contact record via the SharePoint integration. The file is linked to the Contact via the msdyn_SharePointDocumentLocation entity or a Document Location record pointing to the SharePoint library.
DGL Practice Manager
Custom Property (Patient)
Microsoft Dynamics 365 Sales
Custom Column on Contact
1:1DGL custom fields on the patient record (e.g., ReferralSource, GPName, InsurancePolicyNumber, ClinicalFlag) are mapped to custom Dataverse columns on the Contact table. Each custom field requires a column created in Dynamics 365 Advanced Settings before migration runs. Data type mapping is applied: text fields to Text, numeric flags to Whole Number, date fields to DateTime.
DGL Practice Manager
Shortfall / Automatic Payment Rule
Microsoft Dynamics 365 Sales
Custom Column / Power Automate Flow
1:1DGL's automatic shortfall detection and multiple-payment handling is a billing logic construct with no direct Dynamics 365 equivalent. We preserve shortfall amount and payment rule configuration as custom fields on the Invoice/Opportunity record for reference. The automation logic (triggering re-submission, flagging shortfall records) must be rebuilt as a Power Automate cloud flow post-migration.
DGL Practice Manager
Practice / Clinic
Microsoft Dynamics 365 Sales
Account
1:1Where DGL stores a top-level practice or clinic entity, this maps to a Dynamics 365 Account record with AccountType='Clinic'. If the practice operates multiple sites, each site is a separate Account with a ParentId reference to the main practice Account — matching DGL's location hierarchy.
| DGL Practice Manager | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient / Insurance Policy | Account1:1 | Fully supported | |
| Appointment / Diary Entry | Task / Custom Appointment Table1:1 | Fully supported | |
| Clinical Note | Annotation (Note)1:1 | Fully supported | |
| Invoice / Bill | Opportunity / Order1:1 | Fully supported | |
| EDI Submission | Custom EDI_Submission__c Table1:1 | Fully supported | |
| Consultant / Staff User | SystemUser1:1 | Fully supported | |
| Document / Letter | SharePoint / Attachment1:1 | Fully supported | |
| Custom Property (Patient) | Custom Column on Contact1:1 | Fully supported | |
| Shortfall / Automatic Payment Rule | Custom Column / Power Automate Flow1:1 | Fully supported | |
| Practice / Clinic | Account1: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.
DGL Practice Manager gotchas
Per-invoice insurer submission charges inflate costs silently
Extortionate data extraction fee creates lock-in barrier
No public API means migration relies on DGL's goodwill
SQL infrastructure update in progress may alter the schema
Document generation depends on Microsoft Word on the local machine
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
Engage DGL and extract the data export
FlitStack AI begins by contacting DGL Practice Manager's support team to initiate the data export under the customer's contract terms. We identify all data subsets needed — patient records, insurer records, appointments, invoices, clinical notes, and documents — and agree on an export format (CSV, SQL backup, or DGL's native export tool). We disclose the DGL extraction fee at this stage and include it in the project budget. If DGL's export tool produces inconsistent field names or missing data, we log a remediation task before proceeding to mapping.
Design the Dynamics 365 schema and create custom columns
Before data moves, the Dynamics 365 admin (or FlitStack AI's implementation team) creates all required custom columns in Dataverse: Referral_Source__c, InsurancePolicyNumber__c, GPName__c, ClinicalFlag__c, ShortfallAmount__c, Original_Create_Date__c, Source_System_ID__c, and EDI_Submission__c table columns. We deliver a schema setup checklist based on the DGL custom field inventory. If the practice needs appointment scheduling preserved, we recommend deploying the Bookings app (part of Field Service or Universal Resource Scheduling) and create the custom appointment table in Dataverse as a staging layer.
Resolve consultants and staff users by email against Azure AD
DGL users (consultants, medical secretaries, practice managers) are matched to Dynamics 365 System Users by email address. Unmatched users are flagged in a pre-flight report — FlitStack AI generates a CSV of unmatched users with the DGL role and name so the practice administrator can invite them to the Dynamics 365 tenant or assign their records to a fallback owner. No patient or invoice record lands in Dynamics 365 without a resolved OwnerId. This step is critical for audit compliance in medical records contexts.
Migrate Accounts and Contacts before invoices and appointments
Dynamics 365 requires AccountId on Contact records and Contact lookups on Opportunity records. We sequence the migration to respect foreign-key dependencies: Insurers → Accounts first (AccountId required for Contact), then Patients → Contacts, then Invoices → Opportunities, then Appointments → Tasks. Documents are uploaded last and linked via SharePointDocumentLocation RegardingObjectId to the target Contact. This sequencing prevents orphan records and the 'parent record does not exist' errors that occur when dependent records are loaded out of order.
Run sample migration with field-level diff before full commit
A representative sample (typically 200–500 records spanning patients, insurers, invoices, and appointments) migrates to a Dynamics 365 sandbox environment first. FlitStack AI generates a field-level diff comparing source values against destination values for every mapped column — particularly the custom fields (Referral_Source__c, InsurancePolicyNumber__c, ShortfallAmount__c) and date fields (Original_Create_Date__c, appointment dates). The diff is reviewed with the practice administrator before the full migration run commits. This is where EDI shortfall logic and appointment status mapping are validated.
Cut over with delta-pickup window and rollback readiness
The full migration runs against the Dynamics 365 production environment. A delta-pickup window of 24–48 hours captures any DGL records created or modified during the cutover period. FlitStack AI generates an audit log of every record created, updated, and skipped during migration. If reconciliation fails — a mismatch in invoice amounts, a missing insurer account, or a patient record that failed to link — a one-click rollback reverts all Dynamics 365 changes to the pre-migration state. After rollback confirmation, the customer can remediate and re-run. Post-migration, FlitStack AI hands over a Power Automate rebuild guide for EDI submission workflows and appointment reminder sequences.
Platform deep dives
DGL Practice Manager
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across DGL Practice Manager and Microsoft Dynamics 365 Sales .
Object compatibility
1 of 8 objects need a manual workaround.
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
DGL Practice Manager: Not publicly documented.
Data volume sensitivity
DGL Practice Manager 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 DGL Practice Manager to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your DGL Practice Manager 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 DGL Practice Manager
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.