CRM migration

Migrate from Visual Practice to Microsoft Dynamics 365 Sales

Field-level mapping, validation, and rollback between Visual Practice and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .

Visual Practice logo

Visual Practice

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

12 of 12

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

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Visual Practice is a healthcare-specific CRM designed for medical and dental practices, with native HIPAA compliance, patient scheduling, treatment-case deal tracking, and clinical note attachments. Dynamics 365 Sales is Microsoft's general-purpose CRM built on Dataverse, using Accounts, Contacts, Leads, and Opportunities with a role-based security model that differs fundamentally from Visual Practice's patient-centric model. The migration carries everything Visual Practice stores natively — patient contacts, practice accounts, treatment cases, appointment history, clinical notes, and custom fields — into Dynamics 365 Sales standard entities with Microsoft security roles applied post-migration. The harder problems are mapping HIPAA-required patient data handling to Dynamics 365 field-level security, converting Visual Practice treatment cases (which function as both deals and projects) into Opportunities with custom fields, preserving the patient-practice N:N relationship using Account Contact Relationships, and getting Dynamics 365 Sales Professional's 15-custom-table limit accounted for before migration commits. We sequence the migration Accounts → Contacts → Opportunities with owner resolution by email match, run a field-level diff on a sample set, then cut over with a 24–48 hour delta pickup window. Workflows, sequences, and scheduling automations do not migrate — those require a Dynamics 365 rebuild using Power Automate.

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

Visual Practice logo

Visual Practice

What's pushing teams away

  • Pricing is sales-led with no public tier table, making procurement comparison against mainstream dental PMS (Dentrix, Eaglesoft, Open Dental) opaque.
  • Limited public review and community footprint outside dental marketplace listings.
  • API documentation is not publicly published, limiting custom integration options without vendor engagement.
  • Imaging modality coverage requires confirmation per practice — not all 3D scanners, intraoral sensors, and X-ray sources may have native bridges.
  • Cloud-native architecture may not suit practices with strict on-premise data residency requirements (less common in dentistry but exists in some jurisdictions).

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 Visual Practice objects map to Microsoft Dynamics 365 Sales

Each row shows how a Visual 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.

Visual Practice

Patient

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Visual Practice patients map directly to Dynamics 365 Contacts. Dynamics 365 requires an AccountId (Account lookup) on most contact records — patients without a primary practice association get attached to a default 'Unaffiliated Patients' Account record. HIPAA-protected fields (SSN, insurance IDs) require field-level security configuration in Dynamics 365 before migration.

Visual Practice

Practice

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Visual Practice practices map to Dynamics 365 Accounts. Address fields, industry classification, and practice size translate directly. Multi-location practices in Visual Practice may have parent-child hierarchy — this maps to the Account.ParentAccountId lookup in Dynamics 365. Practices without a National Provider Identifier get a placeholder in the Account.Website field for identification.

Visual Practice

Treatment Case

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Visual Practice treatment cases function as hybrid deal-project records with procedure codes, insurance estimates, and case-status stages. Dynamics 365 Opportunities use StageName pick-list values and close probabilities. We map each treatment case stage to a corresponding Opportunity StageName value — stage probability is derived from the source case outcome history. Procedure codes and insurance estimates migrate as custom fields on the Opportunity.

Visual Practice

Patient-Practice Association

maps to

Microsoft Dynamics 365 Sales

Account Contact Relationship

1:1
Fully supported

Visual Practice supports N:N patient-to-practice associations (a patient can have multiple practices). Dynamics 365 Contacts have a single primary AccountId plus Account Contact Relationships for additional affiliations. We migrate the primary (most recent) practice as AccountId and surface all secondary practice links as Account Contact Relationship records with a Role field indicating 'Primary Care' or 'Referring Practice'.

Visual Practice

Appointment

maps to

Microsoft Dynamics 365 Sales

Appointment (Activity)

1:1
Fully supported

Visual Practice appointments map to Dynamics 365 Appointments (a type of Activity). Original start/end times, appointment type, provider (owner), and patient link are preserved. Appointment status (scheduled, completed, cancelled) migrates to the ActivityPointer.StateCode field. Past appointment history is imported as completed activities.

Visual Practice

Clinical Note

maps to

Microsoft Dynamics 365 Sales

Note

1:1
Fully supported

Visual Practice clinical notes map to Dynamics 365 Notes attached to the Contact record. Rich-text formatting is preserved where the source format is compatible. If Visual Practice stores notes as encrypted HIPAA-protected content, the note body is base64-decoded before migration — field-level security is applied to the Note.Text field post-migration.

Visual Practice

Insurance Record

maps to

Microsoft Dynamics 365 Sales

Custom Table: Patient Insurance

1:1
Fully supported

