CRM migration

Migrate from DGL Practice Manager to Microsoft Dynamics 365 Sales

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 logo

DGL Practice Manager

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

11 of 11

objects map 1:1 between DGL Practice Manager and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

DGL Practice Manager logo

DGL Practice Manager

What's pushing teams away

  • Frequent reliability failures including application crashes, inability to access the patient database, and Word integration breaking without warning erode trust in day-to-day use.
  • Outdated interface and non-intuitive feature placement make routine tasks feel laborious compared to modern browser-based alternatives.
  • Extortionate per-invoice charges for insurer submissions add up significantly for high-volume billing practices and create an ongoing cost burden.
  • Prohibitive data extraction fees charged when leaving make switching away financially punishing and function as a de facto lock-in mechanism.
  • Absence of a patient-facing portal, native dictation integration, and modern workflow automation leaves DGL behind competitors offering these features as standard.

Choosing

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

What's pulling them in

  • Deep Microsoft 365, Teams, and Outlook integration makes Microsoft Dynamics 365 Sales a natural fit for Microsoft-first organizations already invested in that ecosystem
  • Sales Enterprise and Premium tiers offer unlimited custom tables and advanced AI-driven forecasting and predictive analytics not available in lower tiers
  • Professional tier pricing at $65 per user per month offers a lower entry cost than Salesforce for SMB teams with straightforward CRM needs
  • Flexible customization options allow businesses to build bespoke apps, tailor forms and views, and integrate with other Dynamics 365 modules
  • Microsoft Copilot AI tools are embedded directly into the sales workflow on Enterprise and Premium, automating routine tasks and providing deal intelligence

Object mapping

How DGL Practice Manager objects map to Microsoft Dynamics 365 Sales

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

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

Task / Custom Appointment Table

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

Annotation (Note)

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

Opportunity / Order

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

Custom EDI_Submission__c Table

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

SharePoint / Attachment

1:1
Fully supported

DGL 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)

maps to

Microsoft Dynamics 365 Sales

Custom Column on Contact

1:1
Fully supported

DGL 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

maps to

Microsoft Dynamics 365 Sales

Custom Column / Power Automate Flow

1:1
Fully supported

DGL'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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Where 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.

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.

DGL Practice Manager logo

DGL Practice Manager gotchas

High

Per-invoice insurer submission charges inflate costs silently

High

Extortionate data extraction fee creates lock-in barrier

High

No public API means migration relies on DGL's goodwill

Medium

SQL infrastructure update in progress may alter the schema

Medium

Document generation depends on Microsoft Word on the local machine

Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales gotchas

High

Professional tier 15-table custom table limit blocks migrations

High

October 2024 pricing increase applies at renewal for all customers

Medium

Custom fields must be created in the UI before API writes

Medium

Power Platform request limits apply to bulk migrations

Medium

Activity records orphaned to inactive owners fail silently

