CRM migration

Migrate from Dental-Exec to Odoo CRM

Field-level mapping, validation, and rollback between Dental-Exec and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.

Dental-Exec logo

Dental-Exec

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

100%

10 of 10

objects map 1:1 between Dental-Exec and Odoo CRM.

Complexity

BStandard

Timeline

48-72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Dental-Exec stores dental practice data as patient-centric records with treatment plans, appointment schedules, and clinical notes. Odoo CRM models equivalent information across crm.lead (for treatment inquiries and case progress), res.partner (for patient and provider contacts), and custom fields for clinical metadata. The migration maps Dental-Exec patients to res.partner records with primary contact details, while open treatment cases route to crm.lead with pipeline stage mapping based on case status. We preserve appointment timestamps as Odoo mail.activity records, preserve treatment plan metadata in custom_char fields on res.partner, and surface custom dental properties (insurance carrier, recall frequency, treatment history) as custom fields that require Odoo developer-mode setup before import. Odoo's XML-RPC API handles the import; FlitStack sequences the load so foreign-key relationships resolve in the correct order. Automations, email templates, and reporting configurations do not migrate and require manual rebuild in Odoo's workflow builder. Post-migration validation ensures record counts match and data integrity checks confirm successful transformation of all dental-specific metadata across the new Odoo environment.

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

Dental-Exec logo

Dental-Exec

What's pushing teams away

  • With only 6 verified reviews and a 3.2 rating, Dental-Exec has a thin track record that raises concerns about long-term vendor stability and support responsiveness.
  • Customer service scores of 3.0 on Capterra indicate slow support response times and difficulty reaching a knowledgeable representative for configuration issues.
  • The platform lacks a documented public API, limiting automation and forcing practices to rely on manual data entry for tasks and scheduling.
  • Offices outgrowing basic task management report that Dental-Exec does not scale into patient relationship marketing, multi-location dashboards, or insurance claim workflows.

Choosing

Odoo CRM logo

Odoo CRM

What's pulling them in

  • Teams choose Odoo CRM for its modular architecture — one base install with one-click app additions means they can adopt CRM alone and add accounting, inventory, or sales later as the business grows.
  • Small businesses pick Odoo because the Community edition is free and open-source, with no per-user or contact limits, allowing full evaluation before committing to a paid Enterprise tier.
  • The drag-and-drop Kanban pipeline and AI lead scoring are highlighted across G2 reviews as concrete features that make lead management faster and more visual than spreadsheet-based workflows.
  • Odoo's native integration with email, live chat, SMS, VoIP, and WhatsApp means inbound leads from multiple channels feed into a single pipeline without third-party middleware.
  • Companies in retail, supply chain, and construction value that Odoo's CRM module shares the same PostgreSQL database and UI as its ERP modules, eliminating data silos between sales and operations.

Object mapping

How Dental-Exec objects map to Odoo CRM

Each row shows how a Dental-Exec object lands in Odoo CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Dental-Exec

Patient Record

maps to

Odoo CRM

res.partner

1:1
Fully supported

Dental-Exec patient records map directly to Odoo res.partner. The primary contact fields (name, email, phone, address) transfer as-is. Custom patient properties (insurance carrier, recall interval) require pre-created custom fields in Odoo before import. The mapping preserves original create dates and owner assignments where available in the source system for audit continuity.

Dental-Exec

Treatment Case

maps to

Odoo CRM

crm.lead

1:1
Fully supported

Open treatment cases in Dental-Exec become Odoo crm.lead records. Case status maps to crm.stage values per sales team. Completed cases can route to res.partner as historical notes or remain as closed crm.lead records based on your reporting preference. This flexible routing ensures treatment history is accessible in the format most useful for your practice management workflow.

Dental-Exec

Provider/Team Member

maps to

Odoo CRM

res.users

1:1
Fully supported

