CRM migration

Migrate from Perfectview to Microsoft Dynamics 365 Sales

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

Perfectview logo

Perfectview

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

70%

7 of 10

objects map 1:1 between Perfectview 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 Perfectview to Microsoft Microsoft Dynamics 365 Sales requires resolving a fundamental schema mismatch. Perfectview organises its entire data model around Relations, a single object type that conflates company and contact data with role-based address fields. Microsoft Dynamics 365 Sales uses separate Account, Contact, and Lead objects with explicit Lookup relationships. We split each Relation into one Account record and one or more Contact records during the transform phase, using the Relation role and address fields to determine placement and dedupe. Activity history (calls, emails, meetings, tasks) migrates as Tasks and Events attached to the resolved Contact or Account via the Dynamics 365 Bulk API 2.0 with parent-record lookup resolution. Owner assignments on Relations resolve to Dynamics 365 User records by email match, with unresolved owners flagged in a reconciliation queue. Perfectview's bulk export function caps at 1,000 records per pass, which we handle through scripted chunking by date range or alphabetical segment to ensure complete coverage. Workflows, automations, and reports do not migrate as code; we document them for the customer's admin to rebuild in Dynamics 365.

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

Perfectview logo

Perfectview

What's pushing teams away

  • PerfectView lacks presence on major review platforms, making competitive comparison and peer validation difficult for prospective buyers.
  • The product rebranding to Tribe CRM creates uncertainty about roadmap continuity and whether existing customers will be forced onto a new platform.
  • No public API documentation or developer portal means technical teams cannot independently evaluate integration capabilities before purchase.
  • Limited reporting depth compared to global CRM platforms makes it harder for data-driven sales teams to extract actionable pipeline insights.

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

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

Perfectview

Relation

maps to

Microsoft Dynamics 365 Sales

Account

1:many
Fully supported

Each Perfectview Relation maps to one Account record in Microsoft Dynamics 365 Sales . The company-level fields from the Relation (company name, address, phone, website, industry) become the Account fields. We use RelationName as Account Name and the primary business address fields as BillingAddress. Account is created before any Contact import so that the AccountId Lookup is satisfied at the moment of Contact insert. Relations without a distinguishable company component (individual-only records) skip Account creation and go directly to Contact with no Account link.

Perfectview

Relation

maps to

Microsoft Dynamics 365 Sales

Contact

1:many
Fully supported

Each role-address instance within a Relation (for example, a Relation with both a billing contact and a sales contact) generates a separate Contact record linked to the parent Account. We use the Role field on the Relation address to set Contact Title and Department. The primary email and phone fields from the Relation become Contact Email and Phone. If a Relation has only one Contact role, we create one Contact; if it has five roles, we create five Contact records. The original Relation ID is preserved in a custom field pv_relation_id__c for audit trail and future delta-sync.

Perfectview

Lead

maps to

Microsoft Dynamics 365 Sales

Lead

1:1
Fully supported

Perfectview Leads that are not yet converted to Relations map directly to Microsoft Dynamics 365 Sales Lead. We use LeadSource to capture the original lead acquisition channel and preserve any Perfectview lead score in a custom field pv_lead_score__c. Lead conversion during migration is handled by the customer's admin post-migration rather than as part of the bulk import to avoid creating duplicate Accounts.

Perfectview

Deal

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Perfectview Deals map to Microsoft Dynamics 365 Sales Opportunity. The Deal amount, stage, close date, and owner migrate to Opportunity Amount, StageName, CloseDate, and OwnerId respectively. We map Perfectview's dealstage values to a Salesforce-compatible stage name set defined during scoping. The Opportunity AccountId is resolved by matching the parent Relation's company fields to the newly created Account record.

Perfectview

Activity

maps to

Microsoft Dynamics 365 Sales

Task and Event

1:1
Fully supported

Perfectview Activities (calls, emails, meetings, tasks) migrate as Microsoft Dynamics 365 Sales Task and Event records. Call dispositions and durations map to custom Task fields; meeting start and end times map to Event StartDateTime and EndDateTime. Each Activity is linked to the parent Contact or Account via the Regarding (regardingobjectid) lookup. We use the Bulk API 2.0 for Activity migration because the record volume typically exceeds what the Dynamics 365 REST API can handle without batching.

Perfectview

Case

maps to

Microsoft Dynamics 365 Sales

Case

1:1
Fully supported

Perfectview Cases migrate to Microsoft Dynamics 365 Sales Case with Status, Priority, Description, and Case Origin preserved. The Case Contact and Case Account are resolved by matching the original linked Relation to the newly created Account and Contact records. Case comments and conversation history migrate as EmailMessage records linked to the Case. If the Dynamics 365 tenant does not include Service Cloud, Cases are migrated as custom records in a custom object with equivalent fields.

Perfectview

Document

maps to

Microsoft Dynamics 365 Sales

