CRM migration

Migrate from CosmoLex to Microsoft Dynamics 365 Sales

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

CosmoLex logo

CosmoLex

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

10 of 10

objects map 1:1 between CosmoLex and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

CosmoLex is a practice-management platform built for law firms — it combines client/matter tracking, legal billing, and trust accounting in a single workflow-optimized system. Dynamics 365 Sales is a general-purpose CRM on Microsoft Dataverse that stores leads, accounts, contacts, and opportunities with a relational table model, custom-column prefixes, and pipeline-stage automation. The two platforms share a client-centric data model (client → account, matter → opportunity or custom table) but diverge sharply on billing, trust accounting, and legal-specific fields that have no native equivalent in Dataverse. FlitStack AI extracts CosmoLex data via its export API and import templates, transforms it through a field-level mapping against Dynamics 365 Sales Dataverse tables, and loads via Bulk API or single-record POST. We map Client records to Account entities, Matter records to custom Matter tables or Opportunity entities, time entries to Task entities, and billing/financial fields to custom decimal columns on the Matter table. Trust account identifiers and operating balances surface as custom fields — your law firm finance team reviews those manually post-migration. Workflows, billing rules, and trust-account reconciliation logic in CosmoLex do not migrate; we export definitions as JSON for your Dynamics admin to rebuild in Power Automate or model-driven apps.

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

CosmoLex logo

CosmoLex

What's pushing teams away

  • Billing issues and account lockouts frustrate users, with some reporting unexpected payment problems that interrupt firm operations during critical billing cycles.
  • Performance slowdowns and occasional freezing during heavy use make firms question whether the platform scales adequately for multi-attorney practices with high transaction volumes.
  • Users who outgrow the platform's feature set seek more robust reporting, advanced automation, or deeper integrations available in enterprise legal software like Clio or PracticePanther.
  • The learning curve — while manageable — creates friction during onboarding, and some reviewers report the platform feels harder to use than advertised for non-accountants.

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

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

CosmoLex

Client

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

CosmoLex Client records map 1:1 to Dynamics 365 Sales Account entities. Client name becomes Account Name; client address fields map to the address composite on Account. We flag clients without an email address for Dynamics admin review before load.

CosmoLex

Matter

maps to

Microsoft Dynamics 365 Sales

Custom Matter Table (new_matter)

1:1
Fully supported

CosmoLex Matter has no native Dynamics 365 Sales equivalent. We create a custom Matter table (new_matter) on Dataverse keyed to the AccountId of the parent Client. Matter number, type, status, and responsible attorney fields become columns on new_matter.

CosmoLex

Matter

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

For matters with a revenue or fee component (contingency, flat-fee, or hourly), we create a Dynamics 365 Sales Opportunity linked to new_matter via a lookup. The Opportunity StageName reflects the matter status; EstimatedCloseDate maps to the matter close date if applicable.

CosmoLex

Time Entry

maps to

Microsoft Dynamics 365 Sales

Task

1:1
Fully supported

CosmoLex time entries map to Dynamics 365 Sales Task entities. Task.Subject carries the billing description; actual hours and billing rate become custom fields on Task (new_timehours, new_billingrate). OwnerId is resolved by email match against Dynamics users.

CosmoLex

Invoice / Billing Record

maps to

Microsoft Dynamics 365 Sales

Custom Invoice Table (new_invoice)

1:1
Fully supported

CosmoLex invoice headers and line items are not standard Dynamics 365 Sales objects. We create a new_invoice custom table linked to new_matter, storing invoice number, date, total amount, balance due, and status as custom columns. Invoice PDFs are re-uploaded to SharePoint and linked via URL column.

CosmoLex

Trust Account

maps to

Microsoft Dynamics 365 Sales

Custom Trust Table (new_trustaccount)

1:1
Fully supported

Trust account balances, operating balances, and retainer balances in CosmoLex have no Dynamics 365 Sales equivalent. We create a new_trustaccount custom table linked to the Account, storing the trust account identifier, current balance, account type, and last reconcile date as custom fields.

CosmoLex

Contact (Billing Contact)

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

