CRM migration

Migrate from Perfect Books to Microsoft Dynamics 365 Sales

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 logo

Perfect Books

Source

Microsoft Dynamics 365 Sales

Destination

Microsoft Dynamics 365 Sales  logo

Compatibility

100%

12 of 12

objects map 1:1 between Perfect Books and Microsoft Dynamics 365 Sales .

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Perfect Books logo

Perfect Books

What's pushing teams away

  • Multiple unrelated entities share the 'Perfect Books' name — confusion with Perfect Books bookstore (Ottawa), Perfect Practice (US legal), and Perfect Law (US legal) creates friction in vendor discovery and procurement.
  • Limited public review footprint — minimal G2/Capterra reviews and a Capterra Canada page that 404s make independent benchmarking difficult.
  • Pricing is not published publicly — every prospect must engage UK sales, slowing comparison against transparent SaaS legal-accounting alternatives.
  • Small market footprint relative to Clio, MyCase, and PracticePanther limits the developer ecosystem, third-party plugins, and community knowledge base.
  • Concentrated UK-region focus reduces fit for non-UK firms needing local tax regimes, currencies, or compliance workflows outside the platform's design assumptions.

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

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

maps to

Microsoft Dynamics 365 Sales

Contact

1:1
Fully supported

Direct 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

maps to

Microsoft Dynamics 365 Sales

Lead

1:1
Fully supported

Direct 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

maps to

Microsoft Dynamics 365 Sales

Account

1:1
Fully supported

Direct 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

maps to

Microsoft Dynamics 365 Sales

Opportunity

1:1
Fully supported

Direct 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

maps to

Microsoft Dynamics 365 Sales

Business Process Flow

1:1
Fully supported

Perfect 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

maps to

Microsoft Dynamics 365 Sales

ProcessStage

1:1
Fully supported

Stage 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

maps to

Microsoft Dynamics 365 Sales

Custom Table (Dataverse)

1:1
Fully supported

Perfect 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)

maps to

Microsoft Dynamics 365 Sales

Task / Event

1:1
Fully supported

Phone 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

maps to

Microsoft Dynamics 365 Sales

Annotation

1:1
Fully supported

Perfect 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

maps to

Microsoft Dynamics 365 Sales

SharePoint Document Location

1:1
Fully supported

File 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)

maps to

Microsoft Dynamics 365 Sales

Custom Field (new_ prefix)

1:1
Fully supported

Every 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

maps to

Microsoft Dynamics 365 Sales

SystemUser

1:1
Fully supported

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

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.

Perfect Books logo

Perfect Books gotchas

High

Catalog website (perfectbooks.ca) is an Ottawa bookstore, not the Perfect Books legal accounting software

High

Three different software products carry similar branding

Medium

Trust account reconciliation conventions differ from non-legal accounting destinations

Medium

Time entry import requires rate-table reconciliation

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

  • Dynamics 365 Sales Professional caps custom tables at 15

    Dynamics 365 Sales Professional enforces a hard limit of 15 custom tables on Dataverse. If your Perfect Books setup uses more than 15 custom objects, you cannot migrate them all under the Professional license — you must either upgrade to Enterprise (unlimited custom tables), consolidate custom objects before migration, or accept that some Perfect Books custom objects will need a post-migration rebuild using Power Apps. We flag the custom object count in the pre-migration schema audit and flag this constraint before migration begins.

  • Workflows and automation rules do not migrate and must be rebuilt

    Perfect Books workflow definitions, assignment rules, and email triggers live in the application layer and have no export path to Dynamics 365. Power Automate is the replacement for these capabilities in the Microsoft ecosystem, but it requires a separate design and build effort. We export your Perfect Books workflow definitions as a structured JSON document with trigger/action summaries so your Power Automate builder can reference them during rebuild. This is not optional — your operational processes will not continue automatically after cutover without this step.

  • Lead/contact split in Dynamics 365 requires Perfect Books routing decision

    Perfect Books frequently stores leads and contacts in a single entity with a status flag distinguishing them. Dynamics 365 enforces separate Lead and Contact tables, with a Lead-to-Contact conversion flow that creates both an Account and a Contact when a lead is qualified. We split the unified Perfect Books entity at migration time based on the status flag: active prospects with no closed-won record become Leads; historical customers and evangelists become Contacts. This routing decision must be made before migration and is documented in the pre-migration plan.

  • SharePoint integration must be configured before attachment migration

    Dynamics 365 stores file attachments as SharePoint documents, not as inline blobs. If SharePoint integration is not enabled and a document library is not configured per record type before migration, file attachments from Perfect Books cannot land correctly. We configure the SharePoint document location structure as part of the pre-migration setup. Attachments migrate after SharePoint is confirmed active in your Dynamics 365 environment. Ensuring uninterrupted data flow and compliance throughout the transition.

  • Custom field naming convention requires manual field creation in Dynamics 365

    Perfect Books custom fields use pb_ prefixed names or snake_case internally. Dynamics 365 custom fields follow the new_fieldname schema naming convention. There is no automatic rename utility — each custom field must be manually created in the Dynamics 365 solution before the migration run. We provide a complete field creation manifest (name, data type, option-set values, required/optional) as part of the pre-migration package. Skipping this step causes the migration to skip those fields silently.

Migration approach

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

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

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

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

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

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

Context on both ends of the pair

Perfect Books logo

Perfect Books

Source

Strengths

  • Legal-vertical specialism with time recording, billing, and trust accounting designed for law firm workflows.
  • Remote/hybrid-friendly access for distributed practice staff and external bookkeepers.
  • Companion Perfect Case product provides integrated case management plus accounting from a single vendor.
  • Established UK legal market presence with domain familiarity for established firms.
  • Time recording built into the core platform without separate add-on cost.

Weaknesses

  • Name confusion with multiple unrelated Perfect-branded products complicates procurement and vendor discovery.
  • Limited public review presence on G2 and Capterra makes vendor due diligence harder.
  • Pricing is not publicly published; every quote requires UK sales engagement.
  • Smaller market footprint than Clio, MyCase, and PracticePanther limits third-party integrations and community support.
  • UK-region focus reduces fit for firms outside the UK with different tax, trust-account, and compliance requirements.
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. 1 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 Perfect Books and Microsoft Dynamics 365 Sales .

  • Object compatibility

    B

    1 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

    Perfect Books: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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 consultation

Most Perfect Books to Dynamics 365 Sales migrations complete in 48–72 hours of clock time for under 50,000 records. Larger datasets with 500,000+ records or more than 20 custom objects extend to 5–7 days. The pre-migration schema audit — specifically creating new_ custom fields and Business Process Flows in Dynamics 365 — is the longest planning step and runs in parallel before migration begins.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Perfect Books.
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