CRM migration
Field-level mapping, validation, and rollback between The Case File and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
The Case File
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
10 of 12
objects map 1:1 between The Case File and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
The Case File is a practice-management platform built for law firms and professional services — its data model centers on Cases, Clients, Documents, Calendar Events, Tasks, and Billable Hours. Dynamics 365 Sales is a CRM built on Microsoft Dataverse that models Accounts, Contacts, Leads, and Opportunities as its core entities. The two platforms share a record-based architecture, but The Case File's legal-specific objects (parties, matter numbers, practice-area codes, document repositories) require non-trivial translation into D365's standard schema. FlitStack AI extracts The Case File data via its export and bulk-API interfaces, maps clients to Accounts and client contacts to Contacts, and translates cases to Opportunities with a custom case-type field to preserve practice-area semantics. Document repositories are re-uploaded to D365's linked SharePoint Online location and re-associated to the corresponding Opportunity record. Billable hours and time-tracking data, which have no native D365 equivalent, are preserved as custom fields on the Opportunity so historical utilization data survives. The migration does not carry workflows, billing rules, or template documents — those are reconfigured in D365 using Power Automate and SharePoint. FlitStack sequences the migration so foreign keys resolve correctly: clients first, then contacts, then cases with their associated parties and documents. A 24–48-hour delta-pickup window captures any matter updates made during cutover, and the audit log records every operation for reconciliation.
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
The Case File platform overview
Scorecard, SWOT, gotchas, and pricing for The Case File.
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 The Case File 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.
The Case File
Client
Microsoft Dynamics 365 Sales
Account
1:1The Case File Client maps 1:1 to D365 Account — the client organization name, address, industry, and website fields translate directly. Client contacts that are not individual matter representatives land as related Contact records under the Account. Any billing or invoicing contacts stored separately in The Case File merge into custom fields on the Account (Billing_Contact__c, Invoice_Email__c) to prevent duplicate Account creation.
The Case File
Client Contact
Microsoft Dynamics 365 Sales
Contact
1:1Client-side contacts (attorneys, paralegals, billing contacts, opposing parties) map to D365 Contacts. Each Contact is linked to its parent Account (the Client). Where The Case File stores multiple contact roles per client, D365 stores multiple Contact records with role pick-lists.
The Case File
Case
Microsoft Dynamics 365 Sales
Opportunity
1:1Cases translate to D365 Opportunities with the case number prepended to the Opportunity name. The case title becomes the Opportunity Subject. Case status maps via value mapping to D365's StatusCode pick-list. A custom field (Matter_Type__c) preserves The Case File's practice-area or case-type classification.
The Case File
Case Party
Microsoft Dynamics 365 Sales
OpportunityContactRole
1:1Named parties to a case — plaintiff, defendant, co-counsel, expert witness — map to D365 OpportunityContactRole records associated with the Opportunity. The party type becomes the Role field value. This preserves the relationship graph without requiring custom junction entities. Each party is resolved against the Contact table by email to avoid creating duplicate Contact records.
The Case File
Opposing Counsel
Microsoft Dynamics 365 Sales
Contact + Custom Field
many:1Opposing counsel details from The Case File (name, firm, contact info) are merged into a D365 Contact record with a custom field (OC_Firm__c) storing their associated law firm. This prevents duplicate Contact creation when opposing counsel appears across multiple matters.
The Case File
Document
Microsoft Dynamics 365 Sales
SharePoint Document + Note
1:1The Case File documents are downloaded and re-uploaded to the D365-linked SharePoint Online document library under a folder structure keyed by Opportunity (case) ID. Inline document links in The Case File are re-associated to the D365 Opportunity record. Document metadata (create date, author) is preserved in SharePoint file properties.
The Case File
Calendar Event / Deadline
Microsoft Dynamics 365 Sales
Activity (Appointment / Task)
1:1Matter deadlines and calendar events map to D365 Appointments (for meetings and court dates) or Tasks (for deadline reminders). The original scheduled date, duration, and description are preserved. The associated Opportunity (case) is set as the regarding object so activities roll up to the matter in D365.
The Case File
Note
Microsoft Dynamics 365 Sales
Annotation (Note)
1:1Case notes and attorney annotations migrate as D365 Annotations attached to the Opportunity record. Original create dates and owning-user references are preserved. Long-form notes with embedded references to other matter records are flagged for manual review to confirm cross-record linking.
The Case File
Billable Hours / Time Entry
Microsoft Dynamics 365 Sales
Custom Fields on Opportunity
1:1Historical time entries have no native D365 equivalent — billable hours are aggregated by matter and stored in a custom Number field (Total_Hours__c) on the Opportunity. For firms requiring detailed time tracking post-migration, D365 Project Service or a third-party billing integration is recommended.
The Case File
Custom Matter Fields
Microsoft Dynamics 365 Sales
Custom Columns (Dataverse)
1:1Practice-area codes, court jurisdiction, judge assignment, litigation status, and other legal-specific custom fields in The Case File are created as custom columns in Dataverse before the migration runs. API names follow the __c convention (e.g., Court_Jurisdiction__c). FlitStack generates the schema-change plan and can pre-create fields via the Dataverse API.
The Case File
User / Responsible Attorney
Microsoft Dynamics 365 Sales
SystemUser (Owner)
1:1The Case File attorney and staff assignments resolve by email match to D365 SystemUser records. Unmatched owners are flagged before migration — firms either invite them to D365 first or assign records to a fallback owner. This prevents orphaned Opportunities with no responsible user.
The Case File
Client Billing Account
Microsoft Dynamics 365 Sales
Account + Custom Billing Field
many:1Billing contact and invoice-recipient information stored separately in The Case File merges into the primary Account record as custom billing fields (Billing_Contact__c, Invoice_Email__c, Billing_Contact_Name__c, Billing_Contact_Type__c). This prevents duplicate Account creation when billing and matter contacts differ, keeping the Account table clean and maintaining billing precision across all matter records.
| The Case File | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Client | Account1:1 | Fully supported | |
| Client Contact | Contact1:1 | Fully supported | |
| Case | Opportunity1:1 | Fully supported | |
| Case Party | OpportunityContactRole1:1 | Fully supported | |
| Opposing Counsel | Contact + Custom Fieldmany:1 | Fully supported | |
| Document | SharePoint Document + Note1:1 | Fully supported | |
| Calendar Event / Deadline | Activity (Appointment / Task)1:1 | Fully supported | |
| Note | Annotation (Note)1:1 | Fully supported | |
| Billable Hours / Time Entry | Custom Fields on Opportunity1:1 | Fully supported | |
| Custom Matter Fields | Custom Columns (Dataverse)1:1 | Fully supported | |
| User / Responsible Attorney | SystemUser (Owner)1:1 | Fully supported | |
| Client Billing Account | Account + Custom Billing Fieldmany: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.
The Case File gotchas
No publicly documented API for programmatic data extraction
Trust account ledger balances require manual verification
Custom fields lack a documented export schema
Document folder structure does not export flatly
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
Schema discovery and Dataverse custom-field creation
FlitStack analyzes The Case File's full data model — all custom fields, matter types, client tiers, and party roles — and produces a custom-field creation plan for Dataverse. Custom columns (Matter_Type__c, Court_Jurisdiction__c, Total_Hours__c, etc.) are pre-created via the Dataverse API before the migration runs so the destination schema is ready when data lands. This step also includes establishing the SharePoint document library structure keyed by case-number so documents can be filed during migration.
User and attorney resolution by email
The Case File user and attorney assignments are matched by email address to existing D365 SystemUser records. Any attorney or staff member in The Case File who does not have a corresponding D365 user is flagged in a pre-migration report — firms choose to either provision the user in D365 before migration or assign their records to a designated fallback owner. No case migrates without a resolved D365 owner, preventing orphaned Opportunity records at go-live.
Sequence migration: Clients → Contacts → Cases → Documents
The migration runs in dependency order so foreign keys resolve correctly. Clients migrate first as Accounts. Contacts follow, linked to their parent Account. Cases migrate as Opportunities with the client Account linked, practice-area custom fields populated, and responsible attorney resolved. Case Party records create or match Contact records and then generate OpportunityContactRole entries. Documents download from The Case File, re-upload to SharePoint, and get associated back to the Opportunity via the regarding object ID. This sequencing prevents the common error of creating Opportunities with no AccountId.
Sample migration with field-level diff
A representative slice of 100–200 records — spanning a mix of case types, client sizes, and document counts — migrates first. FlitStack generates a field-level diff comparing source values against destination field values so your team can verify that practice-area codes mapped correctly, billable-hours totals aggregated accurately, and document links attached to the right Opportunity. Any mapping errors are corrected before the full run commits.
Full migration with delta-pickup and rollback readiness
The full migration runs against D365. A delta-pickup window of 24–48 hours captures any new or modified matters in The Case File during the cutover period. The FlitStack audit log records every create, update, and association operation. If reconciliation reveals data integrity issues, a one-click rollback reverts all D365 changes so the team can re-migrate with corrected mappings. Your team keeps working in The Case File throughout — scoped read access means no disruption to daily matter management during the migration window.
Platform deep dives
The Case File
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across The Case File and Microsoft Dynamics 365 Sales .
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
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
The Case File: Not publicly documented.
Data volume sensitivity
The Case File 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 The Case File to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your The Case File 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 The Case File
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.