Visual Practice insurance records (payer, policy number, group number, coverage details) have no direct Dynamics 365 equivalent. We create a Patient_Insurance__c custom table in Dataverse linked to Contact via a lookup field. Insurance status and payer name map to custom fields on this table. If Dynamics 365 Sales Enterprise is in use, this counts against the custom table limit.

Visual Practice

Treatment Procedure

maps to

Microsoft Dynamics 365 Sales

Custom Table: Treatment Procedure

1:1
Fully supported

Individual procedure codes attached to a treatment case require a custom Treatment_Procedure__c table linked to the Opportunity. Each procedure row captures the CDT code, description, fee, and insurance coverage estimate. This table is scoped to the Opportunity so report builders can aggregate procedure revenue by opportunity.

Visual Practice

Staff/Provider

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

Visual Practice staff and providers resolve by email match to Dynamics 365 SystemUsers. Unmatched staff members are flagged before migration — the team either creates Dynamics 365 user accounts first or assigns records to a fallback owner. Provider specialty and credentials migrate as custom fields on the SystemUser record for routing logic.

Visual Practice

Attachment/File

maps to

Microsoft Dynamics 365 Sales

Note (with file attachment)

1:1
Fully supported

Visual Practice file attachments (forms, X-rays, insurance cards) re-upload to Dynamics 365 as Note annotations with file attachments. Dynamics 365 default file size limit is 128MB per annotation. Files exceeding this limit are flagged and split or linked via SharePoint document management if configured.

Visual Practice

Custom Patient Property

maps to

Microsoft Dynamics 365 Sales

Custom Field on Contact

1:1
Fully supported

Visual Practice custom patient properties (e.g., referral source, preferred contact method, medical alerts) migrate as custom fields on the Contact entity using Dataverse field creation. Each field is typed — text, picklist, number — based on the source property type. HIPAA-flagged properties get field-level security applied in Dynamics 365.

Visual Practice

Communication Log

maps to

Microsoft Dynamics 365 Sales

Email (Activity)

1:1
Fully supported

Visual Practice communication logs (patient messages, portal communications, and intake form submissions) map to Dynamics 365 Email activities attached to the Contact record. Timestamp, direction (inbound/outbound), and content subject line are preserved. The communication body migrates as Email.Description; encrypted communications require decryption before import. Attachments within communication threads are extracted and re-attached as Note annotations.

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.

Visual Practice logo

Visual Practice gotchas

High

Clinical imaging files require coordinated binary extraction

High

Electronic claims data has retention and HIPAA constraints

Medium

Specialty module data varies by deployment

Medium

Integrations with imaging hardware require per-device confirmation

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

  • HIPAA field-level security must be configured in Dynamics 365 before PHI lands

    Visual Practice stores protected health information (PHI) — diagnosis codes, insurance IDs, treatment notes — with HIPAA compliance baked into the object model. Dynamics 365 Sales has no native HIPAA flag; compliance requires Azure Active Directory-based field-level security to be configured on every PHI field before patient data migrates. If field-level security is not configured pre-migration, any Dynamics 365 user with read access to the Contact entity can see sensitive fields. We deliver a PHI field inventory and field-level security setup guide as part of the migration plan so your security admin can apply the correct Azure AD security groups before the data load runs.

  • N:N patient-practice relationships collapse to one primary AccountId plus junction records

    Visual Practice supports patients who belong to multiple practices — a patient can be a primary care patient at one practice and a referral patient at another, with N:N association records tracking the relationship type. Dynamics 365 Contacts support one primary AccountId and additional affiliations via Account Contact Relationships, which is a separate table requiring a record per non-primary affiliation. We migrate the most-recently-modified practice as the primary AccountId and create Account Contact Relationship records for all secondary affiliations with the relationship type preserved in the Roles field. If your team relies on viewing all affiliated practices on the Contact form, a custom sub-grid on the Contact form must be configured in Dynamics 365 to surface Account Contact Relationships.

  • Sales Professional's 15-custom-table limit may force an Enterprise license upgrade

    Dynamics 365 Sales Professional caps custom tables at 15 — Visual Practice migrations typically require at minimum a Patient_Insurance__c table and a Treatment_Procedure__c table for every treatment case, plus custom fields for insurance estimates and provider credentials. If your Visual Practice setup has more than 13 custom objects or properties that cannot map to standard Dynamics 365 fields, the migration plan will flag which custom tables are required and whether your target environment is licensed for them. An upgrade to Sales Enterprise (unlimited custom tables, embedded AI forecasting) may be necessary before data lands.

  • Treatment case stages require a custom stage-to-Opportunity mapping plan

    Visual Practice treatment cases track case progress through custom stages (e.g., Consultation, Treatment Plan Approved, In Progress, Completed) that have no direct Dynamics 365 Opportunity StageName equivalent. Dynamics 365 Opportunity stages are pick-list values scoped to a Business Process Flow, and stages must be defined in the Opportunity Sales Process before records can import. We map each Visual Practice case stage to an Opportunity stage with matching probability values — but the stage labels, probability weights, and forecast category assignments must be defined in Dynamics 365 Sales first. Without this schema in place, imported treatment cases land with a null StageName and are invisible in pipeline reports.

  • Encrypted clinical notes require decryption before Dynamics 365 import

    Visual Practice HIPAA compliance may encrypt clinical notes at rest and in transit. Dynamics 365 Dataverse stores notes as plain text in the Note.Text column (or annotationbody for large notes). If your Visual Practice instance encrypts note content, the migration extracts the decrypted content via the source API before loading into Dynamics 365. We validate note content length and character encoding against Dynamics 365's 1,280-character Note.Text limit — notes exceeding this length are split across multiple Note records or attached as file annotations with a text file.