Dental-Exec staff members map to Odoo res.users by email match. Role assignments (doctor, hygienist, admin) do not transfer automatically — these require Odoo security group configuration post-migration. FlitStack flags unmatched users for manual Odoo user creation before the cutover to prevent orphaned records from blocking the migration window.

Dental-Exec

Appointment

maps to

Odoo CRM

mail.activity

1:1
Fully supported

Dental-Exec appointment records become Odoo mail.activity entries linked to res.partner. Activity type (checkup, procedure, consultation) maps to mail.activity.activity_type_id values. Original appointment timestamps and assigned provider are preserved in activity notes, maintaining complete scheduling history and provider accountability within the migrated records.

Dental-Exec

Insurance Carrier

maps to

Odoo CRM

res.partner (company)

1:1
Fully supported

Dental-Exec insurance carrier references map to res.partner records with contact_type='invoice_address' for billing entities. Carrier name, address, and contact details transfer as company-type partners, enabling linking patients to their insurance providers while maintaining separate carrier records for multi-carrier scenarios and historical carrier information.

Dental-Exec

Clinical Note / Treatment Note

maps to

Odoo CRM

mail.message

1:1
Fully supported

Dental-Exec clinical notes attach to res.partner records as mail.message entries with message_type='comment'. Original author and timestamp are preserved. Attachments (images, X-rays) migrate as ir.attachment records linked to the parent partner, maintaining complete clinical history for treatment continuity and regulatory compliance purposes.

Dental-Exec

Billing Record

maps to

Odoo CRM

account.move (draft)

1:1
Fully supported

Dental-Exec billing and payment history does not map to Odoo invoicing directly — these records are preserved as custom fields on res.partner (Last_Balance__c, Total_Charges__c) for reference. Full accounting migration requires Odoo accounting module configuration separately, which is handled as a follow-on engagement to ensure complete financial continuity.

Dental-Exec

Custom Patient Property

maps to

Odoo CRM

ir.model.fields (custom)

1:1
Fully supported

Dental-Exec custom patient properties (recall frequency, clinical flags, insurance group) require Odoo custom field creation via Settings > Technical > Database Structure > Models before import. FlitStack generates the field creation script as part of the migration plan, ensuring all custom data transfers correctly into properly configured destination fields.

Dental-Exec

Referral Source

maps to

Odoo CRM

crm.lead (source_id)

1:1
Fully supported

Dental-Exec referral source metadata maps to Odoo crm.lead.source_id — the field links to crm.lost_reason or utm.source records depending on Odoo version. Source names transfer as-is; Odoo admin may need to create source records first to enable proper attribution tracking and marketing analytics post-migration.

Dental-Exec

Document / Consent Form

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

Dental-Exec file attachments (consent forms, insurance cards, treatment plans) migrate as ir.attachment records linked to the corresponding res.partner. File size and format are preserved during migration. Odoo attachment storage limits apply (typically 25MB per file), and files exceeding this threshold are flagged for manual handling as part of the migration plan.

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.

Dental-Exec logo

Dental-Exec gotchas

High

No public API for automated exports

Medium

Recall and hygiene data embedded in task records

Medium

Drug interaction flags are binary, not structured

Low

Thin vendor footprint raises continuity risk

Odoo CRM logo

Odoo CRM gotchas

High

Odoo.sh version gating blocks assisted migrations from trial

High

Enterprise modules fail to install on Community after database restore

Medium

Custom module view inheritance breaks between Odoo major versions

Medium

Custom fields risk losing their application context on Community

Low

API access for Community is gated behind the Custom Plan

