CRM migration
Field-level mapping, validation, and rollback between FilePro and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
FilePro
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between FilePro and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2–4 weeks
Overview
FilePro organizes law firm data around Clients and Matters — a flat hierarchy where each matter can hold time entries, documents, notes, and user-defined fields without the relational object model a CRM uses. Dynamics 365 Sales models the same business through Accounts, Contacts, Leads, and Opportunities — with related Activities, Notes, and custom tables in Dataverse. The migration challenge is structural: FilePro has no REST API; data exits via ASCII, DIF, or delimited exports that lose relational context. FlitStack AI reconstructs that context during the extract phase, building junction records for multi-matter relationships, splitting client-matter records into their Dynamics 365 equivalents, and creating custom Dataverse tables for FilePro user-defined fields that have no standard CRM analogue (trust accounting balances, disbursement trackers, referral source codes). We deliver a sample migration first with field-level diff so you verify matter-to-account mapping before the full run commits. Delta pickup captures any FilePro activity 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
FilePro platform overview
Scorecard, SWOT, gotchas, and pricing for FilePro.
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 FilePro 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.
FilePro
Client
Microsoft Dynamics 365 Sales
Account
1:1FilePro Client records map directly to Dynamics 365 Account. The client name maps to Account.Name, address fields map to Address1_City, Address1_State, Address1_PostalCode, and the primary contact email maps to EmailAddress1 on the primary Contact. Multi-practice clients (those with matters across practice areas) are mapped as a single Account with each Matter represented as a separate Opportunity record.
FilePro
Matter
Microsoft Dynamics 365 Sales
Opportunity
1:1Each FilePro Matter becomes a Dynamics 365 Sales Opportunity linked to the Account created from the parent Client. Matter name maps to Opportunity.Name; Matter number is preserved in a custom Opportunity column (Matter_Number__c). The Matter status (Active, Closed, Archived) maps to Opportunity StateCode — Open = 0, Won = 1, Lost = 2. Practice area (Family, Criminal, Corporate) maps via value_mapping to a custom Opportunity column (Practice_Area__c).
FilePro
Contact (on Matter)
Microsoft Dynamics 365 Sales
Contact
1:1Contacts stored on a FilePro Matter (client contacts, referring attorneys, opposing counsel) map to Dynamics 365 Contact records. Each Contact is linked to the parent Account via AccountId lookup. The Contact's role on the Matter (Client, Referrer, Opposing Counsel) is preserved as a custom Contact column (Matter_Role__c) and as an Opportunity Contact Role in Dynamics 365.
FilePro
Time Entry
Microsoft Dynamics 365 Sales
Task / Custom TimeEntry Table
1:1FilePro time entries are high-volume and carry Date, Duration, Description, Billable flag, and hourly rate. Dynamics 365 standard Activities (Task, PhoneCall) do not carry a billable-rate field. FlitStack creates a custom Dataverse table (Time_Entry__c) with columns Date__c, Duration_Minutes__c, Description__c, Billable__c, and Rate__c, linking each entry to the parent Opportunity via OpportunityId. If the firm uses Dynamics 365 Business Central for billing, the custom table can sync via a Power Automate flow.
FilePro
Document / Attachment
Microsoft Dynamics 365 Sales
Note (Annotation)
1:1FilePro documents and attachments are re-uploaded as Dynamics 365 Notes (Annotation entity). The document filename maps to Annotation.Filename, the content maps to DocumentBody (base-64 encoded), and MIME type maps to MimeType. Files are linked to their parent record (Account, Opportunity, or Contact) via ObjectId. SharePoint document management can be enabled in Dynamics 365 as an alternative storage target — files are re-uploaded to the SharePoint library and the annotation record points to the SharePoint URL.
FilePro
User Defined Field (Client)
Microsoft Dynamics 365 Sales
Account Custom Column
1:1FilePro UDFs on the Client table become custom columns on the Dynamics 365 Account table. Each UDF requires a new column definition in Dataverse (e.g., Client_Source__c for a Referral Source picklist, Client_Referral_Balance__c for a currency field). Picklist UDFs in FilePro require OptionSet value-mapping in Dynamics 365 — FlitStack generates the mapping table during the schema build phase.
FilePro
User Defined Field (Matter)
Microsoft Dynamics 365 Sales
Opportunity Custom Column
1:1FilePro UDFs on the Matter table map to custom columns on the Dynamics 365 Opportunity table. For trust accounting UDFs (Trust Balance, Unbilled Disbursements), FlitStack creates a separate custom Dataverse table (Trust_Accounting__c) linked to the Opportunity so the fields do not clutter the standard Opportunity form layout. The custom table approach mirrors FilePro's flat-field model while keeping Dynamics 365 clean for sales users.
FilePro
Billing / Invoice Record
Microsoft Dynamics 365 Sales
Quote / Order (or Custom Invoice Table)
1:1FilePro billing records (invoices generated from time entries) can map to Dynamics 365 Quotes and Orders if the firm uses Dynamics 365 Sales for client invoicing. Each FilePro invoice line maps to a QuoteProduct or OrderProduct row. If the firm uses a separate practice management or accounting system for billing, FlitStack maps invoice records to a custom Dataverse table (Legacy_Invoice__c) for reference — these records are not synced to the Dynamics 365 Quote/Order entities unless Dynamics 365 Business Central is in scope.
FilePro
FilePro User / Operator
Microsoft Dynamics 365 Sales
SystemUser (OwnerId)
1:1FilePro operator logins are matched to Microsoft 365 users by email address. FlitStack checks each FilePro user against the Azure AD tenant connected to Dynamics 365 — matched users receive OwnerId assignment on their migrated records. Unmatched operators (e.g., former staff) are flagged and assigned to a placeholder SystemUser (e.g., 'FlitStack Migration' user) so record ownership is valid in Dynamics 365.
FilePro
Calendar / Appointment
Microsoft Dynamics 365 Sales
Appointment (CalendarItem)
1:1FilePro calendar entries map to Dynamics 365 Appointments (ActivityPointer entity). Subject maps to Subject, Start Time maps to ScheduledStart, End Time maps to ScheduledEnd, and Description maps to Description. Location and attendees are mapped from FilePro appointment fields if present. Each Appointment is linked to the relevant Account or Opportunity via regardingobjectid.
FilePro
Note / Memo (Matter-level)
Microsoft Dynamics 365 Sales
Note (Annotation)
1:1FilePro notes and memos attached to a Matter are migrated as Dynamics 365 Notes (Annotation) linked to the corresponding Opportunity record. The note text maps to Annotation.Notetext, and the FilePro note date maps to CreatedOn for audit continuity. If notes contain embedded file references, the linked files are exported separately and re-attached as described in the Document mapping.
FilePro
Trust Accounting Record
Microsoft Dynamics 365 Sales
Custom Trust_Accounting__c Table
1:1FilePro trust account records (receipts, disbursements, running balance) have no direct equivalent in standard Dynamics 365 Sales. FlitStack creates a custom Dataverse table (Trust_Accounting__c) with columns Trust_Type__c, Amount__c, Transaction_Date__c, Description__c, and Reference__c, linked to the parent Opportunity. This preserves the trust accounting history for compliance purposes even if the firm migrates billing to Dynamics 365 Business Central post-migration.
| FilePro | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Client | Account1:1 | Fully supported | |
| Matter | Opportunity1:1 | Fully supported | |
| Contact (on Matter) | Contact1:1 | Fully supported | |
| Time Entry | Task / Custom TimeEntry Table1:1 | Fully supported | |
| Document / Attachment | Note (Annotation)1:1 | Fully supported | |
| User Defined Field (Client) | Account Custom Column1:1 | Fully supported | |
| User Defined Field (Matter) | Opportunity Custom Column1:1 | Fully supported | |
| Billing / Invoice Record | Quote / Order (or Custom Invoice Table)1:1 | Fully supported | |
| FilePro User / Operator | SystemUser (OwnerId)1:1 | Fully supported | |
| Calendar / Appointment | Appointment (CalendarItem)1:1 | Fully supported | |
| Note / Memo (Matter-level) | Note (Annotation)1:1 | Fully supported | |
| Trust Accounting Record | Custom Trust_Accounting__c Table1: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.
FilePro gotchas
No REST API — export depends on native EXPORT utility
User Defined Fields are firm-specific with no published schema
Actionstep acquisition creates migration scope ambiguity
Document paths exported as registry, not file bodies
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
Export FilePro data in delimited formats and parse relational links
FlitStack AI connects to your FilePro instance or receives the firm's filePro export packages (ASCII, DIF, or delimited CSV) for Client, Matter, Time Entry, Document, Contact, and Trust Accounting records. Our parser reconstructs foreign-key relationships using FilePro's internal numeric IDs, building a relational graph that maps Matter IDs to their parent Client records and Time Entry IDs to their parent Matter. Any orphaned or duplicate records are flagged and routed to a quarantine table for review before migration. This step produces a structured staging dataset ready for Dataverse column mapping.
Audit FilePro UDFs and create Dataverse custom columns and tables
FlitStack inventories every user-defined field across FilePro's Client and Matter tables, categorizing each by data type (text, number, currency, picklist, date). For picklist UDFs, we extract the full set of values and build a Dynamics 365 OptionSet mapping table. For trust accounting fields, we design a Trust_Accounting__c custom Dataverse table. We then use the Dynamics 365 Web API to create all custom columns in the target environment before any data is loaded, so the schema is ready when the migration run starts. If the firm's Dynamics 365 license is Sales Professional and the UDF count exceeds 15 custom tables, we flag the constraint and propose consolidation options for your team's decision.
Resolve FilePro operator logins to Microsoft 365 owner records
FlitStack matches each FilePro operator (responsible attorney, billing clerk) to a Microsoft 365 user account in the firm's Azure AD tenant by email address lookup. Operators without an email match are flagged in a pre-migration owner resolution report. Your team creates Azure AD accounts for active staff who are missing, or confirms a fallback owner (e.g., 'FlitStack Migration User') for historical records. No Opportunity, Time Entry, or Account record is loaded without a valid Dynamics 365 OwnerId — this prevents broken ownership chains that would require post-migration cleanup.
Run a sample migration across a representative slice of Clients, Matters, and Time Entries
FlitStack selects a sample set — typically 100–500 records covering the firm's largest practice area, a complex multi-matter client, and a matter with high time-entry volume — and runs the migration against a Dynamics 365 sandbox environment. We generate a field-level diff report showing every source field, its mapped Dataverse column, the value in FilePro, and the value written to Dynamics 365. Your team reviews the diff to verify that matter-to-account splitting is correct, UDF picklist values rendered as expected, and time entries linked to the right Opportunities. Approval of the sample unlocks the full migration run.
Execute full migration with delta-pickup window and audit logging
The full migration runs in sequenced order: Accounts first (no dependencies), then Contacts, then Opportunities with their custom columns, then the Trust_Accounting__c records, then Time_Entry__c records, then Documents/Notes. Dynamics 365 Bulk API handles high-volume inserts. A 24–48 hour delta-pickup window opens at the point of go-live: any FilePro records modified or created during the cutover are captured and appended to Dynamics 365. FlitStack writes a full audit log (CSV export) documenting every record inserted, updated, or skipped with reason codes. One-click rollback reverts the Dynamics 365 environment to its pre-migration state if reconciliation fails.
Platform deep dives
FilePro
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between FilePro and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across FilePro and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between FilePro and Microsoft Dynamics 365 Sales .
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
FilePro: Not applicable — no REST API.
Data volume sensitivity
FilePro 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 FilePro to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your FilePro 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 FilePro
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.