CRM migration

Migrate from DentAdmin to Freshsales

Field-level mapping, validation, and rollback between DentAdmin and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

DentAdmin logo

DentAdmin

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

12 of 12

objects map 1:1 between DentAdmin and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

DentAdmin logo

DentAdmin

What's pushing teams away

  • Limited transparency around subscription pricing makes it difficult for practices to compare cost against alternatives before committing to a contract term.
  • The product appears to have a small market footprint outside Belgium, which limits access to peer reviews, third-party integrations, and specialist support talent.
  • Practices report that the software lacks a well-documented public API, making it difficult to connect with modern third-party tools or automate data workflows.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How DentAdmin objects map to Freshsales

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

maps to

Freshsales

Contact

1:1
Fully supported

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

maps to

Freshsales

Account

1:1
Fully supported

Each 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

maps to

Freshsales

Account Contact Relationship

1:1
Fully supported

The 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

maps to

Freshsales

Deal

1:1
Fully supported

DentAdmin 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

maps to

Freshsales

Sales Pipeline + Stage

1:1
Fully supported

DentAdmin 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

maps to

Freshsales

Sales Activity (Task + Event)

1:1
Fully supported

DentAdmin 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

maps to

Freshsales

Custom Field (Treatment_Type__c / RIZIV_Code__c)

1:1
Fully supported

RIZIV 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

maps to

Freshsales

Custom Field on Contact

1:1
Fully supported

DentAdmin 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

maps to

Freshsales

Freshsales Files / Attachment

1:1
Fully supported

DentAdmin 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

maps to

Freshsales

Freshsales User

1:1
Fully supported

DentAdmin 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

maps to

Freshsales

Deal (amount field) + Custom Field

1:1
Fully supported

DentAdmin 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

maps to

Freshsales

Sales Activity (Type = Email / SMS)

1:1
Fully supported

DentAdmin'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.

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.

DentAdmin logo

DentAdmin gotchas

High

No publicly documented REST API for DentAdmin

Medium

Pricing is opaque and requires direct contact

Medium

RIZIV code version drift between systems

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • DentAdmin API rate limit of 3,600 calls per hour constrains extraction speed

    DentAdmin's API enforces a default rate limit of 3,600 calls per hour per account. The Dentally community confirms this limit is adjustable but requires a formal request to the DentAdmin team for higher throughput. For multi-site DentAdmin setups, this limit is shared across all sites. FlitStack AI batches extraction into chunks of 3,500 records per call cycle with exponential backoff on 429 responses, and we request a higher rate limit as part of the migration scoping process. Large practices with 200,000+ records will see extended extraction windows as a result.

  • Multi-site DentAdmin accounts require Freshsales account hierarchy or territory mapping

    DentAdmin supports multi-site dental practices where one account manages multiple practice locations — each with its own patient records, appointments, and users. Freshsales has no native multi-site concept. We map each DentAdmin location to a Freshsales Account, using Freshsales parent Account to establish the hierarchy, and optionally territory management (Pro/Enterprise) for rep-level routing per site. This requires pre-migration decisions on naming conventions and whether multi-site patients should be linked to one Account or replicated per site.

  • DentAdmin RIZIV codes and treatment types have no Freshsales native equivalent

    RIZIV codes are the Belgian national health-insurance procedure identifiers that DentAdmin uses to map treatments to reimbursement categories. Freshsales has no native field for insurance codes, procedure categories, or Belgian health identifiers. We create custom fields (RIZIV_Code__c, Treatment_Type__c, Insurance_Provider__c, National_Registry__c) on Contact and Deal objects, but the pick-list values must be enumerated manually from DentAdmin's configuration before migration. If DentAdmin stores custom RIZIV code variations, those require additional custom field setup.

  • DentAdmin appointment reminders and RIZIV processing workflows do not migrate

    DentAdmin appointment reminders and RIZIV processing workflows do not migrate. FlitStack AI migrates data and schema only. DentAdmin's built-in appointment reminder workflows, RIZIV-code processing rules, and SMS/email notification triggers are workflow logic that does not transfer to Freshsales. Freshsales has its own automation tools (workflows, sequences, Freddy AI) that your admin must configure post-migration. We export DentAdmin workflow definitions as a plain-text rebuild reference so your Freshsales admin can reconstruct the logic manually. The exported definitions include trigger conditions, action steps, and any custom criteria so your team can rebuild each workflow in Freshsales systematically.

  • DentAdmin clinical attachments and imaging formats are not reusable in Freshsales

    DentAdmin stores clinical attachments — X-rays, intraoral photos, treatment scans — in formats specific to dental imaging software. Freshsales file storage is designed for documents, PDFs, and standard image formats; it cannot host or render dental imaging files. We migrate the file attachment metadata and links as custom fields on the Contact record, but the actual files must remain in DentAdmin or a dedicated clinical storage system. The file reference fields serve as pointers for your team to access clinical records outside Freshsales.

Migration approach

Six steps for a successful DentAdmin to Freshsales data migration

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

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

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

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

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

Context on both ends of the pair

DentAdmin logo

DentAdmin

Source

Strengths

  • Native Belgian RIZIV-code and health-insurance billing automation reduces administrative overhead for domestic practices.
  • Managed migration service from CGM Belgium handles database import from any prior dental system at onboarding.
  • Explicit GDPR-conformity statement addresses data-privacy compliance requirements for European dental practices.
  • Multi-provider support within a single database accommodates group practices and multi-dentist clinics.

Weaknesses

  • No publicly documented REST API, limiting automated integrations and making programmatic migration more complex.
  • Subscription pricing is not published publicly, requiring direct contact to obtain a quote.
  • Small international footprint outside Belgium reduces availability of peer reviews, community support, and third-party integration plugins.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 DentAdmin and Freshsales.

  • Object compatibility

    B

    2 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

    DentAdmin: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your DentAdmin to Freshsales 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 DentAdmin to Freshsales data migrations

Answers to the questions buyers ask most during DentAdmin to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your DentAdmin to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most DentAdmin-to-Freshsales migrations complete in 48–72 hours of clock time for under 50,000 patient records. Practices with multiple locations, heavy custom field configurations, or 200,000+ records extend to 5–10 days. The DentAdmin API rate limit of 3,600 calls per hour is the primary variable — large practices with extensive treatment histories experience longer extraction phases. We request a higher rate limit from DentAdmin as part of the scoping step to compress timelines.

Adjacent paths

Related migrations to explore

Ready when you are

Move from DentAdmin.
Land in Freshsales, 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