SharePoint Online / ContentDocument

lossy
Fully supported

Perfectview Document metadata (filename, file type, upload date, author) migrates to Dynamics 365 SharePoint integration document locations or to Salesforce ContentDocument records if the tenant uses Dataverse file attachments. The document binary files are exported from Perfectview via the bulk export function or API download endpoint, then re-uploaded to the equivalent SharePoint document library or ContentVersion record. The mapping between the original document ID and the new location ID is preserved in the migration mapping file.

Perfectview

Quote

maps to

Microsoft Dynamics 365 Sales

Quote

1:1
Fully supported

Perfectview Quotes migrate to Microsoft Dynamics 365 Sales Quote. Quote headers (quotenumber, account, contact, validity period) map to Quote fields. Line items map to QuoteLineItem records, with Product2 and PricebookEntry resolved at migration time. Signed Quote PDFs migrate as ContentDocument attached to the Quote. Quote status (Draft, Active, Revised, Accepted, Closed) maps to the Dynamics 365 Quote Status field.

Perfectview

Owner

maps to

Microsoft Dynamics 365 Sales

User

1:1
Fully supported

Perfectview Owners map to Dynamics 365 User records by email match. We resolve each Owner referenced on Relation, Deal, Activity, Case, and Quote to a Dynamics 365 User. Any Owner without a matching Dynamics 365 User is held in a reconciliation queue for the customer's admin to provision before the relevant record phase begins. OwnerId references on all migrated records are resolved at migration time using the finalised User lookup table.

Perfectview

Custom Fields

maps to

Microsoft Dynamics 365 Sales

Custom Fields

1:1
Mapping required

Perfectview custom fields added to Relation, Activity, Case, and other objects are discovered during the discovery phase and mapped to equivalent Dynamics 365 custom fields. Field data types are mapped from Perfectview's type definitions to the closest Dynamics 365 field type (text to Text, date to Date, number to Number, checkbox to Two Options). Custom fields are deployed to the Dynamics 365 sandbox before migration begins and the mapping file is validated against the live schema.

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.

Perfectview logo

Perfectview gotchas

High

Relations object conflates Companies and Contacts

Medium

Bulk export function caps at 1000 records per operation

Medium

Workflows and automations cannot be exported

Low

API rate limits are not publicly documented

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

  • Relation-to-Account-Contact split requires validated field-level logic

    Perfectview's Relation object holds both company and contact data in a single record with role-based address fields that determine the contact's function. Microsoft Dynamics 365 Sales requires a normalised structure with separate Account and Contact objects. We must split each Relation into one Account and one or more Contact records, using the role, department, and address fields to determine whether a contact role belongs to the primary company contact or a sub-contact. This split logic must be validated against live data before bulk migration because incorrect placement creates either orphaned Contacts (no Account) or duplicate Accounts (one per role). We run a sample split on 50 random Relations and compare against the source before committing to bulk processing.

  • Bulk export function caps at 1,000 records per pass

    Perfectview's built-in UI export function limits each operation to 1,000 Relations. For databases with 5,000 or more records, this requires multiple export passes with date-range or alphabetical filters to avoid overlap. We automate this chunking through scripted UI export sequences or API pagination using the offset-based cursor. Without automated chunking, manual exports risk missing records at boundary points or duplicating records across passes. The chunking strategy is defined during the discovery phase and validated against the source record count before migration begins.

  • Dynamics 365 Bulk API requires parent-record GUID resolution before insert

    Microsoft Dynamics 365 Sales Bulk API 2.0 inserts records without enforcing cross-record referential integrity at insert time. If an Opportunity references an AccountId that does not yet exist, the insert fails with a parent-record-not-found error. We resolve all parent-record GUIDs (AccountId, ContactId, OwnerId) before the child record phase begins, using a two-phase approach: Phase one inserts all Accounts, Contacts, and Users and records their new GUIDs; Phase two uses the GUID lookup table to set all foreign-key references on Opportunities, Cases, Activities, and Quotes. Circular dependency loops are broken by inserting a stub record and updating it in a second pass.

  • Workflows and automations cannot be exported from Perfectview

    Perfectview does not expose workflow rules, automated sequences, or trigger conditions through any export mechanism. All workflow logic must be documented during the discovery phase and rebuilt in Dynamics 365 using Power Automate or Dynamics 365 Workflow. For teams with more than five active workflows, the rebuild adds 3-8 hours of post-migration effort per significant workflow and should be scoped separately from the data migration. We deliver a written workflow inventory that maps each Perfectview rule to its recommended Dynamics 365 equivalent.

  • Perfectview API rate limits are not publicly documented

    Perfectview exposes an API that can be activated in account settings, but the platform does not publish rate limits, per-endpoint quotas, or concurrent request limits. We discover actual limits through a pre-migration load test using a trial account, throttling reads to a conservative estimate (typically 10-20 requests per minute) if restrictive limits are encountered. For record-heavy exports, we use the UI bulk export as the primary data source with the API as a delta-sync tool when rate limits are hit.

