CRM migration

Migrate from Time Matters(r) to Microsoft Dynamics 365 Sales

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

Time Matters(r) logo

Time Matters(r)

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

80%

8 of 10

objects map 1:1 between Time Matters(r) and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

5–10 business days

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Time Matters stores practice-management data in a local or network database with no native API — migration requires CSV exports generated through File > Export > Custom Export, where record types map to separate export templates (Contacts, Matters, Events, Tasks, Notes, Time). Dynamics 365 Sales stores all CRM data on the cloud-native Dataverse platform, using Account as the primary organizational entity with a primary Contact lookup and a separate junction table for additional contact-account relationships. FlitStack AI extracts all standard record types via CSV templates, audits for incomplete foreign keys and orphaned billable hours, creates custom columns in Dataverse to receive Time Matters custom fields, and sequences the load so Account resolves before Contact, Contact resolves before Opportunity, and Activity resolves last with valid parent-entity lookups. The delta-pickup window captures any Matter or Contact created in Time Matters during the cutover window. We surface Time Matters merge templates as reference files for rebuild in Power Automate — they cannot be migrated directly because the field-syntax encoding is Time Matters proprietary.

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

Time Matters(r) logo

Time Matters(r)

What's pushing teams away

  • The UI and feature set feel dated compared to cloud-first competitors like Clio, MyCase, and Smokeball that offer native mobile apps and modern automation.
  • Billing and accounting modules are widely reported as cumbersome and unintuitive, driving firms to platforms that handle legal billing natively and better.
  • Customer service scores (2.9 on Capterra) reflect frustrations with slow or unresponsive support, especially for firms on older versions.
  • The lack of a public API means no integrations, no automation hooks, and no programmatic way to extract data — forcing firms into manual CSV exports for any migration.
  • Modern competitors offer easier workflow automation; a Reddit thread comparing TimeMatters to MyCase noted that literally everything was easier in the alternative platform.

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 Time Matters(r) objects map to Microsoft Dynamics 365 Sales

Each row shows how a Time Matters(r) 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.

Time Matters(r)

Contact

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Time Matters contacts map 1:1 to Dynamics 365 Contacts. The Name, Email, Phone, Address, and Company fields map directly. Time Matters stores company as a text field on the contact record — we resolve it to an Account lookup by domain match or firm-name similarity before loading so the Contact.AccountId foreign key resolves correctly.

Time Matters(r)

Matter

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Time Matters Matters are legal cases. Dynamics 365 has no native Matter entity, so Matters map to Opportunities. The Matter name becomes the Opportunity Name; estimated billing and billable hours map to product line items on the Opportunity. Custom fields on the Matter form become Dataverse custom columns on the Opportunity table. Pipeline stages map to the default Dynamics 365 Sales Process unless a custom Business Process Flow is configured.

Time Matters(r)

Matter (many-to-many contacts)

maps to

Microsoft Dynamics 365 Sales

AccountContactRelationship / OpportunityContactRole

many:1
Fully supported

Time Matters supports N:N contact-matter associations natively. Dynamics 365 flattens this: the primary Contact gets the OpportunityContactRole on the Opportunity; additional contacts link to the parent Account via AccountContactRelationship. We identify the primary contact by the Matter's primary-contact flag or most-recent-modification rule, create the OpportunityContactRole, and surface the secondary contacts for AccountContactRelationship population in the migration plan.

Time Matters(r)

Event (call/meeting/task)

maps to

Microsoft Dynamics 365 Sales

Task / PhoneCall / Appointment

1:many
Fully supported

Time Matters uses a single Events record type for calls, meetings, tasks, and notes — the record type is indicated by an internal type field in the export. We split each Events record into the appropriate Dynamics 365 activity entity (PhoneCall for calls, Appointment for meetings, Task for generic events) using the type field as the routing key. The original timestamp and assigned attorney owner are preserved on each new activity record.

Time Matters(r)

Note

maps to

Microsoft Dynamics 365 Sales

Annotation

1:1
Fully supported

Time Matters notes with free-form text and optional document attachments map to Dynamics 365 Annotations (the Dataverse note entity). Rich-text formatting in Time Matters notes is preserved as plain text if no HTML encoding is present. Document attachments on notes are re-uploaded to SharePoint and linked via the RegardingId on the Annotation record.

Time Matters(r)

Time Entry (billable hours)

maps to

Microsoft Dynamics 365 Sales

Opportunity Product Line Item

1:1
Fully supported