Pair-specific challenges

  • DGL charges an extortionate data extraction fee on exit

    Verified Capterra reviews (October 2023) state that DGL Practice Manager charges an extortionate amount of money for data export when customers want to leave. This is a billing surprise that must be budgeted before migration scoping. FlitStack AI discloses this cost upfront and works with the customer's DGL account manager to obtain the maximum allowable data export within the contract terms. The extraction fee is a source-side, FlitStack-independent cost passed through to the customer and factored into the overall migration budget. Failing to budget for this creates a gap between the migration proposal and the actual project cost.

  • DGL has no documented public REST API — migration uses proprietary export tooling

    Research across DGL Practice Manager's public documentation and community threads reveals no publicly documented REST or Graph API for third-party data extraction. DGL exports data via its internal SQL backend and proprietary export tools. This means the migration path is not a standard API pull — FlitStack AI must work with DGL's export mechanisms (DGL Quick Links, direct SQL access where available, or manual export with DGL's blessing). The lack of a clean API means we cannot run automated delta polling during the pre-cutover window the way we can with HubSpot or Salesforce. We mitigate this by agreeing on a data freeze date and performing a final export at cutover.

  • Appointment scheduling has no native Dynamics 365 equivalent — needs a separate tool

    DGL's diary management (multi-consultant, multi-room, recurring appointments, appointment types) maps only partially to Dynamics 365. Dynamics 365 Sales has no native scheduling engine — the native entity for this is Bookings (part of the Universal Resource Scheduling or Field Service add-on), which is not included in standard Sales Professional or Sales Enterprise licenses. We map DGL appointment timestamps to Task records as a holding structure. Practices that rely on DGL's scheduling for daily operations must budget for a separate scheduling solution (Bookings app, Acumatica, or a third-party medical scheduling tool) post-migration.

  • EDI billing logic — automatic shortfall and multiple-payment rules — cannot migrate

    DGL's EDI submission engine (automatic shortfall detection, multiple-payment handling, insurer acknowledgement processing) is a billing workflow construct with no equivalent in Dynamics 365 Sales. The Opportunity and Order entities capture the financial result of an EDI submission but not the submission mechanism itself. We preserve EDI status, shortfall amounts, and submission dates as custom fields on the Opportunity record. However, the Power Automate flows that handle EDI resubmission triggers, shortfall alerts, and insurer follow-ups must be designed from scratch by the customer's Power Platform admin or a Microsoft partner.

  • Dynamics 365 Power Platform API request limits vary by license tier

    Microsoft Power Platform enforces per-user API request limits that scale with license type: Sales Professional includes 5,000 requests per user per day; Sales Enterprise includes 20,000 requests per user per day; higher limits are available with the Enterprise Tier 2 allocation. During a migration with 10,000+ records, FlitStack AI's Dataverse API writes can approach these limits in multi-user environments. We manage this by using the Dataverse Bulk API (ExecuteMultiple requests) for batch inserts, monitoring response headers for throttling (HTTP 429), and scheduling migration runs during off-peak hours. Customers on Sales Professional with large record sets may need to stagger the migration over multiple days.

Migration approach

Six steps for a successful DGL Practice Manager to Microsoft Dynamics 365 Sales data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

DGL Practice Manager logo

DGL Practice Manager

Source

Strengths

  • Integrated clinical records, diary, billing, and document creation in a single cloud-hosted platform.
  • EDI-enabled insurer billing with automatic shortfall detection for insurance-heavy practices.
  • Multi-consultant, multi-diary configuration supports clinic and LLP structures at a single practice level.
  • Microsoft Word integration for letter drafting with customizable letterhead templates.
  • Automatic cloud updates eliminate local installation and maintenance overhead for practices.

Weaknesses

  • No documented public API limits programmatic access and complicates automated migration scoping.
  • No native patient self-service portal forces practices to manage inbound administrative contact manually.
  • Dictation requires a separate Dragon Medical integration rather than being built into the clinical workflow.
  • Ongoing per-invoice charges for insurer submissions add material cost for high-volume billing practices.
  • Frequent reliability issues including crashes and database access failures reported across multiple review sources.
Microsoft Dynamics 365 Sales  logo

Microsoft Dynamics 365 Sales

Destination

Strengths

  • Native integration with Microsoft 365, Teams, Outlook, and SharePoint for unified productivity workflow
  • Unlimited custom tables and complex workflows on Enterprise tier enable deep customization for complex sales processes
  • AI-driven predictive analytics and deal intelligence on Enterprise and Premium tiers help sales teams prioritize pipeline
  • Dataverse unified data layer provides a consistent API and data model across all Dynamics 365 and Power Platform apps
  • Strong security model with Field-Level Security and Record Ownership rules for governance-conscious enterprises

Weaknesses

  • Sales Professional tier caps custom tables at 15, creating a migration ceiling for highly customized SMB environments
  • October 2024 pricing increases of $15 per user across all tiers apply to existing customers upon renewal
  • Implementation typically requires costly certified partners, adding 30–50% to total project cost
  • Updates and platform releases can disrupt customizations and plugins, requiring regression testing after each wave
  • Non-Microsoft integrations require additional configuration or middleware, limiting flexibility for heterogeneous tech stacks

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a manual workaround.

B

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

    B

    1 of 8 objects need a manual workaround.

  • 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

    DGL Practice Manager: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your DGL Practice Manager to Microsoft Dynamics 365 Sales 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 DGL Practice Manager to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during DGL Practice Manager to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most DGL Practice Manager to Dynamics 365 Sales migrations complete within 48–72 hours of clock time for under 10,000 patient records. Complex setups with multi-insurer billing, EDI submission history, and more than 20 custom fields extend the timeline to 5–10 days. The longest planning step is designing the Dynamics 365 custom column schema before data can land. DGL's proprietary export mechanism (no public API documented) also requires coordination with DGL support to obtain the data file, which can add 3–5 business days to the pre-migration timeline depending on DGL's responsiveness and contract terms.

Adjacent paths

Related migrations to explore

Ready when you are

Move from DGL Practice Manager.
Land in Microsoft Dynamics 365 Sales , 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