CRM migration
Field-level mapping, validation, and rollback between Practice by Numbers and Nutshell. We move data and schema; workflows are rebuilt natively in Nutshell.
Practice by Numbers
Source
Nutshell
Destination
Compatibility
10 of 11
objects map 1:1 between Practice by Numbers and Nutshell.
Complexity
BStandard
Timeline
48–72 hours of clock time
Overview
Practice by Numbers (PbN) is a dental-practice management platform centered on patients, providers, appointments, treatments, and KPI analytics. Nutshell is a general-purpose CRM that organizes data into People, Companies, Leads, Deals, and Activities with an open API and CSV import tooling. There is no published PbN API — migration runs through CSV exports parsed by FlitStack AI, mapped to Nutshell's object model field-by-field. We map PbN patient records to Nutshell People (individual contacts) and Companies (the practice itself). Appointment records become Nutshell Deals, with the appointment date as the Nutshell close date and the provider as the deal owner. Treatment histories become Nutshell Tasks or Notes attached to the patient record. Custom fields capture PbN patient IDs, treatment types, appointment statuses, and dental KPIs that have no native Nutshell equivalent. Because PbN does not expose an API, all data flows through CSV extracts — we validate completeness and flag duplicates before writing to Nutshell. A 24–48 hour delta window captures any records created or modified in PbN during the cutover window. Analytics exports (treatment acceptance rates, per-provider production numbers, goal tracking) are preserved as custom notes labeled Legacy PbN Analytics and referenced post-migration for reporting rebuilds. We do not migrate automations, scheduled sequences, reporting dashboards, or third-party integrations — those are destination-side features that require rebuild using Nutshell's workflow builder and reporting tools.
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.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Practice by Numbers object lands in Nutshell, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Practice by Numbers
Patient Record
Nutshell
People
1:1PbN patient records map directly to Nutshell People. Every patient name, email, phone, and address field has a corresponding Nutshell People field. The patient's PbN record ID is stored as a custom field for traceability and duplicate detection in future delta runs.
Practice by Numbers
Patient Phone Number
Nutshell
People > phone
1:1Primary phone number on the PbN patient record maps to the Nutshell People phone field. Additional phone numbers such as cell phone and emergency contact map to Nutshell People custom text fields because Nutshell's standard schema supports only one primary phone number. These supplementary contact numbers are preserved in dedicated custom fields labeled clearly (Mobile_Phone__c, Emergency_Contact_Phone__c) to distinguish them from the primary contact line.
Practice by Numbers
Practice / Clinic Record
Nutshell
Company
1:1For multi-location dental groups, each PbN practice location becomes a separate Nutshell Company record. The practice name, address, phone, and specialty fields map directly to their Nutshell Company counterparts. Single-location practices may skip this object if all patient records are managed under one clinic. When multiple locations are mapped, each Company record links to its associated patient People records, enabling location-based filtering in pipeline views and reports.
Practice by Numbers
Appointment / Scheduled Visit
Nutshell
Deal
1:1Each scheduled or historical appointment in PbN becomes a Nutshell Deal. The appointment date maps to the Nutshell Deal close date. The appointment status (Completed, No Show, Cancelled) becomes a custom pick-list field and also maps to the Nutshell Deal stage. Patient name is stored as a custom field on the Deal because Nutshell Deals are organization-centric rather than person-centric by default.
Practice by Numbers
Appointment Status
Nutshell
Deal > Stage + Custom Field
1:1PbN appointment statuses (Scheduled, In Treatment, Completed, No Show, Cancelled, Rescheduled) map to Nutshell Deal stage values through explicit value-by-value mapping. Each status gets assigned a corresponding Nutshell stage or closed state. The original PbN status label is preserved as a custom field on the Deal for audit purposes.
Practice by Numbers
Treatment / Procedure Record
Nutshell
Task or Note on People
1:1Treatment records (procedure code, tooth number, materials used, provider notes) migrate as Nutshell Tasks attached to the patient People record with Task Type = 'Treatment Record' and the original PbN treatment date as the task due date. This preserves the chronological treatment timeline within the patient's Nutshell activity feed.
Practice by Numbers
Provider / Doctor Record
Nutshell
People + User Match
1:1PbN provider records map to Nutshell People records with a separate matching step: the provider's email address is matched against Nutshell user accounts by email to assign OwnerId on migrated Deals and Tasks. Unmatched providers are flagged before migration so the team either creates a Nutshell user or reassigns records to a fallback owner.
Practice by Numbers
Dental KPI / Analytics Data
Nutshell
Note on People + Custom Fields
1:1PbN analytics (treatment acceptance rate, revenue per provider, goal attainment, patient growth rate) have no native Nutshell equivalent. These values are preserved as Note records labeled 'Legacy PbN Analytics' on each patient record, and key metrics are also stored as Nutshell custom number fields for reference. Reporting dashboards must be rebuilt in Nutshell using exported PbN data as a static source.
Practice by Numbers
Patient Insurance Carrier
Nutshell
People > Custom Field
1:1PbN insurance carrier and policy details map to Nutshell People custom text fields because Nutshell has no native insurance or benefits object. Before migration, we create Carrier_Name__c, Policy_Number__c, and Insurance_Type__c fields on the People object. Each patient's insurance information transfers into the corresponding custom fields, preserving carrier name, policy number, group number, and coverage type for reference in patient records.
Practice by Numbers
Referral Source
Nutshell
People > Custom Field
1:1PbN referral source data (referring dentist, marketing channel, patient referral) becomes Nutshell People custom pick-list fields. We create Referring_Dentist__c and Referral_Source__c fields on the People object. Existing pick-list values in PbN are mapped value-by-value; new values can be added in Nutshell after migration.
Practice by Numbers
Online Booking / Appointment Request
Nutshell
Lead
1:manyPbN records new patient inquiries and appointment requests that have not yet converted to confirmed appointments. These map to Nutshell Leads with the inquiry date as the Lead create date and the requested appointment type as a custom field. Once the appointment is confirmed, the Lead converts to a Person record and a corresponding Deal.
| Practice by Numbers | Nutshell | Compatibility | |
|---|---|---|---|
| Patient Record | People1:1 | Fully supported | |
| Patient Phone Number | People > phone1:1 | Fully supported | |
| Practice / Clinic Record | Company1:1 | Fully supported | |
| Appointment / Scheduled Visit | Deal1:1 | Fully supported | |
| Appointment Status | Deal > Stage + Custom Field1:1 | Fully supported | |
| Treatment / Procedure Record | Task or Note on People1:1 | Fully supported | |
| Provider / Doctor Record | People + User Match1:1 | Fully supported | |
| Dental KPI / Analytics Data | Note on People + Custom Fields1:1 | Fully supported | |
| Patient Insurance Carrier | People > Custom Field1:1 | Fully supported | |
| Referral Source | People > Custom Field1:1 | Fully supported | |
| Online Booking / Appointment Request | Lead1:many | 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.
Practice by Numbers gotchas
No publicly documented API for automated migration
Dental EHR data is inherently messy during extraction
Goal management metrics require explicit field mapping
Nutshell gotchas
Contact tier limits enforced on import
No bulk API endpoint requires paginated extraction
Email sequences not exportable via API
Foundation plan disables key sales features
Pair-specific challenges
Migration approach
Audit PbN export templates and map fields to Nutshell schema
FlitStack AI reviews every available PbN report and CSV export template accessible under your account. We identify which PbN fields map directly to Nutshell People, Company, Deal, and Task objects, which require custom fields, and which have no Nutshell equivalent. We deliver a written field-mapping plan showing each source field, destination field, mapping type, and any custom field to be created in Nutshell before migration. You approve or adjust the plan before any data is moved.
Create Nutshell custom fields and configure People, Company, and Deal structure
FlitStack AI creates all required custom fields in Nutshell — pbn_patient_id__c, referral_source__c, insurance_carrier__c, treatment_acceptance__c, procedure_code__c, and all other identified custom fields on the People, Company, Deal, and Task objects. We also configure Nutshell Deal stages to match your PbN appointment statuses, set up pipeline views, and configure the user-owner mapping for provider records. This step runs in your Nutshell sandbox or production account under admin credentials you provide.
Run sample migration with field-level diff and owner-resolution validation
A representative sample of 100–300 patient records, their associated appointments, treatment records, and provider assignments migrates to Nutshell. FlitStack AI generates a field-level diff comparing each PbN source value to the corresponding Nutshell destination value. Owner resolution is validated — matched and unmatched providers are reported. You review the sample in Nutshell, confirm field mapping accuracy, and approve adjustments before the full migration is scheduled.
Execute full migration with delta-pickup window and live audit log
The full migration runs: all patient records → Nutshell People, all appointment records → Nutshell Deals, all treatment records → Nutshell Tasks, and all provider records → Nutshell People with owner resolution. A 24–48 hour delta-pickup window opens at the start of the migration — any PbN records created or modified during the cutover are captured and written after the main run. FlitStack AI maintains a live audit log of every record written, updated, or skipped, with reasons for any failures. You receive a migration summary report at completion.
Validate record counts, post-migration reporting setup, and rollback planning
FlitStack AI reconciles record counts between PbN source exports and Nutshell destination records — patients, appointments, treatments, and providers are each verified against source totals. Known discrepancies (cancelled appointments excluded by scope, provider records without email matches) are documented. We provide a written post-migration checklist for rebuilding PbN analytics in Nutshell's reporting module and re-establishing any third-party integrations. One-click rollback remains available for 48 hours after go-live if critical reconciliation failures surface.
Platform deep dives
Practice by Numbers
Source
Strengths
Weaknesses
Nutshell
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 Practice by Numbers and Nutshell.
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
Practice by Numbers: Not publicly documented.
Data volume sensitivity
Practice by Numbers 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 Practice by Numbers to Nutshell migration scoping. Not seeing yours? Book a call.
Walk through your Practice by Numbers to Nutshell migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Practice by Numbers
Other ways to arrive at Nutshell
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.