CRM migration
Field-level mapping, validation, and rollback between DentAdmin and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
DentAdmin
Source
Freshsales
Destination
Compatibility
12 of 12
objects map 1:1 between DentAdmin and Freshsales.
Complexity
BStandard
Timeline
48–72 hours
Overview
DentAdmin is patient-administration software built for Belgian dental practices — it stores patient records, treatment plans, RIZIV procedure codes, appointment schedules, and billing data in a clinical workflow context. Freshsales CRM is a general sales platform that uses Contacts, Accounts, Deals, and Sales Activities. FlitStack AI maps DentAdmin patients to Freshsales Contacts, treatment plans to Deals, appointments to Sales Activities, and creates custom fields for RIZIV codes, procedure types, insurance providers, and Belgian address formats. The technical constraints that shape every DentAdmin-to-Freshsales migration are DentAdmin's API rate limit of 3,600 calls per hour (requiring batched extraction), the absence of a native deal pipeline in DentAdmin (procedures are billable items, not pipeline stages), multi-site DentAdmin accounts needing Freshsales territory or account hierarchy mapping, and Belgian healthcare data formats that have no Freshsales equivalent and require custom field creation. Automations, appointment reminders, and RIZIV-code processing workflows do not migrate — we export definitions as a rebuild reference for your Freshsales admin. FlitStack AI sequences the migration: scoped read access on DentAdmin, custom field creation in Freshsales, patient-to-contact mapping, appointment translation, and a delta pickup window capturing in-flight changes before cutover.
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 DentAdmin object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
DentAdmin
Patient
Freshsales
Contact
1:1DentAdmin patient records map directly to Freshsales Contacts. Each patient becomes one Contact with name, email, phone, and address fields populated from DentAdmin's patient demographics. Belgian address formats (street/number/postal/city) are preserved as separate custom address fields on the Contact record.
DentAdmin
Patient (multi-site link)
Freshsales
Account
1:1Each DentAdmin practice location becomes a Freshsales Account. For multi-site DentAdmin setups, we map the parent DentAdmin account to a parent Freshsales Account, with each site as a child Account linked via Parent AccountId. Freshsales territory assignment is used additionally if sites need rep-level routing.
DentAdmin
Patient Account Link
Freshsales
Account Contact Relationship
1:1The DentAdmin link between a patient and their primary dental practice location maps to the Freshsales Contact-to-Account relationship, a standard object linking Contacts to Accounts. In multi-site setups where a patient has visited multiple locations, additional Account Contact Relationship records are created for each site, preserving visit history across the practice network. This ensures each location’s Account references the patient and can include a role or status field if needed.
DentAdmin
Treatment Plan / Procedure
Freshsales
Deal
1:1DentAdmin stores procedures as billable items on patient records — not as a pipeline model. We create Freshsales Deals per procedure or per treatment plan, using the procedure description as the Deal Name, the procedure cost as the Deal Amount, and a custom pipeline stage mapping the DentAdmin status (planned, in-progress, completed, invoiced) to Freshsales stage values.
DentAdmin
Pipeline / Deal Stage
Freshsales
Sales Pipeline + Stage
1:1DentAdmin has no native deal pipeline — it uses procedure status instead. We create a Freshsales Sales Pipeline (e.g., 'Treatment Pipeline') and define stages that map from DentAdmin statuses: Planned → Appointment Scheduled, In Progress → Treatment In Progress, Completed → Treatment Complete, Invoiced → Closed Won, Cancelled → Closed Lost. Each stage gets probability and forecast category settings.
DentAdmin
Appointment
Freshsales
Sales Activity (Task + Event)
1:1DentAdmin appointments (dentist, treatment type, date/time, duration, status) map to Freshsales Sales Activities. Scheduled appointments migrate as Freshsales Events with original start/end times and dentist as the assigned owner. Appointment outcomes (completed, no-show, cancelled) migrate as custom fields on the Activity record rather than separate objects.
DentAdmin
RIZIV Procedure Code
Freshsales
Custom Field (Treatment_Type__c / RIZIV_Code__c)
1:1RIZIV codes are Belgian health-insurance procedure identifiers with no Freshsales equivalent. We create custom pick-list fields on the Deal object: RIZIV_Code__c stores the numeric code, and Treatment_Type__c stores the readable procedure name (conservation, surgery, orthodontics, radiology, etc.) as a mapped pick-list value.
DentAdmin
Insurance Provider
Freshsales
Custom Field on Contact
1:1DentAdmin stores Belgian health insurance provider information on patient records. We create a custom text or pick-list field (Insurance_Provider__c) on the Freshsales Contact record. If DentAdmin exposes insurance type (mutualiteit / hospitalisation / dental-only), we create separate fields for each type.
DentAdmin
Document / Attachment
Freshsales
Freshsales Files / Attachment
1:1DentAdmin attachments (treatment plans, insurance documents, referral letters) are re-uploaded as Freshsales Files linked to the corresponding Contact or Deal record. File size limits follow Freshsales storage quotas per plan. Inline clinical images are downloaded and re-hosted as file attachments.
DentAdmin
User / Provider
Freshsales
Freshsales User
1:1DentAdmin users (dentists, administrative staff) are matched to Freshsales Users by email address. Unmatched users are flagged before migration — your team either creates Freshsales accounts first or assigns records to a fallback owner. Dentist specialization (e.g., orthodontist, surgeon) migrates as a custom field on the Freshsales User record.
DentAdmin
Invoice / Billing Record
Freshsales
Deal (amount field) + Custom Field
1:1DentAdmin invoice records store billing amounts, payment status, and RIZIV reimbursement details. We map the billed amount to the Freshsales Deal Amount field and create custom fields: Invoice_Number__c, Invoice_Status__c (paid, pending, rejected), and RIZIV_Reimbursement__c storing the reimbursed amount as a numeric custom field.
DentAdmin
Outgoing SMS / Email
Freshsales
Sales Activity (Type = Email / SMS)
1:1DentAdmin's SMS and email communication logs are mapped to Freshsales Sales Activities with activity type set to Email or SMS. Timestamp, sender, and recipient are preserved in datetime and text fields, and the message body is stored in the Description field. This lets your team review each communication, but Freshsales does not keep threaded conversation continuity. Imported logs serve as a reference for patient interactions and can trigger follow-up tasks.
| DentAdmin | Freshsales | Compatibility | |
|---|---|---|---|
| Patient | Contact1:1 | Fully supported | |
| Patient (multi-site link) | Account1:1 | Fully supported | |
| Patient Account Link | Account Contact Relationship1:1 | Fully supported | |
| Treatment Plan / Procedure | Deal1:1 | Fully supported | |
| Pipeline / Deal Stage | Sales Pipeline + Stage1:1 | Fully supported | |
| Appointment | Sales Activity (Task + Event)1:1 | Fully supported | |
| RIZIV Procedure Code | Custom Field (Treatment_Type__c / RIZIV_Code__c)1:1 | Fully supported | |
| Insurance Provider | Custom Field on Contact1:1 | Fully supported | |
| Document / Attachment | Freshsales Files / Attachment1:1 | Fully supported | |
| User / Provider | Freshsales User1:1 | Fully supported | |
| Invoice / Billing Record | Deal (amount field) + Custom Field1:1 | Fully supported | |
| Outgoing SMS / Email | Sales Activity (Type = Email / SMS)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.
DentAdmin gotchas
No publicly documented REST API for DentAdmin
Pricing is opaque and requires direct contact
RIZIV code version drift between systems
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Audit DentAdmin data model and extract field inventory
FlitStack AI connects to DentAdmin via scoped read-only API access and inventories all patient fields, treatment types, RIZIV codes, insurance configurations, appointment statuses, and multi-site structure. We enumerate every pick-list value for RIZIV codes and treatment types from DentAdmin so that Freshsales custom fields can be created with the correct option sets before any data moves. The audit also surfaces any API rate-limit throttling observed during extraction so we can request a limit increase from DentAdmin.
Create Freshsales custom fields and account hierarchy
We create the custom fields identified during the audit — RIZIV_Code__c, Treatment_Type__c, Insurance_Provider__c, Insurance_Type__c, National_Registry__c, Original_Create_Date__c, Source_System_ID__c, Invoice_Number__c, Invoice_Status__c, and RIZIV_Reimbursement__c — on the appropriate Freshsales Contact and Deal objects. We also configure the Treatment Pipeline, its stage names mapped from DentAdmin procedure statuses, and the parent-child Account hierarchy for multi-site setups. Custom field creation happens before extraction so mapping validation can run against the actual target schema.
Resolve DentAdmin users to Freshsales users by email
DentAdmin dentists, administrative staff, and providers are matched to Freshsales Users by email address. Unmatched users are flagged before migration — your team either provisions Freshsales user accounts first or assigns their records to a fallback owner. Dentist specialization fields (orthodontist, surgeon) are written to the custom Specialization__c field on the Freshsales User record. This step ensures no Deal or Activity lands without an owner in Freshsales.
Run sample migration with field-level diff on 100–200 records
A representative slice of 100–200 records spanning patients across multiple sites, a mix of procedure types and stages, and appointments is migrated first. We generate a field-level diff between DentAdmin source values and the resulting Freshsales Contact, Account, Deal, and Activity records. You verify RIZIV code mapping, appointment translation, multi-site hierarchy, and insurance field population before the full run commits. Sample migration also reveals any API rate-limit throttling points that require batch-size adjustment.
Full migration run with delta pickup for in-flight records
The full DentAdmin dataset migrates to Freshsales — Contacts, Accounts, Deals with RIZIV and treatment fields, Sales Activities from appointments, and file attachment references. A delta pickup window (typically 24–48 hours) captures any records created or modified in DentAdmin during the cutover period. FlitStack AI's audit log records every operation, and one-click rollback is available if record counts or data quality checks fail at reconciliation.
Platform deep dives
DentAdmin
Source
Strengths
Weaknesses
Freshsales
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 DentAdmin and Freshsales.
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
DentAdmin: Not publicly documented.
Data volume sensitivity
DentAdmin 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 DentAdmin to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your DentAdmin to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave DentAdmin
Other ways to arrive at Freshsales
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.