CRM migration
Field-level mapping, validation, and rollback between Pearl Dental Software and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Pearl Dental Software
Source
Salesforce Sales Cloud
Destination
Compatibility
11 of 12
objects map 1:1 between Pearl Dental Software and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours
Overview
Pearl Dental Software is a UK-based dental practice management system organized around patients, appointments, treatment plans, clinical charting, and billing. Salesforce Sales Cloud is a general-purpose CRM built on Accounts, Contacts, Leads, Opportunities, Tasks, and Events. The migration challenge is significant because Pearl's data model — organized around clinical workflows, provider schedules, and insurance claims — has no native equivalent in Salesforce's sales-focused schema. We map patients to Accounts (with Contact records for guarantors and dependents), treatment plans to custom Treatment_Plan__c objects linked via lookup relationships, appointments to Tasks or Events with custom Type and Subtype fields, and clinical notes to Salesforce Notes with parent-record links. Insurance carrier data, treatment codes, and provider assignments migrate as custom fields on Account or custom objects. Pearl's document storage (X-rays, images, PDFs) re-uploads to Salesforce Files. We do not migrate Pearl's clinical automation rules or appointment-reminder sequences — those are dental-practice-specific workflows that have no Salesforce equivalent and must be rebuilt using Salesforce Flow or third-party tools. Our migration engine uses Pearl's export API to pull structured records, transforms them against the mapping plan, and upserts into Salesforce via REST/Bulk API with External ID dedup logic.
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 Pearl Dental Software object lands in Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Pearl Dental Software
Patient
Salesforce Sales Cloud
Account + Contact
1:manyPearl patients are split into two Salesforce records: the guarantor or responsible party becomes an Account (with custom Patient_Type__c = 'Guarantor'), and any dependents or family members become Contact records linked via AccountId. The Pearl PatientGUID migrates as Source_System_ID__c on both records for traceability.
Pearl Dental Software
Patient Address / Contact Details
Salesforce Sales Cloud
Account.BillingAddress / Contact.MailingAddress
1:1Pearl stores patient addresses and phone numbers as properties on the patient record. These map to Account.BillingAddress for the primary location and Contact.MailingAddress for individual delivery addresses that may differ from the household. Email addresses map to Contact.Email. Multiple phone numbers (landline, mobile, emergency contact) are distributed across standard Phone and MobilePhone fields and custom fields such as Home_Phone__c and Emergency_Contact_Phone__c to preserve all contact channels available in Pearl.
Pearl Dental Software
Medical History
Salesforce Sales Cloud
Custom Object: Patient_Medical_History__c
1:1Pearl's medical history (conditions, allergies, medications, blood pressure, smoking status) has no Salesforce standard equivalent. We create a Patient_Medical_History__c custom object linked to Account via lookup, with custom fields for each medical-history section. Allergies stored as a multi-select picklist; medications as a text area or related list.
Pearl Dental Software
Treatment Plan
Salesforce Sales Cloud
Custom Object: Treatment_Plan__c + Treatment_Plan_Line__c
1:1Pearl treatment plans contain procedure codes (UDAs/CDS codes), fees, provider assignment, tooth/surface references, and status. We map these as Treatment_Plan__c (plan-level: patient link, date, status, total fee) with child Treatment_Plan_Line__c records (procedure code, tooth number, surface, fee, provider). Tooth numbers stored as custom fields using FDI notation or custom tooth-chart mapping.
Pearl Dental Software
Appointment / Diary Entry
Salesforce Sales Cloud
Event (for scheduled) / Task (for to-do items)
1:1Pearl diary entries (appointment type, date/time, duration, provider, surgery/room, status) map to Salesforce Events for scheduled clinical visits, with custom Type field (Examination, Hygiene, Restorative, etc.) and custom Subtype for chair assignment. Cancellation, no-show, and recall events map to Tasks with ActivityDate and custom Status reason fields.
Pearl Dental Software
Provider / Staff
Salesforce Sales Cloud
User + Contact (for external providers)
1:1Pearl provider records (dentists, hygienists, receptionists) map to Salesforce Users matched by email. GDC numbers, clinical qualifications, and working-hours patterns migrate as custom fields on User (GDC_Number__c, Clinical_Role__c). External providers without Salesforce login become Contact records with Is_External_Provider__c = true.
Pearl Dental Software
Insurance / NHS Details
Salesforce Sales Cloud
Account (Insurance_Carrier__c, Policy_Number__c) / Custom Object
1:1Pearl stores insurance company name, policy number, coverage percentages, and NHS/Private designation. These map to custom fields on Account including Insurance_Carrier__c, NHS_Patient__c, Policy_Number__c, and Coverage_Percentage__c. For practices with NHS contracts, a separate NHS_Contract__c custom object may be warranted to store contract-level details such as contract number, UDA targets, UDA delivered amounts, and contract expiration dates.
Pearl Dental Software
Clinical Note / Chart Entry
Salesforce Sales Cloud
Note / ContentNote
1:1Pearl clinical notes (perio charting, existing restorations, treatment notes) map to Salesforce Notes or ContentNotes with Title = 'Clinical Note - [Date]', Body = note content, and ParentId pointing to the Account. For structured charting data, a custom Clinical_Chart__c object is more appropriate.
Pearl Dental Software
Document / Attachment
Salesforce Sales Cloud
ContentDocument / ContentVersion
1:1Pearl file attachments (patient documents, X-rays, consent forms, referral letters) re-upload to Salesforce Files. Each file becomes a ContentVersion linked to the patient Account via ContentDocumentLink. Note that Salesforce file size limit is 25MB per file; large radiograph files exceeding this limit are flagged for external storage or chunking.
Pearl Dental Software
Recall / Follow-up
Salesforce Sales Cloud
Task + Custom Field (Recall_Date__c, Recall_Type__c)
1:1Pearl recall intervals (6-month hygiene, 12-month examination) map to Salesforce Tasks with ActivityDate set to the recall due date. Custom fields capture the recall type (Hygiene, Examination, Check-up) and completion status. Each Task is linked to the patient Account via WhatId and assigned to the responsible provider User as the Task owner. Historical recall patterns migrate as completed Tasks, while future recalls create open Tasks awaiting completion.
Pearl Dental Software
Invoice / Payment Record
Salesforce Sales Cloud
Opportunity (for monetary tracking) + Custom Fields
1:1Pearl invoices and payment records track fees, NHS/Private splits, and payment method. We map invoice totals to Opportunity.Amount with StageName = 'Closed Won' for completed payments. Invoice number, payment date, and payment method stored as custom fields on the Opportunity. Outstanding balances require a separate custom Outstanding_Balance__c field or a custom Invoice__c object.
Pearl Dental Software
Practice / Surgery Location
Salesforce Sales Cloud
Account (with custom Location fields)
1:1For multi-surgery Pearl setups, each physical surgery location becomes a separate Salesforce Account with custom fields capturing location-specific details: Surgery_Number__c for internal reference, Room_Count__c for capacity planning, and Operating_Hours__c for scheduling context. Each patient Account is linked to the appropriate surgery location via a custom Referring_Location__c lookup field, establishing the relationship between patients and their registered practice location.
| Pearl Dental Software | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Patient | Account + Contact1:many | Fully supported | |
| Patient Address / Contact Details | Account.BillingAddress / Contact.MailingAddress1:1 | Fully supported | |
| Medical History | Custom Object: Patient_Medical_History__c1:1 | Fully supported | |
| Treatment Plan | Custom Object: Treatment_Plan__c + Treatment_Plan_Line__c1:1 | Fully supported | |
| Appointment / Diary Entry | Event (for scheduled) / Task (for to-do items)1:1 | Fully supported | |
| Provider / Staff | User + Contact (for external providers)1:1 | Fully supported | |
| Insurance / NHS Details | Account (Insurance_Carrier__c, Policy_Number__c) / Custom Object1:1 | Fully supported | |
| Clinical Note / Chart Entry | Note / ContentNote1:1 | Fully supported | |
| Document / Attachment | ContentDocument / ContentVersion1:1 | Fully supported | |
| Recall / Follow-up | Task + Custom Field (Recall_Date__c, Recall_Type__c)1:1 | Fully supported | |
| Invoice / Payment Record | Opportunity (for monetary tracking) + Custom Fields1:1 | Fully supported | |
| Practice / Surgery Location | Account (with custom Location fields)1: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.
Pearl Dental Software gotchas
No public API means migration is file-based, not API-based
Charges per surgery, not per user — capacity planning matters
X-ray and image files require separate handling from demographic data
Custom fields and legacy data variants need explicit review
Onboarding is required and charged separately
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Audit Pearl data export and design Salesforce schema
We connect to Pearl using scoped read access to enumerate all patient records, treatment plans, appointments, providers, and attachments. We audit data volume, identify duplicate records, flag oversized files, and assess the completeness of NHS/insurance fields. Using this audit, we deliver a Salesforce schema design document: Account-Contact hierarchy for patients, custom Treatment_Plan__c and Treatment_Plan_Line__c object definitions, NHS field specifications, and provider mapping to Salesforce Users. Your Salesforce admin creates the custom objects and fields before data moves.
Map patient records and resolve provider-to-User relationships
We extract all Pearl patients and generate the Account-Contact split according to the hierarchy design. Guarantor patients become Accounts; dependents become Contacts linked via AccountId. Provider records resolve by email match against Salesforce Users — matched providers receive the migrated data directly; unmatched providers are flagged for your admin to create Salesforce Users first or assign to a fallback provider. The mapping engine applies External IDs for dedup, ensuring delta runs can re-sync without creating duplicates.
Migrate treatment plans, appointments, and clinical notes
Treatment plans extract as parent-child relationships: Treatment_Plan__c records linked to the patient Account, with Treatment_Plan_Line__c records for each procedure line (tooth number, surface, fee, provider). Pearl appointments convert to Salesforce Events with custom Type and Subtype fields; cancellations and recalls convert to Tasks with Recall_Type__c. Clinical notes extract as Salesforce Notes with ParentId pointing to the patient Account. All original Pearl timestamps (create date, appointment date, plan date) are preserved in custom datetime fields since Salesforce CreatedDate and Event StartDateTime are set at migration time.
Run sample migration with field-level diff
A representative slice of 100–500 records migrates first — typically 20–50 patients spanning different registration dates, a mix of NHS and private, a handful of multi-line treatment plans, and appointments across two providers. We generate a field-level diff comparing Pearl source values against Salesforce destination values so you can verify tooth-number notation, NHS number mapping, provider assignment, and recall Task creation before the full run commits. Any mapping adjustments are made before the final migration.
Execute full migration with delta-pickup and rollback plan
Full migration runs against your Salesforce production org. A delta-pickup window (24–48 hours) captures any Pearl records modified during the cutover — new patients registered, appointments added, treatment plans updated. All operations are logged to an audit trail CSV. One-click rollback reverts Salesforce to pre-migration state if reconciliation fails. After go-live, we run a final reconciliation report comparing Pearl record counts and key totals (treatment plan fees, appointment counts by provider) against Salesforce aggregates.
Platform deep dives
Pearl Dental Software
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 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 Pearl Dental Software and Salesforce Sales Cloud.
Object compatibility
2 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
Pearl Dental Software: Not publicly documented.
Data volume sensitivity
Pearl Dental Software 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 Pearl Dental Software to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Pearl Dental Software to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Pearl Dental Software
Other ways to arrive at Salesforce Sales Cloud
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.