CRM migration

Migrate from Metis CRM to Microsoft Dynamics 365 Sales

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 logo

Metis CRM

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

50%

4 of 8

objects map 1:1 between Metis CRM and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

2-4 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Metis CRM logo

Metis CRM

What's pushing teams away

  • Teams outgrow the platform when they need deeper marketing automation, advanced multi-pipeline reporting, or CRM features beyond basic sales pipeline management.
  • Lack of a documented public API limits integration options, forcing teams to manual exports or workarounds that become unsustainable at scale.
  • Project-heavy teams report that job costing and resourcing features are functional but lack the depth of dedicated project management tools.
  • Small teams report that pricing for multiple users adds up, especially when the feature set overlaps with cheaper standalone tools for specific use cases like time tracking.

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

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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Metis 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

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Metis 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

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Metis 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

maps to

Microsoft Dynamics 365 Sales

Custom Entity (Job)

lossy
Fully supported

Metis 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

maps to

Microsoft Dynamics 365 Sales

Custom Entity (Time Entry)

lossy
Mapping required

Metis 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

maps to

Microsoft Dynamics 365 Sales

Custom Entity (Expense)

lossy
Mapping required

Metis 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

maps to

Microsoft Dynamics 365 Sales

Custom Entity (Agency Expense)

lossy
Mapping required

Metis 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

maps to

Microsoft Dynamics 365 Sales

N/A — reconstruction file

1:1
Mapping required

Metis 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.

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.

Metis CRM logo

Metis CRM gotchas

High

No public API forces CSV-only migration paths

Medium

Receipt images exported as separate files outside the main CSV

Medium

Orphan time entries without a linked Job

Low

Xero-friendly export is a destination format, not a source object

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

  • No REST API forces CSV-only extraction bounded by zone export sizes

    Metis CRM does not publish a public REST API, so all data extraction runs through the per-zone CSV export function. We work directly with these zone exports (Clients, Opportunities, Jobs, People, Timesheets, People Expenses, Central Expenses) as the primary ingestion method. This means migration speed is bounded by export chunk sizes and we cannot run real-time delta sync jobs against the platform. Any data modified between the export and the cutover window requires a manual re-export of the affected zone.

  • Receipt images exported as separate files outside the main CSV

    Both People Expenses and Central Expenses store receipt images as linked files rather than embedded data. The CSV export captures the expense record but not the image file path. We run a parallel file transfer for receipt attachments and flag each expense record in the migration log with an image-reattachment note. Customers must manually verify receipt images in Dynamics 365 post-migration and reattach them to the corresponding expense record in whatever custom entity they configure.

  • Orphan time entries without a linked Job cause mapping gaps

    Timesheet exports may contain entries logged against a Person without a Job association. These orphan entries cannot be mapped to a project in the destination system without manual assignment because the custom Job entity requires a parent reference. We flag every unlinked time entry in the pre-migration audit and present the customer with a mapping choice: assign to a placeholder project, skip, or create a default Job record in Dynamics 365 for the orphan entries.

  • Job costing and resourcing data has no native Microsoft Dynamics 365 Sales equivalent

    Metis Jobs carry job costing fields (budget, cost, margin, resourcing assignments) that have no direct equivalent in Microsoft Dynamics 365 Sales . Microsoft Dynamics 365 Sales does not include a native project or job tracking object. Teams requiring job costing after migration typically add Dynamics 365 Project Operations or build a custom Job entity on Dataverse. We extract the job costing fields and deliver a mapping file ready for the custom entity schema, but the Dataverse entity must be provisioned before the migration data load runs.

  • Field-level security and validation rules in Dynamics 365 can block CSV import

    Dynamics 365 environments commonly enforce validation rules (required formats, conditional requireds, picklist whitelists) and field-level security profiles that the migrating user must explicitly bypass during data load. We coordinate with the customer's Dynamics 365 admin to grant the migration user the appropriate Dataverse security role and either temporarily disable blocking validation rules during load or extend them with a migration-context exemption. Without this step, record rejection rates of 5-20 percent are common on first import.

Migration approach

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

Metis CRM logo

Metis CRM

Source

Strengths

  • Unified CRM, project management, and time tracking for professional services workflows
  • Per-zone CSV export capability gives clean data extraction points for migration
  • Client-centric data model with Opportunities, Jobs, People, and Timesheets as first-class objects
  • Resource management and resourcing reports for tracking team utilization across jobs
  • Affordable positioning for freelancers, agencies, and SMBs without enterprise overhead

Weaknesses

  • No documented public REST API — all migrations rely on CSV zone exports
  • No clear pricing page or published tier structure in available sources
  • Receipt images and attachments stored as separate files outside the primary data export
  • Resourcing reports are view exports, not transactional objects — underlying data must be reconstructed
  • Limited integrations compared to established CRM platforms
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 Metis CRM and Microsoft Dynamics 365 Sales .

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

    All 8 core objects map 1:1 between Metis CRM 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

    Metis CRM: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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 consultation

Most migrations land between two and four weeks for accounts under 5,000 Clients, 2,000 Opportunities, and no large time entry history. Migrations with over 10,000 People records, active time entry histories across multiple years, expense file transfer batches, or a requirement to pre-build custom Job and Time Entry entities in Dataverse move to six to ten weeks because of the custom entity schema design, orphan record resolution, and file transfer overhead.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Metis CRM.
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