CRM migration
Field-level mapping, validation, and rollback between Metis CRM and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Metis CRM
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
4 of 8
objects map 1:1 between Metis CRM and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Metis CRM to Microsoft Microsoft Dynamics 365 Sales is a cross-platform migration from a client-centric agency tool into an enterprise sales CRM with deep Microsoft 365 integration. Metis organizes its data around a client-and-job model (Clients, Opportunities, Jobs, People, Timesheets, Expenses) that does not map directly to the Account-Contact-Opportunity-Product schema in Microsoft Dynamics 365 Sales . We extract data from Metis per-zone CSV exports, map the client-and-job hierarchy into Dynamics 365 Accounts, Contacts, and Opportunities, and flag the Job costing fields that have no native equivalent in Microsoft Dynamics 365 Sales as requiring a custom field configuration or a Power Apps companion solution. Receipt images and attachment files are handled as a separate file transfer outside the main data migration because Metis stores them as linked files rather than embedded data in the CSV export. We do not migrate Metis resourcing reports, which are view exports rather than transactional objects; the underlying People and Job assignment data is extracted and presented for manual reassembly in the destination system. Workflows and automations in Metis do not migrate as code and are delivered as a written rebuild inventory for the customer admin.
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
Metis CRM platform overview
Scorecard, SWOT, gotchas, and pricing for Metis CRM.
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 Metis CRM 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.
Metis CRM
Clients
Microsoft Dynamics 365 Sales
Account
1:1Metis Clients map to Microsoft Dynamics 365 Sales Accounts. Client name becomes Account Name, and the primary contact person in Metis maps to a Contact record linked via the Account's Primary Contact lookup. We extract all standard client fields from the Clients zone CSV and map them to typed Dynamics 365 fields, flagging any Metis custom client fields as requiring a custom Account field on Dataverse before import.
Metis CRM
People
Microsoft Dynamics 365 Sales
Contact
1:1Metis People records map to Dynamics 365 Contact. The People zone exports all person-level fields including role, email, phone, and address data. We map the primary contact relationship to the Account via the accountid lookup, and any secondary contacts import as additional Contact records with the same Account reference. Role and title information from Metis maps to the Title and JobTitle fields on Contact.
Metis CRM
Opportunities
Microsoft Dynamics 365 Sales
Opportunity
1:1Metis Opportunities map to Dynamics 365 Opportunity. The pipeline stage, deal value, and expected close date from Metis map to the stage, amount, and estimatedclosedate fields. We resolve the Account reference by matching the Opportunity's linked Client in Metis to the Account record created during the Clients migration phase. Closed-Lost and Closed-Won status from Metis map to the corresponding Dynamics 365 Opportunity state.
Metis CRM
Jobs
Microsoft Dynamics 365 Sales
Custom Entity (Job)
lossyMetis Jobs are project records with client association, status, dates, and job costing fields that have no native equivalent in Microsoft Dynamics 365 Sales . We recommend creating a custom Job entity on Dataverse before migration to preserve job costing data. Job status (active, completed, on hold) becomes a status field on the custom entity, and the client association links to the Account record. The customer admin configures the Dataverse custom entity schema during the pre-migration discovery phase.
Metis CRM
Timesheets
Microsoft Dynamics 365 Sales
Custom Entity (Time Entry)
lossyMetis Timesheets export from the Manage zone as structured time entries with billable vs non-billable flags and Job associations. Microsoft Dynamics 365 Sales has no native timesheet object; Teams requiring time tracking typically add Dynamics 365 Project Operations or build a custom Time Entry entity on Dataverse. We extract all timesheet records and present them as a data file mapped to the destination custom entity schema, resolving Person references to Contact records and Job references to the custom Job entity.
Metis CRM
People Expenses
Microsoft Dynamics 365 Sales
Custom Entity (Expense)
lossyMetis People Expenses map to a custom Expense entity on Dataverse linked to the Person (Contact) who incurred the expense. The expense category, amount, date, and currency transfer directly. Receipt images are exported as separate files (see gotcha on receipt images) and reattached in the destination system with a file-reattachment note logged against each expense record.
Metis CRM
Central Expenses
Microsoft Dynamics 365 Sales
Custom Entity (Agency Expense)
lossyMetis Central Expenses are agency-level overhead costs exported from the Manage zone separately from People Expenses. These map to a separate custom Expense entity scoped to the Account (agency-level) rather than to a Contact. Receipt image handling follows the same parallel file transfer process as People Expenses.
Metis CRM
Resourcing Report
Microsoft Dynamics 365 Sales
N/A — reconstruction file
1:1Metis resourcing reports are filtered views combining People availability with Job assignments, not transactional objects. We extract the underlying People and Job assignment data from the Jobs and People zones and deliver a reconstruction file showing each person's utilization across jobs. The customer admin reassembles this into a Power BI report or a Dataverse-backed canvas app post-migration.
| Metis CRM | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Clients | Account1:1 | Fully supported | |
| People | Contact1:1 | Fully supported | |
| Opportunities | Opportunity1:1 | Fully supported | |
| Jobs | Custom Entity (Job)lossy | Fully supported | |
| Timesheets | Custom Entity (Time Entry)lossy | Mapping required | |
| People Expenses | Custom Entity (Expense)lossy | Mapping required | |
| Central Expenses | Custom Entity (Agency Expense)lossy | Mapping required | |
| Resourcing Report | N/A — reconstruction file1:1 | Mapping required |
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.
Metis CRM gotchas
No public API forces CSV-only migration paths
Receipt images exported as separate files outside the main CSV
Orphan time entries without a linked Job
Xero-friendly export is a destination format, not a source object
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
Discovery and zone export extraction
We audit the source Metis CRM account across all available zones (Clients, Opportunities, Jobs, People, Timesheets, People Expenses, Central Expenses) and extract the full CSV for each zone. We identify record counts, identify any Metis custom fields per zone, flag the receipt image file locations, and assess the resourcing report data volume. We pair this with a Dynamics 365 environment audit: identifying the target org, confirming Dataverse custom entity provisioning authority, and identifying any existing validation rules or security profiles that will affect import.
Schema design and Dataverse custom entity provisioning
We design the destination schema in Dynamics 365. This includes creating the custom Job entity (with fields mapped from Metis Jobs including job costing, status, and dates), the custom Time Entry entity (with billable/non-billable flags and Person and Job lookups), and the custom Expense entities (for People Expenses and Central Expenses with category, amount, date, and receipt attachment). Schema is deployed into the target environment before any data import. We document any Metis fields that cannot map directly to a Dynamics 365 field and present the customer with custom field options.
Parent-record lookup resolution and orphan audit
We resolve cross-record references across the Metis CSV exports before any Dynamics 365 import. This means matching every Opportunity's Client reference to the Account record being created, matching every Job's Client reference to the Account, matching every Person to a Contact record, and resolving the People and Job references on each Timesheet entry. Orphan records (People without a Client, Timesheet entries without a Job, Expenses without a Person) are flagged in the pre-migration audit and presented to the customer for a disposition decision before production migration begins.
Sandbox migration and reconciliation
We run a full migration into a Dynamics 365 Sandbox environment using production-like data volume. The customer's Dynamics 365 admin reconciles record counts (Accounts in, Contacts in, Opportunities in, custom entity records in), spot-checks 25-50 random records against the Metis source CSV exports, and validates that the receipt image file names correspond to the correct expense records. The customer signs off the schema and mapping before production migration begins. Any mapping corrections happen in the sandbox phase, not in production.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Metis Clients), Contacts (with accountid resolved from the Client mapping), Opportunities (with accountid and owninguser resolved), custom Job entity records (with accountid resolved), custom Time Entry records (with person and Job references resolved, orphan entries held pending disposition), custom Expense records (with receipt image reattachment notes logged). Receipt images are transferred in parallel as a separate file batch. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and rebuild handoff
We freeze Metis zone exports at cutover and run a final delta export of any records modified during the migration window. We validate the Dynamics 365 production environment and deliver the resourcing report reconstruction file, the orphan time entry disposition log, and the receipt image reattachment checklist. We do not rebuild Metis automations as Dynamics 365 workflows; those are delivered as a written inventory for the customer's admin team. We support a one-week hypercare window where we resolve reconciliation issues raised by the customer's team.
Platform deep dives
Metis CRM
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Metis CRM and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Metis CRM and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Metis CRM 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
Metis CRM: Not publicly documented.
Data volume sensitivity
Metis CRM 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 Metis CRM to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Metis CRM 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 Metis CRM
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.