CRM migration
Field-level mapping, validation, and rollback between tab32 and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
tab32
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
13 of 15
objects map 1:1 between tab32 and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2–4 weeks
Overview
tab32 stores dental practice data: patients with clinical charting, tooth-level procedure records, CDT codes, treatment plans, appointments, provider schedules, billing claims, and insurance information. Microsoft Dynamics 365 Sales stores Accounts, Contacts, Leads, Opportunities, Activities, and Products — a fundamentally different data model. We migrate patient demographics to Contacts (and Locations to Accounts), appointments to Tasks, CDT codes to Products, and treatment plans to Opportunities with line items. Tooth charting, perio probing depths, imaging, and clinical notes have no Dynamics 365 equivalent — we surface these as custom table records or exports so your team can decide whether to preserve them in an external document store. Our migration uses the tab32 API for extraction and Dynamics 365 Web API for ingestion, with email-based owner resolution against your Dynamics 365 user list. We run a sample migration first, generate a field-level diff, then execute the full load with a delta-pickup window for in-flight changes.
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
tab32 platform overview
Scorecard, SWOT, gotchas, and pricing for tab32.
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 tab32 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.
tab32
Patient
Microsoft Dynamics 365 Sales
Contact
1:1Patient record maps directly to Contact. The tab32 Patient includes demographics, contact info, insurance, and clinical history. We extract demographics and contact info into Contact fields; clinical history becomes a custom dental examination table or JSON blob in a custom column for reference.
tab32
Patient
Microsoft Dynamics 365 Sales
Lead
1:manyPatients who have not yet been seen (inactive or prospective patient records in tab32) can route to Dynamics 365 Lead. Active patients with treatment history route to Contact. We use the patient status field in tab32 to determine the split; inactive status means Lead, active status means Contact.
tab32
Practice / Location
Microsoft Dynamics 365 Sales
Account
1:1tab32 practice/location records map to Account in Dynamics 365. Practice name becomes Account Name, address maps to address1 fields, phone to telephone1. Multi-location DSOs produce multiple Account records. Dynamics Account hierarchy (Parent Account) can represent DSO structure if tab32 has a parent-company field.
tab32
Appointment
Microsoft Dynamics 365 Sales
Task / Appointment
1:1tab32 appointments become CRM Activities. We map appointment date/time to Task ScheduledStart/ScheduledEnd or Appointment Start/End Time. Provider resolves by email match to Dynamics 365 SystemUser. Appointment type becomes Task Subject. Clinical context (procedure codes, operatory) requires custom fields on the Task record.
tab32
Treatment Plan
Microsoft Dynamics 365 Sales
Opportunity
1:1Treatment plans map to Opportunities in Dynamics 365. The treatment description becomes Opportunity Name or Description. Total treatment cost maps to Estimated Revenue. Status maps to Opportunity Stage (Proposed, In Progress, Won, Lost). Each treatment plan line item (CDT codes with fees) becomes an Opportunity Product.
tab32
CDT Code / Procedure
Microsoft Dynamics 365 Sales
Product
1:1CDT (Current Dental Terminology) codes are industry-standard dental procedure identifiers. We map the CDT code to Product Number (or a custom cdt_code__c field), the description to Product Name, and the fee schedule amount to Price (per Price List). Products are linked to Opportunity records via Opportunity Product line items.
tab32
Tooth Charting
Microsoft Dynamics 365 Sales
Custom Table (Dental_Chart__c)
1:1Tooth charting records — which track surface conditions per tooth using FDI or Universal numbering — have no Dynamics 365 Sales equivalent. We create a custom Dental_Chart__c table in Dataverse keyed to the Contact (patient). Each tooth surface condition (M, O, D, B, F, etc.) maps to custom columns. Sales Professional users are capped at 15 tables; this may require Sales Enterprise.
tab32
Perio Exam
Microsoft Dynamics 365 Sales
Custom Table (Perio_Exam__c)
1:1Periodontal examination records (pocket depths, gingival recession, mobility, furcation) have no CRM equivalent. We create a custom Perio_Exam__c table with per-tooth measurements linked to the Contact record. Date of exam and provider are preserved as standard fields; pocket depth values per tooth use custom decimal columns.
tab32
Provider / Doctor
Microsoft Dynamics 365 Sales
SystemUser / Contact
1:1tab32 provider records represent clinical staff (dentists, hygienists, assistants). We map them to Dynamics 365 SystemUser (if they are CRM users) by email match, or to Contact if they are not system users. Provider specialty and license numbers migrate as custom fields on the SystemUser or Contact record.
tab32
Insurance Carrier
Microsoft Dynamics 365 Sales
Account
1:1Insurance carriers from tab32 patient records can be consolidated into Account records with a custom Account Type = 'Insurance Carrier'. Alternatively, we extract unique carriers into a custom Insurance_Carrier__c table. Carrier addresses and contact info map to standard Account address and phone fields.
tab32
Claim / Billing Record
Microsoft Dynamics 365 Sales
Invoice / Custom Table (Claim__c)
1:manyDental claims have a complex lifecycle (submitted, pending, paid, denied) that Dynamics 365 Invoice does not model. We map paid amounts to Invoice for financial tracking. Claim status, carrier response, and adjustment codes go to a custom Claim__c table linked to the Contact (patient) and the treatment plan Opportunity.
tab32
Fee Schedule
Microsoft Dynamics 365 Sales
Price List / Product
1:1tab32 fee schedules are per-practice or per-specialty fee tables. We map these to Dynamics 365 Price Lists attached to Products (CDT codes). Multi-location DSOs with different fee schedules per practice require multiple Price Lists, each linked to the corresponding Account (practice location) or to a custom pricing structure.
tab32
Imaging / Attachment
Microsoft Dynamics 365 Sales
Note / Attachment
1:1tab32 stores intraoral images, X-rays, and documents attached to patient records. We re-upload these to Dynamics 365 as Notes with file attachments. Original file names and upload dates are preserved. Large imaging files may exceed Dynamics 365 default file size limits (25MB per file) — we flag oversized files before migration.
tab32
Patient Communication
Microsoft Dynamics 365 Sales
Email / Task (Activity)
1:1tab32 two-way texting and email logs migrate as CRM Activities. Emails become Email activities (Activity Type = 'Email') with the original timestamp and content preserved as the Description field. Text messages migrate as custom Activity records or as Notes if the Dynamics version supports SMS logging natively.
tab32
Open Data Warehouse
Microsoft Dynamics 365 Sales
Dataverse / Power BI
1:1tab32 offers Open Data Warehousing as a BI layer on top of their platform — a significant differentiator for DSOs using analytics. Dynamics 365 has Dataverse as its data layer and Power BI for reporting. We do not migrate the warehouse itself; BI/reporting must be rebuilt in Power BI using Dataverse as the source.
| tab32 | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient | Lead1:many | Fully supported | |
| Practice / Location | Account1:1 | Fully supported | |
| Appointment | Task / Appointment1:1 | Fully supported | |
| Treatment Plan | Opportunity1:1 | Fully supported | |
| CDT Code / Procedure | Product1:1 | Fully supported | |
| Tooth Charting | Custom Table (Dental_Chart__c)1:1 | Fully supported | |
| Perio Exam | Custom Table (Perio_Exam__c)1:1 | Fully supported | |
| Provider / Doctor | SystemUser / Contact1:1 | Fully supported | |
| Insurance Carrier | Account1:1 | Fully supported | |
| Claim / Billing Record | Invoice / Custom Table (Claim__c)1:many | Fully supported | |
| Fee Schedule | Price List / Product1:1 | Fully supported | |
| Imaging / Attachment | Note / Attachment1:1 | Fully supported | |
| Patient Communication | Email / Task (Activity)1:1 | Fully supported | |
| Open Data Warehouse | Dataverse / Power BI1: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.
tab32 gotchas
Data quality inheritance blocks clean migration
DSO multi-location structure requires explicit office mapping
Imaging data lives outside the standard export path
Fee schedule consolidation is a pre-migration prerequisite
Training and support model assumes daytime availability
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
Discover tab32 data inventory and Dynamics licensing audit
We connect to tab32 via API and inventory your patient records, appointments, treatment plans, CDT codes, providers, practices, and claim history. Simultaneously, we audit your Dynamics 365 environment — license type (Professional vs Enterprise), existing table count, and active user list. This step identifies the table-limit constraint, oversized imaging files, and whether custom tables for tooth charting and perio exams are feasible under your current license. We deliver a data inventory report and a license-gap analysis before any data movement begins.
Build schema map and resolve provider email matches
We build the full field-level mapping between tab32 objects and Dynamics 365 entities documented in the object_mapping and field_mapping sections. Provider records are matched against your Dynamics 365 user list by email — this resolves the provider_id in appointments and treatment plans to a Dynamics SystemUser owner. Any providers without a matching Dynamics user are flagged; your team either creates the user first or assigns those records to a fallback owner. Custom tables (Dental_Chart__c, Perio_Exam__c, Claim__c) are created in Dataverse during this step if your license supports them.
Run sample migration with field-level diff
A representative slice migrates first — typically 100–500 patient records, a sample of appointments and treatment plans across a few practices, and all CDT codes. We generate a field-level diff comparing source values against the Dynamics 365 destination values so you can verify mapping accuracy. Specifically, we show CDT codes in Product Number, tooth charting as custom table rows linked to Contact, perio exam measurements, and appointment ownership assignments. You approve the sample before the full migration commits.
Execute full migration with sequencing and delta-pickup
Accounts (practices) migrate first, followed by Contacts (patients), then Opportunities (treatment plans) with their Product line items, then Activities (appointments). Sequencing respects foreign-key dependencies — accounts must exist before contacts, contacts before opportunities. A delta-pickup window (typically 24–48 hours) captures any tab32 records modified during cutover so Dynamics reflects your final state at go-live. All operations are logged to an audit trail; one-click rollback is available if reconciliation identifies data integrity issues.
Reconcile record counts and validate clinical data exports
Post-migration, we run a reconciliation report comparing tab32 record counts against Dynamics 365 record counts per object type. Tooth charting and perio exam records — which land in custom tables — are validated against the source by patient ID. Any imaging files that exceeded Dynamics 365 file size limits are exported to a local folder with a manifest linking each file to its patient Contact record in Dynamics. We deliver the full reconciliation report and the imaging export package to your team.
Rebuild reference: workflows, RCM logic, and BI reports
tab32 automations (recare reminders, appointment confirmations, billing alerts) have no Dynamics equivalent and must be rebuilt using Power Automate. We provide a rebuild reference document listing every tab32 workflow trigger and action, mapped to the equivalent Power Automate connector. Similarly, dental claim workflow logic is documented for rebuilding in a dedicated RCM tool or Power Automate. The tab32 Open Data Warehouse schema is exported as a reference for your BI team to rebuild Power BI dashboards against Dataverse.
Platform deep dives
tab32
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between tab32 and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across tab32 and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between tab32 and Microsoft Dynamics 365 Sales .
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
tab32: Not publicly documented.
Data volume sensitivity
tab32 exposes a bulk API — large-volume migrations stream efficiently.
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 tab32 to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your tab32 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 tab32
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.