CRM migration
Field-level mapping, validation, and rollback between MerusCase and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
MerusCase
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
11 of 12
objects map 1:1 between MerusCase and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
72–96 hours
Overview
MerusCase organizes legal practice data around cases, parties, and activity logs with specialized billing ledgers and UTBMS coding. Dynamics 365 Sales (built on Dataverse) models the same information around Accounts, Contacts, Leads, and Opportunities with a fundamentally different relationship structure. The migration carries MerusCase parties (attorneys, plaintiffs, defendants, contacts) into Dynamics 365 Contacts and Accounts, case files into Opportunities with custom case-type fields, and activity history into the Dynamics 365 Activity timeline. UTBMS task codes (L-Codes), activity codes (A-Codes), and expense codes (E-Codes) have no native equivalent in Dynamics 365 — FlitStack preserves these as custom fields on the Opportunity record so billing reconstruction remains possible. Workflows, statutes, and automation rules built in MerusCase do not migrate and must be rebuilt in Power Automate post-migration. Document archives export as a file package and re-upload to SharePoint or Dynamics 365 record attachments. FlitStack uses MerusCase's REST API for data extraction and Dynamics 365's Dataverse Web API for ingestion, with a 24–48 hour delta-pickup window capturing in-flight changes during 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
MerusCase platform overview
Scorecard, SWOT, gotchas, and pricing for MerusCase.
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 MerusCase 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.
MerusCase
Party
Microsoft Dynamics 365 Sales
Contact + Account
1:1MerusCase parties (attorneys, plaintiffs, defendants, witnesses) map to Dynamics 365 Contacts linked to an Account. Multi-role parties where one person serves multiple roles (e.g., attorney who is also a witness) collapse to a single Contact record with custom Role__c and Role_Type__c fields capturing the MerusCase role(s). Primary firm party maps to Account record as the organization.
MerusCase
Case
Microsoft Dynamics 365 Sales
Opportunity
1:1MerusCase cases map 1:1 to Dynamics 365 Opportunities. Case status (Open, Closed-Won, Closed-Lost) maps to Opportunity StateCode. Case type (Personal Injury, Workers' Comp, Criminal, Employment) becomes a custom Opportunity field Case_Type__c pick-list. The MerusCase case ID is stored as Source_Case_ID__c on the Opportunity for traceability.
MerusCase
Case Party Role
Microsoft Dynamics 365 Sales
Contact Role (on Opportunity)
many:1MerusCase assigns roles to parties on cases (Plaintiff, Defendant, Attorney, Witness, Mediator). These merge into Dynamics 365 OpportunityContactRole records with the role name from MerusCase preserved. Multiple roles on the same case-party link create multiple Contact Role entries. If a contact has no role assigned, a default 'Involved Party' role is applied.
MerusCase
Activity
Microsoft Dynamics 365 Sales
ActivityPointer (Task / Email / Appointment)
1:1MerusCase activities (calls, emails, meetings, tasks, notes) map to Dynamics 365 ActivityPointer records. The activity_type_id discriminates the type: telephone calls map to Task with Type='Phone Call', emails map to Email, meetings map to Appointment. Original activity date, time, and description are preserved. Activities without a case link in MerusCase become standalone activities in Dynamics 365.
MerusCase
Case Ledger (Time Entry)
Microsoft Dynamics 365 Sales
Custom Fields on Opportunity + Product
1:1MerusCase ledger entries with billable time (task_code=L-Code) have no direct Dynamics 365 equivalent. FlitStack creates Hours_Worked__c, Billing_Rate__c, and UTBMS_LCode__c custom fields on the Opportunity to preserve time-entry data. For firms using Dynamics 365 Quotes, line items can be created representing billable hours with the L-Code stored as a product attribute.
MerusCase
Case Ledger (Expense Entry)
Microsoft Dynamics 365 Sales
Custom Fields on Opportunity
1:1MerusCase expense ledger entries (expense_code=E-Code) migrate to Opportunity custom fields: Expense_Amount__c, Expense_Category__c, and UTBMS_ECode__c. Original expense dates and descriptions are preserved. If the firm uses Dynamics 365's expense tracking, expenses may alternatively map to separate Expense records linked by the Source_Case_ID__c.
MerusCase
Custom Field
Microsoft Dynamics 365 Sales
Custom Column (on table)
1:1MerusCase custom fields (Date, Currency, Text up to 250 chars, Numeric, Yes/No) map to Dynamics 365 custom columns on the corresponding table. Text fields map to nvarchar columns; Currency maps to money columns; Numeric maps to decimal or integer; Yes/No maps to bit. Field display labels are preserved from MerusCase. Note that Dynamics 365 Sales Professional limits custom columns to 15; Enterprise removes this limit.
MerusCase
Document Archive
Microsoft Dynamics 365 Sales
SharePoint Document Library / Dynamics 365 Record Attachments
1:1MerusCase Document Archives are zipped file packages containing case documents plus a CSV of case activities. FlitStack downloads the archive, extracts documents, and re-uploads them to the SharePoint document library associated with the Opportunity record. The activity CSV is imported as a separate data file for reference. File size limits from SharePoint (50MB per file) apply.
MerusCase
Settlement
Microsoft Dynamics 365 Sales
Custom Fields on Opportunity
1:1MerusCase Settlement records have settlement amount, date, and payment terms with no Dynamics 365 native equivalent. FlitStack creates Settlement_Amount__c (currency), Settlement_Date__c (date), and Settlement_Terms__c (text) custom fields on the Opportunity. If the firm tracks post-settlement payments, separate custom records or Opportunity Line Items may be needed.
MerusCase
User / Attorney
Microsoft Dynamics 365 Sales
SystemUser (Owner)
1:1MerusCase users and assigned attorneys map to Dynamics 365 SystemUser records. Resolution is by email match — if a MerusCase user email matches a Dynamics 365 user email, the record OwnerId is assigned to that user. Unmatched owners are flagged before migration; firms either invite them to Dynamics 365 or reassign records to a fallback user.
MerusCase
Workflow
Microsoft Dynamics 365 Sales
Power Automate (no migration)
1:1MerusCase Workflows automate task creation and calendar reminders based on activity tags or descriptions. Dynamics 365 has no workflow migration path. FlitStack exports the workflow definitions as a JSON specification document so the firm's Power Automate admin can rebuild equivalent flows post-migration. Automated statute reminders, deadline tracking, and task generation must be recreated.
MerusCase
Statutes / Deadlines
Microsoft Dynamics 365 Sales
Power Automate or Custom Fields
1:1MerusCase Statutes auto-generate tasks based on case filing dates and jurisdictional rules. This automation logic has no direct Dynamics 365 equivalent. FlitStack exports statute configuration data as a reference file. Firms using Dynamics 365 Sales Enterprise can rebuild statute tracking in Power Automate using the case filing date and jurisdiction custom fields migrated from MerusCase.
| MerusCase | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Party | Contact + Account1:1 | Fully supported | |
| Case | Opportunity1:1 | Fully supported | |
| Case Party Role | Contact Role (on Opportunity)many:1 | Fully supported | |
| Activity | ActivityPointer (Task / Email / Appointment)1:1 | Fully supported | |
| Case Ledger (Time Entry) | Custom Fields on Opportunity + Product1:1 | Fully supported | |
| Case Ledger (Expense Entry) | Custom Fields on Opportunity1:1 | Fully supported | |
| Custom Field | Custom Column (on table)1:1 | Fully supported | |
| Document Archive | SharePoint Document Library / Dynamics 365 Record Attachments1:1 | Fully supported | |
| Settlement | Custom Fields on Opportunity1:1 | Fully supported | |
| User / Attorney | SystemUser (Owner)1:1 | Fully supported | |
| Workflow | Power Automate (no migration)1:1 | Fully supported | |
| Statutes / Deadlines | Power Automate or Custom Fields1: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.
MerusCase gotchas
Annual subscription and data access tied together
Outbound migration is not supported by MerusCase
Document Archive exports are per-case, not bulk
Built-in CSV import tools are not easy to use
Custom Fields apply to Cases only and have a 50-field cap
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
Audit MerusCase data volume and custom field inventory
FlitStack connects to your MerusCase instance via API and inventories all Cases, Parties, Activities, Ledger entries, Custom Fields, and Document Archives. We generate a discovery report showing record counts per object, custom field names and types, UTBMS code usage frequency, and workflow definitions for export. This report determines the migration scope, custom column planning for Dynamics 365, and whether the Professional or Enterprise license tier is required. You receive the report before any migration work begins.
Map MerusCase schema to Dynamics 365 entities and custom fields
FlitStack creates a field-level mapping document that pairs each MerusCase object and field with its Dynamics 365 equivalent. UTBMS codes map to custom Opportunity fields; multi-role parties map to Contact plus Role_Type__c custom field; case types map to Case_Type__c pick-list. If your MerusCase setup uses more custom fields than Dynamics 365 Sales Professional allows (15), we flag which fields require Enterprise licensing or manual post-migration handling. You review and approve the mapping document before data extraction begins.
Configure Dynamics 365 environment and create custom columns
Before data lands, your Dynamics 365 admin (or FlitStack's team) creates the custom fields identified in the mapping document: UTBMS_LCode__c, UTBMS_ACode__c, UTBMS_ECode__c, Case_Type__c, Filing_Date__c, Hours_Worked__c, and any other custom columns needed for your MerusCase data. If SharePoint document storage is used, the Opportunity entity SharePoint folder structure is configured. We deliver a Dynamics 365 setup checklist so this phase completes before the migration run.
Resolve owners by email match to Dynamics 365 SystemUsers
MerusCase users and assigned attorneys are matched to Dynamics 365 SystemUser records by email address. FlitStack generates an owner-resolution report listing matched users, unmatched MerusCase users, and recommended fallback assignments for each unmatched user. Your team either invites unmatched users to Dynamics 365 before migration or designates a fallback owner (e.g., a managing partner) for their records. No Opportunity or Activity record migrates without an assigned OwnerId.
Run sample migration with field-level diff
FlitStack migrates a representative slice (typically 100–300 records spanning multiple case types, party roles, and activity types) and generates a field-level diff report. You verify that UTBMS codes populated correctly, multi-role parties appear with correct Role_Type__c values, case statuses mapped to Opportunity StateCode, and activity timestamps preserved. Sample migration approval gates the full run. If corrections are needed, the mapping document is updated and the sample re-run.
Execute full migration with delta-pickup and rollback window
The full migration runs against Dynamics 365 Dataverse API. A 24–48 hour delta-pickup window captures any MerusCase records created or modified during the cutover window (e.g., new activities logged by staff still working in MerusCase before final sign-off). FlitStack generates an audit log of every record created, updated, or skipped. If reconciliation fails or unexpected data quality issues surface, one-click rollback reverts the Dynamics 365 environment to pre-migration state. After rollback window closes, the migration is considered complete and your team begins post-migration cleanup.
Platform deep dives
MerusCase
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 MerusCase 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
MerusCase: Not publicly documented.
Data volume sensitivity
MerusCase 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 MerusCase to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your MerusCase 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 MerusCase
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.