CRM migration
Field-level mapping, validation, and rollback between MyCase and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
MyCase
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between MyCase and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2–4 weeks
Overview
MyCase stores law-firm data across contacts, client companies, case matters, time entries, invoices, documents, and custom fields — organized around legal workflow and billing cycles. Dynamics 365 Sales stores commercial CRM data across Account, Contact, Lead, and Opportunity tables built on Microsoft Dataverse, with Activity and Note entities for history. The structural gap between a practice-management system and a sales CRM means every migration requires deliberate design decisions rather than one-to-one field matching. We extract MyCase data via the Full Data Backup tool and CSV exports, resolve attorney and staff records to Dynamics 365 Sales users by email match, then migrate contacts and companies first to satisfy AccountId lookups before loading matters as Opportunities. Billing data — time entries and invoices — has no native Dynamics 365 Sales equivalent and is preserved as custom fields or handled via Dynamics 365 Business Central integration. MyCase workflows, templates, and automation rules do not migrate; we deliver a rebuild reference document and exported template assets so your team can reconstruct them in Dynamics 365 Sales and Power Automate. Our API pipeline respects MyCase's 25 requests-per-second limit and Dynamics 365's Dataverse service protection limits to avoid throttling. A delta-pickup window of 24–48 hours during cutover captures any matter or contact changes made during the final migration pass.
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
MyCase platform overview
Scorecard, SWOT, gotchas, and pricing for MyCase.
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 MyCase 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.
MyCase
Contact
Microsoft Dynamics 365 Sales
Contact
1:1MyCase contacts (individuals at client firms) map directly to Dynamics 365 Sales Contact records. Each contact requires an AccountId lookup — the client company must be migrated first so the AccountId foreign key resolves at insert time. We also preserve the original MyCase contact ID in a custom Source_System_ID__c field for subsequent reconciliation.
MyCase
Client Company
Microsoft Dynamics 365 Sales
Account
1:1MyCase company records (the client organization) map to Dynamics 365 Sales Account. Billing address, industry, and number of employees transfer as direct fields. Parent-company hierarchies in MyCase map to Account.ParentAccountId. We retain the original MyCase company identifier in new_companyid for traceability and delta re-sync.
MyCase
Case / Matter
Microsoft Dynamics 365 Sales
Opportunity
1:1MyCase matters carry legal context — practice area, billing type, court information — that has no direct Dynamics 365 Sales equivalent. We map the matter name to Opportunity.Name, estimated value to Amount, and stage to a legal-specific opportunity stage value-map. Legal context fields become custom columns on the Opportunity table.
MyCase
Time Entry
Microsoft Dynamics 365 Sales
Custom Columns on Opportunity / Activity
1:1MyCase time entries (attorney hours, rates, task descriptions) cannot be stored as native Dynamics 365 Sales activities because the platform lacks a billing engine. We create custom decimal and text columns on the Opportunity to hold total billed hours, blended rate, and a JSON-encoded time-entry log for audit purposes.
MyCase
Invoice
Microsoft Dynamics 365 Sales
Custom Column + Reference Note
1:1MyCase invoices and outstanding balances have no Dynamics 365 Sales counterpart. We preserve invoice status, outstanding amount, and last-invoice date as custom fields on the Opportunity or Account. Firms that need billing continuity route this data to Dynamics 365 Business Central separately.
MyCase
Custom Field (Case)
Microsoft Dynamics 365 Sales
Custom Column on Opportunity
1:1MyCase Advanced-tier custom fields on matters require new_ prefixed columns on the Opportunity table in Dynamics 365 Dataverse. Pick-list fields undergo value-by-value mapping; text fields map directly. We create the columns during the pre-migration schema build and validate with a sample run.
MyCase
Custom Field (Contact)
Microsoft Dynamics 365 Sales
Custom Column on Contact
1:1MyCase custom properties on contacts — intake sources, referral channels, billing contact flags — become new_ prefixed custom columns on the Contact table. We extract the full custom-field schema from MyCase during discovery and pre-create every target column in Dataverse.
MyCase
Document / File Attachment
Microsoft Dynamics 365 Sales
SharePoint / OneDrive for Business (via Dataverse)
1:1MyCase documents attached to matters are downloaded and re-uploaded to the SharePoint or OneDrive location that Dataverse manages for the Account or Opportunity. We preserve the original folder path hierarchy and file names. Inline images in notes are downloaded and rehosted in the Dynamics 365 document storage.
MyCase
Calendar Event / Task
Microsoft Dynamics 365 Sales
Task / Appointment
1:1MyCase calendar events (court dates, depositions, deadlines) and tasks map to Dynamics 365 Sales Task and Appointment entities. Original start/end times, assigned attorney or staff user, and parent record links are preserved. Task priority and status map value-by-value. We also keep the MyCase event ID in new_eventid for future reference and audit trails.
MyCase
Attorney / Staff User
Microsoft Dynamics 365 Sales
SystemUser
1:1MyCase users (attorneys, paralegals, staff) are resolved against Dynamics 365 Sales SystemUser records by email address match. Unmatched users are flagged before migration so the firm can invite them to Dynamics 365 or assign a fallback owner before records land.
MyCase
Workflow / Automation (MyCase)
Microsoft Dynamics 365 Sales
Not migratable
1:1MyCase workflow tasks, automated deadline triggers, and intake form logic have no Dynamics 365 Sales equivalent. We export workflow definitions as a structured reference document and deliver template assets so your Dynamics admin can rebuild them in Power Automate and Dynamics 365 Sales automated flows.
MyCase
Document Template / Mail Merge
Microsoft Dynamics 365 Sales
Not migratable
1:1MyCase Advanced Document Automation templates and clause library are Word-based assets tied to MyCase's ADA add-in. We export the template files and field-mapping documents so they can be uploaded to Dynamics 365 Sales document templates or Power Automate document-generation flows.
| MyCase | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Client Company | Account1:1 | Fully supported | |
| Case / Matter | Opportunity1:1 | Fully supported | |
| Time Entry | Custom Columns on Opportunity / Activity1:1 | Fully supported | |
| Invoice | Custom Column + Reference Note1:1 | Fully supported | |
| Custom Field (Case) | Custom Column on Opportunity1:1 | Fully supported | |
| Custom Field (Contact) | Custom Column on Contact1:1 | Fully supported | |
| Document / File Attachment | SharePoint / OneDrive for Business (via Dataverse)1:1 | Fully supported | |
| Calendar Event / Task | Task / Appointment1:1 | Fully supported | |
| Attorney / Staff User | SystemUser1:1 | Fully supported | |
| Workflow / Automation (MyCase) | Not migratable1:1 | Fully supported | |
| Document Template / Mail Merge | Not migratable1: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.
MyCase gotchas
QuickBooks sync is strictly one-directional
Advanced API access is tier-gated
Document migration requires offline file transfer
Bulk rate updates on historical time entries are not supported
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 MyCase data and audit schema
FlitStack AI uses MyCase's Full Data Backup tool and contact/case CSV exports to pull all standard objects, custom field definitions, and attachment metadata. We audit the schema against the MyCase API to capture every Advanced-tier custom property and document link. The result is a schema manifest that lists every source field, its type, and its target Dynamics 365 Dataverse column — including the new_ prefix convention and pick-list value maps. This manifest drives the Dataverse column pre-creation step.
Build Dynamics 365 Dataverse schema
Before any data moves, we create every required custom column in Dataverse — custom pick-lists for practice areas and case types, text fields for attorney IDs and billing metadata, and datetime fields for original create dates. For firms on Dynamics 365 Sales Professional, we audit the custom-column count against the 15-table cap and flag any that need an Enterprise license upgrade. This step also includes mapping MyCase opportunity stage values to Dynamics 365 Sales process stage names so the pipeline view renders correctly after migration.
Resolve users and owners by email
MyCase attorneys, paralegals, and staff are matched to Dynamics 365 Sales SystemUser records by email address lookup. Unmatched users are flagged with a pre-migration exception report so the firm can invite them to Dynamics 365 or assign a fallback owner before records are inserted. No contact, company, or opportunity lands in Dynamics without a valid OwnerId — this prevents orphaned records that would break reporting continuity.
Migrate accounts and contacts first
Dynamics 365 Sales requires AccountId on Contact records before Contacts can be saved. We sequence the migration as Accounts → Contacts → Opportunities so foreign-key lookups resolve correctly. MyCase client companies land as Accounts, MyCase contacts land as Contacts with their ParentCustomerId pointing to the correct Account, and the mycase_user_id is preserved as Source_System_ID__c on each record for traceability. All foreign keys are validated in Dataverse before insert to prevent orphaned records.
Run sample migration with field-level diff
A representative slice — typically 200–500 records spanning contacts, companies, matters, and a few time entries — migrates to a Dynamics 365 sandbox first. We generate a field-level diff comparing source values against destination values for every mapped column, including custom fields and the billing metadata preserved in Opportunity new_ fields. You verify that practice-area pick-lists, billing types, and custom matter properties render correctly before we commit to the full run.
Execute full migration with delta-pickup cutover
The full migration commits records in the sequenced order — Accounts, Contacts, Opportunities with custom billing columns, then Activities and Documents. A 24–48 hour delta-pickup window runs after the initial pass to capture any matter updates or new contacts created in MyCase during the cutover. All operations are logged in an audit trail. If reconciliation reveals missing or mismatched records, one-click rollback reverts the Dynamics 365 environment to its pre-migration state while we re-run the affected batches.
Platform deep dives
MyCase
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 MyCase 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
MyCase: 25 requests per second per client.
Data volume sensitivity
MyCase 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 MyCase to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your MyCase 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 MyCase
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.