CRM migration
Field-level mapping, validation, and rollback between Clio and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Clio
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
10 of 12
objects map 1:1 between Clio and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Clio organizes law firm data around Matters, Clients, and Bills with time-tracking as the core workflow. Dynamics 365 Sales uses Accounts, Contacts, Leads, and Opportunities with pipeline stages, product line items, and quotes. These models share a common CRM ancestry but diverge sharply on billing integration, document storage, and the concept of a legal matter versus a sales opportunity. We map Clio Clients to Dynamics 365 Accounts and Contacts, Matters to Opportunities (or Cases depending on use), Bills to Invoices, and time entries to custom duration fields or Activity logs. Billing rates, trust accounting, and flat-fee matter configurations have no native Dynamics equivalent — we surface these as custom fields or supplemental data packages for manual reconciliation. Clio's API (v4) returns paginated JSON with OAuth 2.0 authentication; we use it to pull full matter histories, client records, and billing data, then transform and upsert into Dynamics 365 via the Dataverse Web API. Custom fields and practice-area-specific data migrate as custom columns on the corresponding Dynamics table.
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
Clio platform overview
Scorecard, SWOT, gotchas, and pricing for Clio.
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 Clio 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.
Clio
Client
Microsoft Dynamics 365 Sales
Account
1:1Clio Clients represent law firm counterparties (individuals or organizations). They map directly to Dynamics 365 Accounts. Client type (individual vs. organization) determines whether we also create a Contact record. Business organizations become Accounts with Contact records for primary attorneys or billing contacts.
Clio
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Clio Contacts (people linked to Clients or standalone) map to Dynamics 365 Contacts. Email, phone, address, and attorney-bar-association fields translate directly. We create a Contact record and link it to the corresponding Account via the Parent AccountID lookup in Dynamics.
Clio
Matter
Microsoft Dynamics 365 Sales
Opportunity
1:1Clio Matters are the primary case container. We map them to Dynamics 365 Opportunities with a custom Matter_Number__c field to preserve the Clio identifier. Matter status (Open/Closed/Archived) maps to Opportunity status (Open Won/Lost). Practice area becomes a custom picklist field on the Opportunity.
Clio
Matter
Microsoft Dynamics 365 Sales
Incident (Case)
1:manySome Clio matters represent client disputes or litigation that map more naturally to Dynamics 365 Cases (Incidents). We offer a split strategy: revenue-generating matters go to Opportunities, litigation and disputes go to Cases. The split is configurable by practice area tag in Clio.
Clio
Bill
Microsoft Dynamics 365 Sales
Invoice
1:1Clio Bills contain line items, taxes, adjustments, and payment status. They map to Dynamics 365 Invoices, but LEDES 1998B billing codes, trust accounting entries, and flat-fee structures require supplemental data packaging as custom fields on the Invoice record. Paid/unpaid/voided status maps via the Dynamics Invoice status field.
Clio
Time Entry
Microsoft Dynamics 365 Sales
Activity (Task) + Custom Fields
many:1Clio time entries accumulate per matter with date, duration, attorney, rate, and description. We merge these into a custom Time_Entries__c child table linked to the Opportunity, preserving the full entry history including rate overrides and billable/non-billable flags. Individual entries also generate Activity records in Dynamics for timeline display.
Clio
Expense
Microsoft Dynamics 365 Sales
Invoice Line Item (Expense)
1:1Clio expenses (hard costs, filing fees, travel) map to Invoice line items with an Expense category type. Expense entries include vendor, amount, date, and matter link. We preserve the expense description as the line item description in Dynamics.
Clio
Document
Microsoft Dynamics 365 Sales
SharePoint Document Location + Note
1:1Clio documents (contracts, briefs, correspondence) have no native Dynamics 365 equivalent. We create a SharePoint Document Location record linked to the Opportunity and re-upload files. File size limits (10MB default in Dynamics) apply. A link back to the original Clio document URL is stored as a custom field for reference.
Clio
Task
Microsoft Dynamics 365 Sales
Task
1:1Clio tasks attached to matters map to Dynamics 365 Tasks with the Regarding field set to the corresponding Opportunity. Task status (Complete/Pending) translates directly. Due date and assigned-to (attorney) fields map to the OwnerId lookup in Dynamics.
Clio
Calendar Event
Microsoft Dynamics 365 Sales
Appointment
1:1Clio calendar events ( hearings, depositions, client meetings) map to Dynamics 365 Appointments. Start time, end time, location, and attendee lists translate. The Regarding field links to the related Opportunity or Contact record.
Clio
Custom Field (Matter-level)
Microsoft Dynamics 365 Sales
Custom Column on Opportunity
1:1Clio custom fields on matters become custom columns on the Opportunity table in Dataverse. Field types (text, number, date, picklist) map to equivalent Dataverse column types. Custom field names are prefixed per Dynamics convention. Practice-area-specific fields (e.g., case number, jurisdiction) are mapped explicitly.
Clio
User / Attorney
Microsoft Dynamics 365 Sales
SystemUser
1:1Clio attorneys and staff map to Dynamics 365 SystemUsers. Resolution is by email match. Clio role (Attorney, Paralegal, Admin) becomes a custom field on the SystemUser record. Unmatched users are flagged and assigned to a fallback owner.
| Clio | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Client | Account1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Matter | Opportunity1:1 | Fully supported | |
| Matter | Incident (Case)1:many | Fully supported | |
| Bill | Invoice1:1 | Fully supported | |
| Time Entry | Activity (Task) + Custom Fieldsmany:1 | Fully supported | |
| Expense | Invoice Line Item (Expense)1:1 | Fully supported | |
| Document | SharePoint Document Location + Note1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Calendar Event | Appointment1:1 | Fully supported | |
| Custom Field (Matter-level) | Custom Column on Opportunity1:1 | Fully supported | |
| User / Attorney | SystemUser1: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.
Clio gotchas
API rate limit of 50 req/min per OAuth application
Trust accounting data requires separate ledger treatment
Rate hierarchy complexity causes billing mismatches
Client portal does not transfer between platforms
Flat-rate and contingency matter billing requires explicit mapping
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 Clio data via API with scoping and rate-limit management
We authenticate to Clio via OAuth 2.0 and pull all Clients, Contacts, Matters, Bills, Time Entries, Expenses, Tasks, Documents metadata, and custom field definitions. Extraction runs in off-peak hours to maximize the effective rate limit. We paginate through all record types, capture the full matter history including historical time entries and billing records, and store the raw JSON in a staging environment. Custom field definitions are captured separately for schema mapping.
Map Clio schema to Dynamics 365 Dataverse tables and custom columns
Based on the object and field mapping plan, we create custom columns on the Opportunity, Account, Invoice, and Task tables in the Dynamics 365 Dataverse environment. Custom columns follow the new_ prefix convention and are added to a solution package for transport. We build the transformation scripts that convert Clio JSON records into Dynamics Dataverse entity format, applying value mappings for status codes, date formats, and picklist translations.
Resolve attorney and staff users by email match
Clio attorney and staff IDs resolve to Dynamics 365 SystemUser records via email address matching. We generate a pre-flight report listing unmatched attorneys — your team either creates Dynamics user accounts for them or assigns their matters to a fallback owner before migration. Billing records and time entries that reference attorneys resolve at this stage. No Opportunity or Activity lands without a valid OwnerId.
Re-upload documents to SharePoint and link via Dynamics Document Locations
Clio documents are downloaded from source and re-uploaded to a SharePoint site provisioned for Dynamics 365. Each document creates a SharePointDocumentLocation record linked to the parent Opportunity via the Regarding lookup. Oversized files are flagged. We preserve the original Clio document URL in a custom field on each SharePoint record for traceability.
Run sample migration with field-level diff before full commit
A representative sample — typically 50–200 records across multiple matters, clients, and billing histories — migrates first. We generate a field-level diff comparing source values against destination values, verifying that Matter_Number__c, billing amounts, time entry totals, and document links all resolve correctly. You review the sample output and approve before the full run commits. Any mapping errors discovered here are corrected before bulk migration.
Execute full migration with delta-pickup window and rollback readiness
The full migration runs against Dynamics 365 Sales using the Dataverse Web API. A delta-pickup window of 24–48 hours after cutover captures any Clio records created or modified during the migration window. An audit log records every upsert operation. One-click rollback reverts all Dynamics records to their pre-migration state if reconciliation fails. Post-migration, we deliver a supplemental data package for trust accounting and LEDES codes that must be handled outside Dynamics natively.
Platform deep dives
Clio
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 Clio 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
Clio: 50 requests per minute per OAuth application, shared across all users of the application.
Data volume sensitivity
Clio 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 Clio to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Clio 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 Clio
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.