CosmoLex contact records associated with a Client map to Dynamics 365 Sales Contact. Primary email, phone, job title, and mailing address transfer directly. Multiple contacts per Client map to multiple Contact records sharing the same AccountId.

CosmoLex

CosmoLex User / Attorney

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

CosmoLex users and matter owners are matched to Dynamics 365 Sales SystemUser records by email address. Unmatched users are flagged with their CosmoLex user ID stored in a new_externalattorneyid custom field for manual assignment post-migration.

CosmoLex

Document / File Attachment

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location

1:1
Fully supported

CosmoLex documents attached to matters are re-uploaded to a SharePoint document library provisioned in the Dynamics 365 Sales environment. A new_documentsURL custom column on new_matter stores the SharePoint folder path for each matter.

CosmoLex

Custom Property / Field

maps to

Microsoft Dynamics 365 Sales

Custom Column (new_*)

1:1
Fully supported

CosmoLex custom fields (e.g., case type, court jurisdiction, referral source) map to new_ prefixed columns on the appropriate Dataverse table. We create each custom column in the Dynamics 365 maker portal before bulk load and map the field data type from CosmoLex (text, number, pick-list, date) to the corresponding Dataverse column type.

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.

CosmoLex logo

CosmoLex gotchas

High

Financial migration is balances-forward only, not historical

High

Two-phase migration sequencing is mandatory

Medium

Hard costs must be imported as soft costs

Medium

No public API for automated bulk export

Medium

Chart of Accounts is user-setup after import, not migrated

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

  • CosmoLex billing and trust-account data has no native Dynamics 365 Sales destination

    Dynamics 365 Sales is a CRM, not a legal accounting platform. CosmoLex invoice records, trust account balances, and retainer balances have no corresponding standard entity in Dataverse. FlitStack AI creates custom tables (new_invoice, new_trustaccount) and custom columns for these values, but the law firm's bookkeeper must validate all financial figures post-migration against CosmoLex reports. Do not assume that invoice status or trust balance will auto-reconcile without a manual review step.

  • Matter requires a custom Dataverse table before bulk data load

    CosmoLex Matter records cannot map to any standard Dynamics 365 Sales entity — Opportunity covers only matters with a sales pipeline component, and Account stores the client only. A custom matter table (new_matter) must be created in the Dynamics 365 maker portal, columns defined and published, and the table activated in the solution before FlitStack AI can load matter records. This schema setup step adds 1–3 days to the project timeline and must complete before the sample migration runs.

  • CosmoLex time entries map to Task but lose billing-rule formatting

    CosmoLex stores time entries with narrative descriptions that include LEDES billing codes, expense flags, and activity-type annotations. Dynamics 365 Sales Task entities store a single Subject string and a Type pick-list. Long-form narrative text truncates at 1,200 characters on the Task form. FlitStack preserves the full text in new_timehours_narrative as a custom multiline field, but the billing codes embedded in the description require a post-migration review to map correctly to new_expensetype or new_activitycode custom columns.

  • CosmoLex workflow automations (docketing, billing rules, sequence triggers) do not transfer

    CosmoLex workflow rules governing court-date docketing alerts, billing approval chains, and matter-stage transitions are platform-specific automation logic that cannot be translated to Dynamics 365 Sales. Dynamics 365 Sales Business Rules and Power Automate flows can replicate the functional outcome, but FlitStack AI does not generate them automatically. We export the CosmoLex workflow definitions as a JSON reference document your Dynamics administrator uses to rebuild equivalent automation in the destination system.

  • Unmatched CosmoLex users leave records without a Dynamics owner

    CosmoLex user records without a matching email address in Dynamics 365 Sales Active Directory cannot auto-assign an OwnerId. FlitStack AI flags every unmatched attorney and staff user before the migration runs, storing their CosmoLex ID in a new_externalattorneyid custom field. Your Dynamics admin must either invite the user to the tenant or assign a fallback owner before go-live — records without an OwnerId will be rejected by the Dataverse create API.

