CRM migration
Field-level mapping, validation, and rollback between Dent-O-Soft and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Dent-O-Soft
Source
Freshsales
Destination
Compatibility
10 of 10
objects map 1:1 between Dent-O-Soft and Freshsales.
Complexity
BStandard
Timeline
5–10 business days
Overview
Dent-O-Soft organizes data around a Patient record that carries appointments, treatment plans, clinical notes, and billing history as sub-records or embedded fields. Freshsales CRM uses a normalized object model: Leads and Contacts sit under Accounts, Deals carry monetary values and pipeline stages, and multi-visit treatment history requires either Freshsales Custom Modules or custom fields on the Account record. The two platforms also diverge on calling (Freshsales includes built-in telephony; Dent-O-Soft uses external phone systems), reporting depth, and automation capability. We extract Dent-O-Soft data via its export utility, transform the flat patient record into a Freshsales Account-Contact-Deal structure, and load through Freshsales REST API. Custom fields carry Dent-O-Soft clinical metadata that has no native CRM equivalent. Workflows, appointment reminders, and billing-rule logic in Dent-O-Soft are not transferable — we document those rules for manual rebuild in Freshsales Workflows. During extraction, we validate field completeness, flag duplicate records, and apply value transformations such as date format standardization and currency conversion where needed. After loading, a reconciliation report compares record counts and key field totals between Dent-O-Soft and Freshsales, ensuring accuracy before the delta-pickup window opens. The final handoff includes a schema checklist, sample diff output, and runbook for the Freshsales admin to finalize workflows and user role assignments.
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 Dent-O-Soft 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.
Dent-O-Soft
Patient
Freshsales
Account
1:1Every Dent-O-Soft patient becomes a Freshsales Account. The patient's primary contact details (name, email, phone) load into the Account's contact fields. Addresses map to the Account Address fields. A custom field preserves the original Dent-O-Soft patient_id for audit and delta-run matching.
Dent-O-Soft
Patient Status
Freshsales
Contact Lifecycle Stage (custom field)
1:1Dent-O-Soft status values — active, inactive, recall — map to Freshsales lifecycle stages. Active patients become 'Customer'; inactive and recall patients become 'Lead' or a custom status value. Mapping is defined value-by-value before migration runs so no records land with mismatched status.
Dent-O-Soft
Treatment Plan
Freshsales
Custom Module: Treatment Plan
1:1Dent-O-Soft treatment plans map to a Freshsales Custom Module with a lookup relationship to Account. Plan name, type, cost, start date, and completion status each become a custom field in the module. If Freshsales Custom Modules are unavailable on the target plan, plans collapse into custom fields on the Account record with plan details concatenated.
Dent-O-Soft
Appointment
Freshsales
Sales Activity
1:1Each Dent-O-Soft appointment becomes a Freshsales Sales Activity of type 'Appointment'. Subject carries the visit type, start_time carries the scheduled time, and the associated provider maps to the activity owner by email match against Freshsales users. Original appointment timestamps are preserved on the activity record.
Dent-O-Soft
Clinical Notes
Freshsales
Note
1:1Dent-O-Soft clinical notes migrate as Freshsales Notes linked to the Account record. Notes carry the original creation timestamp and provider attribution. Rich-text formatting in Dent-O-Soft notes is preserved where the export format supports it; plain-text fallback applied otherwise. We also capture any embedded images or attachments as separate File records linked to the note, ensuring comprehensive clinical context is retained in Freshsales.
Dent-O-Soft
Doctor / Staff
Freshsales
User
1:1Dent-O-Soft doctor and staff records resolve to Freshsales Users by email address. If Dent-O-Soft staff have no email, they are flagged as unmapped owners; the practice either creates Freshsales users for them or assigns their records to a fallback owner before migration commits.
Dent-O-Soft
Outstanding Balance
Freshsales
Custom Currency Field on Account
1:1Dent-O-Soft outstanding balance and total charges are monetary fields with no native equivalent in Freshsales CRM. We create custom currency fields (Outstanding_Balance__c and Total_Charges__c) on the Account object and load the values during migration. Billing history detail maps to a custom long-text area field if volume warrants.
Dent-O-Soft
Referring Source
Freshsales
Custom Text Field on Account
1:1Dent-O-Soft tracks referral source as a property on the patient record. Freshsales has no native referral source field on Accounts. We create a custom text field (Referral_Source__c) and migrate the value directly. Practices using Freshsales Campaigns for referral tracking can populate Campaign Member after migration.
Dent-O-Soft
Attachment / File
Freshsales
File Attachment
1:1Dent-O-Soft file attachments (X-rays, consent forms, images) re-upload to Freshsales as Files linked to the Account. Freshsales file size limits apply (25MB per file). Inline images embedded in clinical notes are extracted and rehosted as individual File records. During the upload process, we preserve original file names and timestamps, map them to the corresponding Account record, and ensure that any duplicate files are handled to avoid redundant storage.
Dent-O-Soft
Billing History
Freshsales
Custom Text Area on Account
1:1Dent-O-Soft billing history does not map to any Freshsales native object. We create a custom long-text area field on the Account and populate it with a formatted summary of charges, payments, and adjustments. Practices that need full billing detail in Freshsales should use Freshsales Finance Suite or a linked billing tool post-migration.
| Dent-O-Soft | Freshsales | Compatibility | |
|---|---|---|---|
| Patient | Account1:1 | Fully supported | |
| Patient Status | Contact Lifecycle Stage (custom field)1:1 | Fully supported | |
| Treatment Plan | Custom Module: Treatment Plan1:1 | Fully supported | |
| Appointment | Sales Activity1:1 | Fully supported | |
| Clinical Notes | Note1:1 | Fully supported | |
| Doctor / Staff | User1:1 | Fully supported | |
| Outstanding Balance | Custom Currency Field on Account1:1 | Fully supported | |
| Referring Source | Custom Text Field on Account1:1 | Fully supported | |
| Attachment / File | File Attachment1:1 | Fully supported | |
| Billing History | Custom Text Area on Account1: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.
Dent-O-Soft gotchas
No API and no documented bulk export path
On-premises deployment with limited remote access
No free trial and no published pricing
Single-language support (English) and small distribution footprint
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
Extract Dent-O-Soft data and audit field inventory
FlitStack pulls a full export from Dent-O-Soft using the platform's export utility. We audit every exported field — patient properties, treatment plan attributes, appointment metadata, clinical notes, and billing fields — and cross-reference against the Dent-O-Soft field inventory. This audit produces the master field list that maps to Freshsales objects, custom fields, and custom modules. Practices with custom Dent-O-Soft fields or practice-specific pick-list values are flagged during this step for explicit mapping decisions.
Configure Freshsales schema: custom fields, custom modules, and user accounts
Before data loads, we create the Freshsales custom fields identified in the field inventory (Outstanding_Balance__c, Last_Visit_Date__c, Referral_Source__c, and others). If the practice has treatment plans requiring multi-record structure, we create the Treatment Plan Custom Module with the correct field types and lookup to Account. Doctor and staff records from Dent-O-Soft are matched by email to existing Freshsales users or flagged for account creation. We deliver a schema setup checklist so the Freshsales admin can pre-create the structure before validation runs.
Resolve owners and validate value mappings
Dent-O-Soft doctor and staff IDs are matched to Freshsales Users by email address. Unmatched owners — staff without a Freshsales user account — are flagged in a pre-migration report. The practice either creates Freshsales users for those staff or designates a fallback owner. Simultaneously, the Dent-O-Soft status pick-list values are confirmed against the Freshsales lifecycle stage mapping so every active patient lands as a Customer and every recall patient lands as a Lead (or the practice's preferred equivalent).
Run sample migration with field-level diff
A representative slice of records — typically 100–500 spanning active patients, treatment plans, appointments, and notes — migrates into Freshsales first. We generate a field-level diff comparing source values to destination field values so the practice can verify lifecycle stage mapping, outstanding balance loading, appointment timestamps, and owner resolution before the full run commits. Any field mapping corrections happen at this stage.
Full migration run with delta-pickup cutover
The complete Dent-O-Soft dataset migrates into Freshsales. Accounts, Contacts, Sales Activities, and custom fields load in the correct sequence (Accounts first, then Contacts, then Activities referencing those accounts). A delta-pickup window — typically 24–48 hours — captures any records created or modified in Dent-O-Soft during the migration run. FlitStack audit log records every operation. One-click rollback is available if reconciliation against the Dent-O-Soft export shows any discrepancy.
Platform deep dives
Dent-O-Soft
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a manual workaround.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Dent-O-Soft and Freshsales.
Object compatibility
1 of 8 objects need a manual workaround.
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
Dent-O-Soft: N/A.
Data volume sensitivity
Dent-O-Soft 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 Dent-O-Soft to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Dent-O-Soft 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 Dent-O-Soft
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.