Time Matters time entries track billable hours, billing rate, and attorney name per Matter. We map each time entry to a product line item on the parent Opportunity, using the billing rate as the unit price and hours as quantity. The attorney name becomes a custom field on the product line item. Time entries that cannot be cleanly mapped to a product structure are preserved as Notes on the Opportunity with a Time_Entry__c prefix.

Time Matters(r)

Document / Attachment

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location

1:1
Fully supported

Time Matters documents attached to Matters or Contacts are re-hosted in SharePoint Online and linked back to the parent record via the RegardingId on the SharePoint Document Location entity. The original file name and upload timestamp are preserved as metadata. Inline images embedded in Time Matters notes are downloaded and attached to the corresponding Annotation record.

Time Matters(r)

Document Template (merge)

maps to

Microsoft Dynamics 365 Sales

Reference File Export

1:1
Fully supported

Time Matters merge templates encode field names and merge syntax in a proprietary format. Dynamics 365 does not have a template inbox that accepts this encoding. We export merge templates as reference PDF or Word files so your Dynamics 365 admin can rebuild them in Power Automate with Dataverse field references — the logic is preserved for rebuild but cannot be imported automatically.

Time Matters(r)

System ID / Record Reference

maps to

Microsoft Dynamics 365 Sales

Custom Field (Source_System_ID__c)

1:1
Fully supported

Time Matters assigns internal numeric IDs to each record. We store these on a Source_System_ID__c custom column on every target entity so delta runs can de-duplicate records that may have been created in both systems during the cutover window, and so FlitStack's audit log references the original Time Matters record on every operation.

Time Matters(r)

Custom Field (any non-standard)

maps to

Microsoft Dynamics 365 Sales

Dataverse Custom Column

1:1
Fully supported

Time Matters allows unlimited custom fields defined per-form with no centralized schema catalog. We scan all export CSV headers across every export template to collect every unique custom field name, infer the data type from the first non-null value in each column, and create a corresponding Dataverse column (new_fieldname) in a FlitStack migration solution before the data load runs. Custom pick-list fields require a value-mapping table to map Time Matters codes to Dataverse option-set integer values.

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.

Time Matters(r) logo

Time Matters(r) gotchas

High

No API forces file-only migration with manual export wizard steps

Medium

Archived records excluded by default — explicit 'Both' selection required

Medium

Include field names checkbox is easy to miss, leaving CSVs headerless

High

Binary documents and attachments not included in any standard export

Low

Merge template library requires separate file-share export, not in export wizard

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

  • Time Matters has no API — migration depends entirely on CSV export configuration

    Time Matters exposes no REST or SOAP API. All data must be extracted through File > Export > Custom Export inside the desktop client, using separate export templates for Contacts, Matters, Events, Tasks, Notes, and Time Entries. If an export template omits a column, the corresponding Time Matters field disappears from the migration entirely. FlitStack audits every export CSV before building the transformation layer — if a required custom field header is missing from the export, we identify it and regenerate the export with the correct template configuration before the load begins.

  • Time Matters custom fields have no centralized schema — each must be discovered from export headers

    Time Matters allows unlimited custom fields defined at the form level with no application-level schema catalog. When a user adds a custom field to the Matter form, it does not appear in a schema reference — it only appears as a column header in the next CSV export. FlitStack scans every export CSV across all templates to collect every unique column header, infers data type from the first non-null value, and creates a corresponding Dataverse custom column before data loads. Custom pick-list fields additionally require a value-mapping table to translate Time Matters option codes to Dataverse option-set integer values, which must be built by hand if no documentation exists.

  • Dynamics 365 service protection limits require batched loading

    Microsoft Dataverse enforces service protection limits: 6,000 requests per user per five-minute window and a maximum of 52 concurrent API calls per user. Time Matters exports can produce tens of thousands of activity records in a single Matter export. FlitStack uses the Dataverse Bulk API for activity and note loads to stay within rate-limit thresholds, and sequences the migration in phases — Accounts first, then Contacts, then Opportunities, then Activities last — so that the five-minute rolling window does not throttle the load midway through a record batch.

  • Many-to-many contact-matter relationships must be flattened in Dynamics 365

    Time Matters supports N:N relationships between Contacts and Matters natively — a single contact can be associated with any number of Matters without designating one as primary. Dynamics 365 flattens this: a Contact has a single primary AccountId (set via ParentCustomerId), and additional account associations use the AccountContactRelationship junction table. On the Opportunity side, the primary contact-role link uses OpportunityContactRole. We migrate the primary contact-matter pair directly as the OpportunityContactRole, and surface secondary associations in the migration plan for AccountContactRelationship population — the firm must decide which contact is primary on each Matter.

  • Merge templates and document workflows cannot be imported into Dynamics 365

    Time Matters merge templates encode field names, conditional logic, and formatting in a proprietary syntax that is not documented publicly. Dynamics 365 has no inbox that accepts this encoding — there is no migration path for merge templates as structured data. We export Time Matters merge templates as reference PDF or Word files at the start of the migration so your Dynamics 365 admin has the original document structure for rebuild. Document-generation workflows must be reconstructed in Power Automate using Dataverse field references, which requires a Dynamics 365 administrator to complete post-migration.