Migration approach

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

  1. Map CosmoLex schema to Dataverse custom tables

    FlitStack AI reads the CosmoLex export file (NFD export from CosmoLex's import templates) and compares it against the Dynamics 365 Sales target environment. We identify the standard entities (Account, Contact, Task) and create the custom tables (new_matter, new_invoice, new_trustaccount) with all required columns and pick-list option sets in the Dynamics 365 maker portal. Column type mapping from CosmoLex field types (text, number, date, pick-list) to Dataverse column types (SingleLineOfText, Whole Number, Date and Time, Choice) is documented in the field-mapping plan before any data is extracted.

  2. Extract non-financial data from CosmoLex

    CosmoLex provides an Excel template export for Client, Matter, and time-entry records. FlitStack AI downloads the export, applies a pre-validation pass (duplicate detection on matter number and client email, null-check on required fields), and stages the clean dataset for transformation. For records with missing required fields we flag them in the reconciliation report and apply your specified fallback rules before mapping.

  3. Match CosmoLex users to Dynamics 365 Sales system users

    We query Dynamics 365 Sales SystemUser table via the Dataverse Web API, match each CosmoLex user by email address, and build an owner-resolution lookup table. Users with no match are written to the unmatched-users report with their CosmoLex role and matter count. We do not assign a fallback owner without your explicit instruction — this prevents records landing under the wrong attorney and creating reporting errors in Dynamics pipeline dashboards.

  4. Load accounts and contacts first

    Dynamics 365 Sales requires Account to exist before Contact (via AccountId lookup) and requires both before Opportunity or custom table records can reference them. FlitStack AI sequences the migration: Client → Account, then CosmoLex contact records → Contact with AccountId populated from the resolved Account lookup. This ensures foreign-key integrity and prevents the 'lookup reference is invalid' errors that stop Dataverse bulk imports mid-run.

  5. Run sample migration and field-level diff

    A representative slice of 100–300 records (mix of clients, matters, time entries, and invoices) migrates against the live Dynamics 365 Sales environment. FlitStack AI generates a field-level diff report comparing source values against destination field values — you verify matter type mapping, billing method pick-list values, trust account balance precision, and owner resolution before the full migration commits.

  6. Full migration with delta pickup and rollback hold

    The full dataset loads via the Dataverse Bulk API in batches. After the initial load, a 24–48 hour delta pickup window captures any CosmoLex records created or modified during the cutover window. FlitStack AI holds a migration checkpoint snapshot before commit — if reconciliation shows record counts off by more than 0.5% or key fields are missing, one-click rollback reverts the Dataverse environment to the pre-migration state. All operations are logged in the audit trail.

Platform deep dives

Context on both ends of the pair

CosmoLex logo

CosmoLex

Source

Strengths

  • Integrated billing, accounting, and trust accounting in a single login removes the need for QuickBooks or separate trust software.
  • Includes free data migration assistance, unlimited support, and unlimited data storage on all plans.
  • Hourly, fixed fee, and contingency billing methods are natively supported within the same billing engine.
  • Complies with IOLTA trust accounting requirements out of the box, reducing compliance risk for small firms.
  • 24/7 cloud access across devices with no desktop installation required.

Weaknesses

  • No publicly documented REST API limits third-party integrations and automated migration tooling for bulk exports.
  • Performance issues including freezing and slowness are cited in reviews, particularly during high-volume billing periods.
  • Financial migration is balances-forward only — historical business transaction history is not ported and must be retained in the old system.
  • Chart of Accounts customization and trial balance setup are explicitly outside the scope of CosmoLex's own migration service, requiring user-side setup.
  • Limited automation compared to newer legal tech platforms, which frustrates firms seeking workflow-driven efficiency.
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. All 8 core objects map 1:1 between CosmoLex and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between CosmoLex and Microsoft Dynamics 365 Sales .

  • 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

    CosmoLex: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your CosmoLex to Microsoft Dynamics 365 Sales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

A CosmoLex to Dynamics 365 Sales migration with FlitStack AI typically completes in 48–72 hours of clock time for firms with under 50,000 total records across clients, matters, and time entries. Custom table creation (new_matter, new_invoice) adds 1–3 days of planning. Firms with more than 200,000 records or multiple custom field sets extend to 7–14 days. The delta pickup window runs 24–48 hours after the initial load.

Adjacent paths

Related migrations to explore

Ready when you are

Move from CosmoLex.
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