Pair-specific challenges

  • Dental-Exec patient records do not map directly to Odoo leads — schema restructuring required

    Dental-Exec treats patient records as the primary entity with embedded treatment cases, while Odoo CRM separates res.partner (patient as contact) from crm.lead (treatment case as pipeline opportunity). This structural mismatch means a single Dental-Exec patient with multiple active cases becomes one res.partner record plus multiple crm.lead records in Odoo. FlitStack AI splits the data during transformation, generating the correct parent-child relationship based on case status and patient ID. The migration plan documents which cases map to open leads versus closed historical records before the import runs.

  • Odoo custom fields require developer mode or Studio configuration before import

    Dental-Exec custom patient properties (insurance carrier, recall frequency, clinical flags) have no native equivalent in Odoo CRM. These fields must be created in Odoo via Settings > Technical > Database Structure > Models or through Odoo Studio before FlitStack can import the data. Creating custom fields mid-migration is not possible — the fields must exist in the destination schema first. FlitStack generates a custom field creation script as part of the migration plan, but an Odoo admin must execute it in the target environment before the migration window opens.

  • Dental-Exec attachments exceeding Odoo file size limits require manual handling

    Odoo imposes a default 25MB per-file attachment limit via ir.attachment. Dental-Exec clinical attachments (panoramic X-rays, full-mouth radiographs, high-resolution intraoral photos) frequently exceed this threshold. FlitStack flags oversized files during the pre-migration audit, stores them in a separate package, and provides a manual re-upload guide with cloud storage integration recommendations. Practices that rely heavily on imaging should plan for a post-migration bulk upload process or Odoo document module configuration. The audit report will include a complete list of files exceeding the size limit for your records management team.

  • Dental-Exec billing history does not map to Odoo accounting without separate configuration

    Dental-Exec stores payment history, outstanding balances, and billing records that have no direct equivalent in Odoo CRM's contact model. These records cannot import as account.move entries without Odoo's accounting module installed and chart of accounts configured. FlitStack preserves billing summary data (last payment date, total charges, outstanding balance) as custom fields on res.partner for reference, but full financial history requires a separate Odoo accounting migration engagement after CRM go-live. This approach ensures billing context remains accessible while avoiding incomplete accounting records.

  • Odoo XML-RPC API rate limits vary by hosting plan — Enterprise and Custom Plan users get higher quotas

    Odoo's external API (XML-RPC or jsonrpc) has different rate limit profiles depending on the Odoo hosting plan. Odoo Online and Community editions have stricter request throttling than Odoo Enterprise with Custom Plan. Dental-Exec data exports at scale (25,000+ patient records) can exceed default API quotas, requiring batched imports with retry logic. FlitStack implements exponential backoff and batch sizing tuned to the detected Odoo plan, but teams on lower-tier plans may experience longer migration windows.

Migration approach

Six steps for a successful Dental-Exec to Odoo CRM data migration

  1. Audit Dental-Exec data volume and custom property inventory

    FlitStack AI connects to Dental-Exec via scoped API read access to enumerate all patient records, treatment cases, appointments, and custom patient properties. We generate a data inventory report listing record counts per object, custom field definitions, attachment file sizes, and user accounts. This audit identifies oversized files, unmapped custom properties, and provider accounts that need Odoo user creation before migration begins.

  2. Configure Odoo custom fields and crm.stage values

    Based on the data audit, FlitStack delivers a custom field creation script and crm.stage configuration guide for your Odoo admin to execute. This includes creating Char, Integer, Date, and Text fields on res.partner for dental-specific metadata, and setting up crm.stage values that map to Dental-Exec case statuses. The Odoo admin must complete this step before FlitStack can validate the field mapping during the test migration.

  3. Resolve provider and staff accounts by email match

    Dental-Exec staff members are matched to Odoo res.users by email address. FlitStack generates an unmatched-users report listing providers without existing Odoo accounts. Your team creates the missing Odoo users before the test migration runs. Records assigned to unmatched users default to a designated fallback owner during migration, with ownership re-assigned post-go-live. This prevents orphaned records and maintains proper audit trails throughout the migration process.

  4. Run sample migration with field-level diff

    A representative slice (typically 200-500 records spanning patients, treatment cases, appointments, and attachments) migrates to a staging Odoo environment. FlitStack generates a field-level diff comparing source values to destination field contents, highlighting any transformation issues in case status mapping, date formatting, or custom field population. You approve the diff before the full migration proceeds. This validation step catches mapping errors early, reducing risk before committing the complete dataset.

  5. Execute full migration with delta-pickup and rollback readiness

    The full dataset loads into Odoo CRM via XML-RPC API in sequenced batches (partners first, then leads, then activities, then attachments). A delta-pickup window of 24-48 hours captures any Dental-Exec records modified during the cutover window. FlitStack maintains an audit log of all operations and one-click rollback capability if reconciliation reveals unexpected data gaps. Post-migration, the audit report confirms record counts and highlights any attachment failures requiring manual re-upload.

