CRM migration
Field-level mapping, validation, and rollback between Perfect Books and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Perfect Books
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between Perfect Books and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
48–72 hours
Overview
Perfect Books and Microsoft Dynamics 365 Sales take different approaches to CRM data architecture. Perfect Books typically uses a flatter entity model with simpler relationship handling and a REST API for data access. Dynamics 365 Sales runs on Microsoft Dataverse, enforcing a strict relational model where Accounts must exist before Contacts can be linked, Opportunities require both Account and Contact references, and all custom fields follow the new_ field-naming convention in the target environment. We map every standard object — contacts, companies, deals, activities, attachments — plus custom fields and custom objects. Owner resolution happens by matching Perfect Books user email addresses to Microsoft 365 user accounts in Dynamics 365. Workflows, automation rules, and email templates do not transfer; we export their definitions as a rebuild reference for Power Automate. The migration reads from Perfect Books' REST API, stages data against Dynamics 365's Dataverse endpoints, and runs a delta-pickup window (24–48 hours) to capture in-flight changes during cutover before your team goes live on Dynamics 365 Sales.
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
Perfect Books platform overview
Scorecard, SWOT, gotchas, and pricing for Perfect Books.
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 Perfect Books 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.
Perfect Books
Contact
Microsoft Dynamics 365 Sales
Contact
1:1Direct map. Dynamics 365 Contact requires an AccountId lookup — records without a primary company in Perfect Books land under a default 'Unassigned Account' record or are flagged for owner resolution before migration commits, including handling of duplicate records and ensuring referential integrity across all linked entities.
Perfect Books
Lead
Microsoft Dynamics 365 Sales
Lead
1:1Direct map if Perfect Books maintains a separate Lead entity. Leads in Dynamics 365 have a dedicated Status pick-list and a separate conversion flow that creates an Account and Contact upon qualification — we preserve the original lead source and status value during migration.
Perfect Books
Company
Microsoft Dynamics 365 Sales
Account
1:1Direct map. Perfect Books company records map to Dynamics 365 Account. Parent-child company hierarchies in Perfect Books translate to the ParentAccountId lookup in Dynamics 365. The parent account must migrate first to resolve circular references. This also preserves the hierarchical context for reporting and segmentation purposes.
Perfect Books
Deal
Microsoft Dynamics 365 Sales
Opportunity
1:1Direct map. Perfect Books deals become Dynamics 365 Opportunities. The deal name maps to Opportunity.Name, and close date maps to ActualCloseDate once the deal is won, or EstimatedCloseDate while open. We preserve the original Perfect Books deal ID for reconciliation.
Perfect Books
Pipeline
Microsoft Dynamics 365 Sales
Business Process Flow
1:1Perfect Books pipeline structures — typically a flat list of stages — map to Dynamics 365 Business Process Flows. Each Perfect Books pipeline becomes one BPF in Dynamics 365. The BPF stage names are mapped value-by-value from the source stage labels.
Perfect Books
Pipeline Stage
Microsoft Dynamics 365 Sales
ProcessStage
1:1Stage names require explicit value-by-value mapping because Dynamics 365 stages are scoped per Business Process Flow. Probability and forecast category are reapplied based on Dynamics 365 stage defaults. Stage-entered timestamps from Perfect Books are preserved in custom datetime fields to maintain historical accuracy.
Perfect Books
Custom Object
Microsoft Dynamics 365 Sales
Custom Table (Dataverse)
1:1Perfect Books custom objects map 1:1 to Dynamics 365 custom tables on Dataverse. Custom table relationships in Perfect Books that use N:N linking require junction tables in Dynamics 365 — we surface this as a pre-migration design decision for future extensibility and reporting.
Perfect Books
Activity (Call, Email, Meeting)
Microsoft Dynamics 365 Sales
Task / Event
1:1Phone calls and emails map to Dynamics 365 Task records with Type='phonecall' or 'email'. Meetings map to Event records with original start/end times and duration preserved. Parent record links (regarding) map to the RegardingObjectId lookup in Dynamics 365, ensuring continuous activity tracking across the CRM.
Perfect Books
Note
Microsoft Dynamics 365 Sales
Annotation
1:1Perfect Books notes migrate as Dynamics 365 Annotations. We detect rich-text formatting and convert HTML note bodies to the Annotation entity's notetext field. Inline images in notes are downloaded, rehosted in SharePoint, and replaced with file links in Dynamics 365.
Perfect Books
Attachment
Microsoft Dynamics 365 Sales
SharePoint Document Location
1:1File attachments on records re-upload to SharePoint document libraries attached to the corresponding Dynamics 365 record. File size limits apply: Dynamics 365 default caps individual uploads at 32MB; files larger than this are chunked and re-assembled in SharePoint, to support compliance and audit requirements.
Perfect Books
Custom Field (any entity)
Microsoft Dynamics 365 Sales
Custom Field (new_ prefix)
1:1Every Perfect Books custom field requires a corresponding new_customfield field in Dynamics 365. Field data type mapping follows Dataverse conventions: text fields become nvarchar, numbers become integer or decimal, dates become datetimeoffset. We create all custom fields in Dynamics 365 before the migration run.
Perfect Books
User / Owner
Microsoft Dynamics 365 Sales
SystemUser
1:1Perfect Books owner records resolve to Dynamics 365 SystemUser by email address match. Unmatched owners are flagged with a migration warning — you either invite them to Dynamics 365 before migration or assign their records to a fallback owner. No record lands without a valid OwnerId.
| Perfect Books | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Lead | Lead1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | Business Process Flow1:1 | Fully supported | |
| Pipeline Stage | ProcessStage1:1 | Fully supported | |
| Custom Object | Custom Table (Dataverse)1:1 | Fully supported | |
| Activity (Call, Email, Meeting) | Task / Event1:1 | Fully supported | |
| Note | Annotation1:1 | Fully supported | |
| Attachment | SharePoint Document Location1:1 | Fully supported | |
| Custom Field (any entity) | Custom Field (new_ prefix)1:1 | Fully supported | |
| User / Owner | SystemUser1: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.
Perfect Books gotchas
Catalog website (perfectbooks.ca) is an Ottawa bookstore, not the Perfect Books legal accounting software
Three different software products carry similar branding
Trust account reconciliation conventions differ from non-legal accounting destinations
Time entry import requires rate-table reconciliation
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
Pre-migration schema audit and Dynamics 365 setup
We extract the Perfect Books data model — all standard entities, custom objects, and custom fields — and produce a Dynamics 365 field creation manifest. You or your admin create the new_ prefixed custom fields and any required Business Process Flows in Dynamics 365 before data moves. We validate the target schema is complete before triggering the migration run. The audit also includes field-level validation and relationship integrity checks.
User and owner resolution by email match
Perfect Books owner records are resolved to Dynamics 365 SystemUser entries by matching email addresses against your Microsoft 365 tenant. We generate a resolution report: matched owners are mapped automatically, unmatched owners are flagged as warnings, and you decide whether to invite them to Dynamics 365 or assign their records to a fallback owner before migration commits. This ensures accurate audit trails for every record.
Migration sequencing: Accounts, then Contacts/Leads, then Opportunities
Dynamics 365 requires foreign keys to resolve in order: Account records must exist before Contact.AccountId can populate, and Contact records must exist before Opportunity.ContactId can link. We sequence the migration as three discrete phases — all Accounts first, then all Contacts/Leads split by Perfect Books status, then all Opportunities with stage and Business Process Flow mapping — so no record lands with a broken lookup.
Sample migration with field-level diff
We migrate a representative slice (typically 100–500 records spanning all entity types) before the full run. The field-level diff report shows source value versus destination value for every mapped field, so you can verify custom field mapping, stage routing, and owner resolution before committing the full dataset. This verification step also validates data type consistency and checks for any missing required fields before final load.
Full migration run with delta-pickup window
The full migration commits records to Dynamics 365. A delta-pickup window (24–48 hours post-cutover) captures any Perfect Books records modified during the migration run. All operations are logged in an audit trail. One-click rollback reverts the Dynamics 365 environment to the pre-migration state if reconciliation fails. All changes are recorded in a detailed activity log, enabling thorough post-migration analysis and compliance reporting.
Platform deep dives
Perfect Books
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Perfect Books and Microsoft Dynamics 365 Sales .
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
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
Perfect Books: Not publicly documented.
Data volume sensitivity
Perfect Books 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 Perfect Books to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Perfect Books 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 Perfect Books
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.