Migration approach

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

  1. Stand up Dynamics 365 schema and security model first

    Before any data moves, your Dynamics 365 admin (or our team) creates the custom tables (Patient_Insurance__c, Treatment_Procedure__c), configures field-level security on PHI fields, defines the Opportunity Sales Process stages matching your Visual Practice treatment case workflow, and sets up Account Contact Relationship visibility on the Contact form. We deliver a Dynamics 365 schema setup checklist based on your Visual Practice custom property count and HIPAA field inventory so the destination environment is ready before field mapping validation runs.

  2. Resolve owners and staff by email match to Dynamics 365 SystemUsers

    Visual Practice providers and staff are matched against Dynamics 365 SystemUsers by email address. Any provider or staff member without a corresponding Dynamics 365 user account is flagged in a pre-migration reconciliation report — your team creates the user accounts first, or we assign their records to a designated fallback owner. No patient record, treatment case, or appointment lands in Dynamics 365 without an owner resolved.

  3. Migrate Accounts and Contacts before Opportunities and Activities

    Dynamics 365 requires Accounts before Contacts (via AccountId lookup) and Contacts before Opportunities (via CustomerId on Opportunity). We sequence the migration so Account records land first, then Contacts with primary AccountId assignments and Account Contact Relationship records for secondary affiliations, then Treatment Cases as Opportunities with procedure custom tables linked. Appointment and note activities attach last to their parent Contact records. This ordering ensures foreign key constraints resolve correctly and pipeline reports reflect the full relationship graph at go-live.

  4. Run a sample migration with field-level diff on 100–500 records

    A representative slice of patients, practices, treatment cases, and clinical notes migrates first. We generate a field-level diff between the Visual Practice source fields and the Dynamics 365 destination fields — you verify that HIPAA field mapping, patient-practice relationship resolution, treatment case stage assignment, and owner resolution all match your expectations before the full run commits. The diff report flags any field where the source value does not appear exactly in the destination field so you can approve or adjust the mapping before mass import.

  5. Cut over with delta-pickup for in-flight records during go-live window

    The full migration runs against Dynamics 365 using Bulk API for high-volume record creation. A delta-pickup window of 24–48 hours captures any Visual Practice records modified during the cutover — new patients, updated treatment cases, or last-minute appointments that occurred between the initial export and go-live. All migration operations are logged in an audit trail. If reconciliation fails — a field is blank that should not be, a relationship is missing — one-click rollback reverts the Dynamics 365 environment to its pre-migration state so the team can re-import with corrected mapping.

Platform deep dives

Context on both ends of the pair

Visual Practice logo

Visual Practice

Source

Strengths

  • Cross-platform support across PC, Mac, and web browser.
  • Broad feature footprint covering clinical, financial, and marketing workflows.
  • Specialty modules for multi-specialty group practices.
  • Cloud imaging bridges reduce need for separate PACS.
  • Procedure-triggered reputation surveys for patient acquisition.

Weaknesses

  • Pricing is sales-led with no public tiers.
  • Limited public review and community footprint.
  • API documentation not publicly published.
  • Imaging hardware compatibility requires per-device confirmation.
  • Cloud-only architecture may not suit on-premise residency requirements.
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 mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Visual Practice and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • 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

    Visual Practice: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your Visual Practice 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 Visual Practice to Dynamics 365 Sales migrations complete in 48–72 hours of clock time for under 50,000 patient records. Larger setups with 500,000+ records, heavy custom-table usage (Patient_Insurance__c, Treatment_Procedure__c), or extensive HIPAA field-level security configuration extend to 5–10 days. The longest planning step is mapping treatment case stages to Dynamics 365 Opportunity Sales Process stages and configuring field-level security on PHI fields before data lands.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Visual Practice.
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