Platform deep dives

Context on both ends of the pair

Dental-Exec logo

Dental-Exec

Source

Strengths

  • Production goal tracking per provider gives small practices quantified output metrics rather than purely clinical recording
  • Multi-screen support lets front-desk staff manage patient information across simultaneous screens during consultations
  • Embedded drug reference (Lexicomp) and dental-benefit verification reduce reliance on separate point tools
  • Perio charting with customisable formatting is highlighted by reviewers as a strong clinical feature
  • Long-standing dental-industry support reputation — reviewers cite 35+ years of responsive support from DSN Dental Software

Weaknesses

  • Capterra rating sits at 3.2/5 across only 6 reviews — sparse track record raises evaluation confidence concerns
  • Reviewers report performance issues including slowness and program crashes that can cause data loss
  • No documented public API or bulk export, blocking automation and modern integration workflows
  • Cost is described by some reviewers as expensive relative to delivered functionality
  • Reports are flagged as hard to navigate, limiting practice-management analytics without external tooling
Odoo CRM logo

Odoo CRM

Destination

Strengths

  • Modular open-source architecture lets teams start with CRM and add ERP apps as needs grow, all sharing one PostgreSQL database.
  • Free Community edition with no contact limits and full source code access means zero licensing cost for evaluation and small deployments.
  • Drag-and-drop Kanban pipeline with AI lead scoring gives a visual, prioritized view of the sales funnel without requiring custom configuration.
  • Native integrations with email, live chat, SMS, VoIP, WhatsApp, and social media feed all inbound leads into a single unified inbox.
  • Active Odoo Community Association (OCA) maintains dozens of community-maintained modules on GitHub for extended functionality.

Weaknesses

  • Gmail and email integration reliability is a recurring complaint — threads drop and conversations scatter across inboxes, disrupting sales team workflows.
  • Enterprise edition pricing stacks quickly: multiple apps at per-user rates ($25–$50/user/month) plus Odoo.sh hosting costs more than many SMBs anticipate.
  • Setup and configuration complexity increases significantly once custom fields, automation rules, and multiple installed modules are in play.
  • Odoo.sh trial databases run on a version (e.g., 18.3) that is not directly migratable to Odoo.sh, blocking the assisted migration path Odoo advertises.
  • Version upgrades between major Odoo releases (e.g., 17→18) frequently break custom module view definitions and XPath expressions, requiring manual remediation.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 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 Dental-Exec and Odoo CRM.

  • Object compatibility

    B

    1 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

    Dental-Exec: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Dental-Exec to Odoo CRM 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 Dental-Exec to Odoo CRM data migrations

Answers to the questions buyers ask most during Dental-Exec to Odoo CRM migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Dental-Exec to Odoo CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Dental-Exec to Odoo CRM migrations complete within 48-72 hours of clock time for practices with under 25,000 patient records. Larger datasets with 25,000+ records, extensive custom properties, or multi-location configurations extend to 7-14 days. The longest planning step is Odoo custom field creation and crm.stage configuration — that must complete before data validation can run. FlitStack sequences the technical migration so Odoo schema setup and data import run in parallel where possible.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dental-Exec.
Land in Odoo CRM, 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