Migration approach

Six steps for a successful Time Matters(r) to Microsoft Dynamics 365 Sales data migration

  1. Extract all Time Matters data via CSV export templates

    FlitStack engineers configure and run the Custom Export wizard for all six record types — Contacts, Matters, Events, Tasks, Notes, and Time Entries — using separate templates per record type. We capture the export template configurations alongside the CSV files so the template setup is preserved as part of the migration documentation. Each template is reviewed for completeness before the files are handed off for transformation.

  2. Audit CSV exports and build transformation logic

    We parse every CSV header to identify all custom field names, infer data types, and build the Dataverse column-creation manifest. The transformation layer handles date-format standardization (MM/DD/YYYY in Time Matters exports must map to Dataverse-compatible ISO 8601), null-value handling for optional fields, and the contact-matter many-to-many flattening. Owner resolution by email match runs against the Dynamics 365 user list; unresolved owners are flagged for team assignment before the load begins.

  3. Stand up Dynamics 365 schema before data lands

    Before any data moves, we create a FlitStack migration solution in Dynamics 365 containing every custom column identified in the Time Matters export headers, all mapped to the correct Dataverse table and data type. We also configure the necessary Activity settings in System Settings so contacts and opportunities accept the incoming activity records, and set up the security roles that mirror Time Matters attorney and staff access levels. The schema must be complete before the Bulk API load can reference the custom columns.

  4. Run a sample migration with field-level diff

    A representative slice — typically 200–500 records spanning contacts, matters, activities, and time entries — migrates first. We generate a field-level diff between the source CSV and the loaded Dynamics 365 record so you can verify that custom field values populated correctly, the primary contact-matter link resolved to OpportunityContactRole, and the activity Regarding lookups point to the correct parent record. Owner resolution and date-preservation are validated at this stage before the full run commits.

  5. Execute full migration with delta-pickup window

    The full data set loads in sequenced phases: Accounts and Contacts first to resolve foreign keys, then Matters as Opportunities with product line items for billable hours, then Activities with valid RegardingId lookups, then Notes and file attachments. After the bulk load completes, a 24–48 hour delta-pickup window captures any Matter or Contact created or modified in Time Matters during the cutover. FlitStack's audit log records every insert and update operation, and one-click rollback is available if the final reconciliation check identifies missing records or broken relationships.

Platform deep dives

Context on both ends of the pair

Time Matters(r) logo

Time Matters(r)

Source

Strengths

  • True relational database architecture with many-to-many Contact-Matter relationships
  • Deep merge-template system with field-level control for document assembly workflows
  • Fully customizable field names, form layouts, and practice-area sort tabs
  • Flat-rate pricing with no per-user billing surprises
  • Long-standing product with a stable file format and export infrastructure

Weaknesses

  • No public API — all data movement is manual file-based export
  • Desktop-client-only (on-premises) with no native cloud or mobile access
  • UI and feature set lag behind modern cloud-native legal platforms
  • Low customer satisfaction scores relative to alternatives on G2 and Capterra
  • Billing and accounting modules considered cumbersome by experienced users
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 Time Matters(r) and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Time Matters(r) and Microsoft Dynamics 365 Sales .

  • Object compatibility

    A

    All 8 core objects map 1:1 between Time Matters(r) 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

    Time Matters(r): Not applicable.

  • Data volume sensitivity

    B

    Time Matters(r) doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Time Matters(r) 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 Time Matters(r) to Microsoft Dynamics 365 Sales data migrations

Answers to the questions buyers ask most during Time Matters(r) to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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

Book a free 30 minute consultation

For setups under 50,000 records with under 30 custom fields per form, the migration runs in 5–10 business days — 1–2 days for extraction and schema setup, 1–2 days for transformation and validation, and 1–3 days for the bulk load and delta pickup. Larger datasets with 200,000+ records or 50+ custom fields across multiple export templates extend to 3–6 weeks. The longest step is always the custom field discovery and Dataverse column creation — Time Matters does not expose a schema catalog, so every custom field must be identified from the export headers before the schema can be built.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Time Matters(r).
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