Migration approach

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

  1. Discovery and schema mapping

    We audit the Perfectview tenant to capture the full Relation structure (including all role-based contact fields), Activity types and volume, Case status and priority values, Deal pipeline stages, and any custom fields on Relation, Activity, and Case objects. We document every active workflow for the workflow inventory deliverable. We pair this with a Microsoft Dynamics 365 Sales environment audit to identify the installed edition (Professional, Enterprise, or Premium), existing Record Types, Sales Processes, and custom field definitions. The discovery output is a written migration scope with the Relation split logic, field-level mapping, and Dynamics 365 edition recommendation.

  2. Schema provisioning in Dynamics 365 Sandbox

    We deploy the destination schema to a Dynamics 365 Sandbox using the Configuration Migration Tool or Microsoft Dataverse REST API. This includes creating any custom fields not already present (pv_relation_id__c, pv_lead_score__c, and other migration audit fields), extending picklist value sets to match Perfectview's enumerated values, and creating the Record Types and Sales Processes needed to represent each Perfectview Deal pipeline. Schema validation runs against a subset of source data before the full migration proceeds.

  3. Sandbox migration and reconciliation

    We run a full migration into the Dynamics 365 Sandbox using production-like data volume drawn from the Perfectview export. The customer's RevOps lead spot-checks 25-50 randomly selected Relations against their corresponding Account and Contact records in Dynamics 365, verifies that Activity timelines are intact, and signs off the field mapping before production migration begins. Any split logic errors or field mapping corrections are applied to the transform scripts before the production run.

  4. Owner reconciliation and User provisioning

    We extract every distinct Perfectview Owner referenced on Relation, Deal, Case, Activity, and Quote records and match by email against the Dynamics 365 destination org's User table. Owners without a matching User are held in a reconciliation queue for the customer's admin to provision matching Dynamics 365 Users. Migration cannot proceed to the child record phase until OwnerId references are resolved because OwnerId is a required field on Opportunity and Case records.

  5. Production migration in dependency order

    We run the production migration in strict record-dependency order: Accounts (from Relation company fields), Users (validated), Contacts (with AccountId resolved from the Account lookup table), Leads, Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Quotes and QuoteLineItems, Activities (Tasks and Events via Bulk API 2.0 with regardingobjectid resolved), Cases, Documents (metadata and file attachments), and custom field values last. Each phase emits a row-count reconciliation report and a field-null-rate report before the next phase begins.

  6. Cutover, validation, and automation rebuild handoff

    We freeze writes to the Perfectview tenant during cutover and run a final delta migration of any records created or modified during the migration window. We enable Microsoft Dynamics 365 Sales as the system of record and deliver the workflow inventory document, the automation rebuild guide mapping each Perfectview workflow to its recommended Dynamics 365 Power Automate or Workflow equivalent, and the report rebuild checklist. We support a three-day hypercare window where we resolve reconciliation issues raised by the customer's sales team. We do not rebuild Perfectview workflows as Dynamics 365 automations inside the standard migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

Perfectview logo

Perfectview

Source

Strengths

  • All-in-one CRM covering sales, marketing, support, and billing without requiring third-party integrations for core functions.
  • Netherlands-hosted data with ISO certification and explicit GDPR tooling appeals to EU-regulated industries.
  • Predictable flat pricing model with a permanent discount for the first five users reduces billing surprises.
  • Free helpdesk support is included in all plans with direct access to the PerfectView team in Den Bosch.

Weaknesses

  • Product has been rebranded to Tribe CRM with unclear migration path for existing PerfectView customers.
  • No public API documentation or developer portal limits technical transparency and pre-sales evaluation.
  • Absence from major review platforms (G2, Capterra) means no independent validation of user satisfaction or feature claims.
  • Limited advanced reporting and analytics compared to global CRM competitors makes pipeline intelligence harder to extract.
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. 4 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

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

  • Object compatibility

    C

    4 of 8 objects need a mapping; the rest are 1:1.

  • 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

    Perfectview: Not publicly documented in summary form..

  • Data volume sensitivity

    A

    Perfectview exposes a bulk API — large-volume migrations stream efficiently.

Estimator

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

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

Can't find your answer?

Walk through your Perfectview 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 databases under 5,000 Relations with no custom objects, clean Relation-role structures, and straightforward Deal-to-Opportunity mapping. Migrations with large Relation databases (over 20,000 records), multiple role-based Contact splits per Relation, open Case histories, or large Activity timelines (over 200,000 records) extend to eight to twelve weeks because of export chunking time, parent-record lookup resolution, and the Bulk API batch sequencing required for Activities.

Adjacent paths

Related migrations to explore

Ready when you are

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