CRM migration

Migrate from axiUm Dental to Twenty CRM

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

axiUm Dental logo

axiUm Dental

Source

Twenty CRM

Destination

Twenty CRM logo

Compatibility

92%

11 of 12

objects map 1:1 between axiUm Dental and Twenty CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

axiUm Dental stores dental-practice data across tightly integrated modules — patient demographics, clinical charts with odontogram charting, treatment histories, provider/faculty assignments, appointment scheduling, insurance and billing records, and document attachments. It runs primarily as a desktop application with web portals for patients and providers, accessed via campus network or VPN, and exposes a REST API for integrations starting at version CE 7.04. Twenty CRM models its data around People, Companies, Opportunities, Tasks, and Notes — with a custom object layer for domain-specific records. The core challenge in this migration is that axiUm's clinical module (treatment plans, perio charting, odontogram data) has no direct analogue in Twenty's standard objects, so these translate as Notes attached to the patient People record or as custom fields on a custom dental-record object. Patient insurance carriers, referring providers, and multi-location affiliations map to the Companies object with a relation back to the patient People record. FlitStack AI sequences the migration: first the People records (with original create dates preserved as custom fields), then Companies (insurance carriers and referring practices), then Tasks (scheduled appointments with provider assignment), then Notes (treatment notes and clinical documentation). A delta-pickup window captures in-flight appointment changes during cutover. All workflows, access-control rules, and page layouts must be rebuilt in Twenty — axiUm's role-based permissions and student-evaluation rubrics have no migration path.

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

axiUm Dental logo

axiUm Dental

What's pushing teams away

  • Outdated desktop-first interface requires significant user training, and multi-step workflows for completing post-treatment documentation frustrate clinical staff and slow patient throughput.
  • Limited visibility for custom medical alerts — non-standard health history items that should flag prominently in a patient record require IT configuration to display correctly, creating patient safety risks.
  • Transitioning from a dental school environment to a commercial dental service organization reveals that axiUm's student evaluation and competency tracking features are overkill for private practice workflows.
  • Customer support responsiveness is inconsistent, with institutional IT staff often left to resolve configuration issues without vendor escalation paths.
  • Proprietary data schema and limited published API documentation make third-party integrations and data portability difficult without Exan Professional Services involvement.

Choosing

Twenty CRM logo

Twenty CRM

What's pulling them in

  • Top open-source CRM on GitHub with 40.6K stars, giving teams full source code access and infrastructure ownership without per-feature licensing surprises.
  • Free self-hosting under AGPL-3.0 means unlimited users and custom objects for the cost of cloud infrastructure alone, typically $20–100/month.
  • Pricing page explicitly mocks competitors for charging add-on fees for API access, webhooks, and workflows — transparency that resonates with RevOps teams burned by Salesforce.
  • Unlimited custom objects and fields with no price impact, letting teams shape the data model to their business rather than forcing business into rigid schemas.
  • Modern TypeScript/React/PostgreSQL stack means developer-led teams can extend, self-host, or integrate without fighting legacy architecture.

Object mapping

How axiUm Dental objects map to Twenty CRM

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

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

axiUm Dental

Patient (Patient Card module)

maps to

Twenty CRM

People

1:1
Fully supported

axiUm's Patient Card holds patient name, date of birth, contact information, insurance details, medical alerts, and treatment history. These fields map directly to Twenty's People object fields. Medical alerts from axiUm's patient record become custom text or multi-select fields on the People record. Original patient create dates are preserved as a custom datetime field since Twenty's CreatedAt is set at migration time.

axiUm Dental

Provider / Faculty

maps to

Twenty CRM

Workspace Members + People

1:1
Fully supported

axiUm tracks providers, faculty members, and students as separate user entities with role-based module permissions. Providers who appear as treating clinicians on patient records map to Twenty CRM Workspace Members (for system access) and also to People records (for provider lookup in tasks and notes). The dual mapping ensures that provider names in clinical notes resolve correctly in Twenty's task and note assignments.

axiUm Dental

Company / Insurance Carrier

maps to

Twenty CRM

Companies

1:1
Fully supported

axiUm stores insurance carrier information and referring provider organizations as separate entities linked to the patient record. Insurance carriers and referring practices migrate as Twenty CRM Companies records with a company type custom field distinguishing insurance carriers from referral sources. Patient-to-insurance-company relationships are stored as Company relations on the People record.

axiUm Dental

Appointment / Scheduler

maps to

Twenty CRM

Task

1:1
Fully supported

axiUm's Scheduler module records appointments with provider, patient, date/time, procedure type, and clinic location. Each appointment becomes a Twenty CRM Task with the patient as the related People record, the provider as the assigned Workspace Member, the appointment date as the due date, and the procedure type stored in a custom select field. Original appointment timestamps are preserved. Completed appointments carry a completion status.

axiUm Dental

Treatment Notes / Clinical Chart

maps to

Twenty CRM

Note

1:1
Fully supported

axiUm's clinical notes, procedure notes, and SOAP notes attached to a patient's treatment record migrate as Twenty CRM Notes linked to the People record. Each note captures the provider author, original note date, and procedure type. Because axiUm's graphical odontogram charting cannot be fully represented in Twenty's text-based Notes, the graphical chart data is exported as a PDF attachment and re-linked to the People record.

axiUm Dental

Perio Chart

maps to

Twenty CRM

Custom Object (PerioRecord) + Note

1:1
Mapping required

axiUm's perio chart stores periodontal measurement data (pocket depths, recession, mobility) per tooth site. This structured numeric data creates a custom object in Twenty (PerioRecord) with fields for tooth number, site, measurement, and date — linked to the patient People record. A summary narrative from the perio chart is also stored as a Note for quick reference. This requires creating the custom object and its fields in Twenty before the migration runs.

axiUm Dental

Transaction / Billing

maps to

Twenty CRM

Custom Fields on People + Note

many:1
Fully supported

axiUm's Transactions module records billing events linked to patients — procedure codes, charges, payments, and insurance adjustments. Because Twenty CRM has no native billing object, this data is merged into custom fields on the People record (outstanding balance, last payment date) and detailed transaction histories stored as a Note. Practices requiring full billing history access should consider a separate dental-specific billing tool post-migration.

axiUm Dental

Attachments / Consents

maps to

Twenty CRM

Note (with attachment)

1:1
Fully supported

axiUm's Attachments/Consents module stores scanned consent forms, referral letters, and imaging referrals linked to patient records. These file attachments are downloaded, re-hosted, and attached to the corresponding Twenty CRM Note record on the People record. File size limits are respected during the re-upload process. Inline images from clinical notes are downloaded and re-hosted individually.

axiUm Dental

Custom Forms

maps to

Twenty CRM

Custom Fields on People

1:1
Fully supported

axiUm allows practices to create custom electronic forms for clinical documentation. Each custom form field becomes a custom field on the People object in Twenty CRM. Before migration, FlitStack creates all custom fields in Settings → Data Model so the CSV import creates records rather than rejecting unmapped columns. Form structure and conditional logic are documented as a rebuild reference for Twenty's admin.

axiUm Dental

Overdue / Recall Patients

maps to

Twenty CRM

Task + People

1:1
Fully supported

axiUm's Overdue Patients module tracks recall appointments and overdue patient follow-ups. Each recall record becomes a Twenty CRM Task with a due date matching the recall target, linked to the patient People record. Completed recalls are marked as done; missed recalls remain open with a status flag in a custom select field so the practice can triage outreach.

axiUm Dental

EDI / Insurance Claims

maps to

Twenty CRM

No Equivalent

1:1
Fully supported

axiUm's electronic claims submission through DentalXChange has no equivalent in Twenty CRM — Twenty has no native billing or EDI claims module. Insurance claim history from axiUm is preserved as a Note on the patient People record for reference, but active claims submission requires a separate dental billing platform post-migration. FlitStack documents the EDI connection setup for the chosen billing replacement.

axiUm Dental

User Access / Roles

maps to

Twenty CRM

Workspace Members + Role Permissions

1:1
Fully supported

axiUm's role-based access control (student, faculty, staff, administrator) does not map to Twenty CRM's permission model. We invite all active axiUm users to Twenty CRM as Workspace Members, preserving their email for owner/task assignment resolution. Role-based access must be reconfigured in Twenty's Settings → Members panel post-migration using Twenty's role and permission controls.

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.

axiUm Dental logo

axiUm Dental gotchas

High

Citrix dependency for on-premise deployments

Medium

Custom form schema varies per institution

High

MiPACS imaging data lives outside axiUm's database

Medium

CDT code versioning drift between systems

Twenty CRM logo

Twenty CRM gotchas

High

Import order is enforced and critical

High

Export limited to 20,000 records and visible columns only

Medium

Soft-deleted records count toward uniqueness and trigger restores

Medium

API rate limits cap at 200 req/min on Organization tier

Low

No native email sequences — follow-up cadences require external tools

Pair-specific challenges

  • Graphical odontogram charting cannot be natively represented in Twenty CRM

    axiUm's odontogram module stores graphical tooth-surface charting — color-coded surfaces, missing-tooth indicators, existing restorations, and per-tooth conditions — in a proprietary format that renders as an interactive diagram in the axiUm desktop client. Twenty CRM has no graphical charting object. The migration extracts the odontogram data as a PDF export per patient and re-attaches it to the patient People record as a Note with a file. Clinical surface-by-surface data is not preserved as structured fields unless a custom PerioRecord object is built. Practices relying on graphical chart review at point-of-care should treat the PDF attachment as a reference and plan for a separate dental imaging workflow post-migration.

  • EDI claims and electronic billing have no migration path to Twenty CRM

    axiUm integrates directly with DentalXChange for electronic claims submission (EDI), remittance processing, and insurance eligibility verification — a core billing workflow for dental practices. Twenty CRM has no native EDI, electronic claims, or dental billing module. All active EDI connections are severed at cutover. FlitStack preserves EDI payer IDs and claim history as reference Notes, but practices must select and configure a replacement dental billing platform (e.g., Open Dental, CareStack, or Dentrix Ascend) to resume electronic claims. This is a critical operational gap that must be addressed in the post-migration implementation plan.

  • Import order is strict — Companies must precede People records in Twenty CSV imports

    Twenty's CSV import requires that the 'one' side of a one-to-many relationship exist before the related records are imported. Specifically, Company records (insurance carriers, referring practices, clinic locations) must be imported first, then People records (patients, providers) with their companyId relations resolved. If People are imported before their related Companies, the companyId references fail silently and patients appear unlinked. FlitStack sequences the migration exports from axiUm in dependency order: Companies first, then People, then Tasks, then Notes, then custom objects. We validate record counts at each phase before proceeding.

  • axiUm's per-site Citrix and VPN dependency means data export requires on-campus access

    axiUm is delivered via a desktop application accessed through Citrix, and access is restricted to campus network or VPN. Large practices or dental schools with distributed sites may face data-export bottlenecks if VPN bandwidth limits CSV extraction from the axiUm database. FlitStack works with the institution's IT team to schedule export windows during off-peak hours, or coordinates with Exan Software support for direct database export via the axiUm API (CE 7.04+). Export timing should be factored into the migration timeline — particularly for institutions with 50,000+ patient records.

  • Custom axiUm forms and conditional logic must be rebuilt in Twenty's data model

    axiUm allows practices to create custom electronic forms with conditional field logic (e.g., showing specific alert fields based on medical history responses). Twenty CRM's custom fields support field types (text, select, multi-select, date, number) but do not support conditional field visibility or dynamic form logic in the standard UI. Custom form structures migrate as static custom field configurations. Conditional logic (which fields appear based on prior answers) must be documented as a rebuild requirement and re-implemented in Twenty using their workflow builder or a third-party form tool post-migration. We provide a form-structure export from axiUm as a reference document for the rebuild.

Migration approach

Six steps for a successful axiUm Dental to Twenty CRM data migration

  1. Audit axiUm data model and export via API

    FlitStack connects to the axiUm REST API (CE 7.04+) to enumerate all active patient records, provider profiles, appointment histories, treatment notes, insurance carrier records, and custom form definitions. We extract one object at a time in dependency order — starting with insurance carriers and providers (the lookup objects), then patients, then appointments, then notes. Each export is validated against axiUm's record counts and field-level completeness. Any records with missing required fields are flagged in a pre-migration data-quality report so your team can decide whether to clean before migration or accept the gap.

  2. Create Twenty CRM custom objects and fields before import

    Twenty requires all custom fields to exist before CSV import — the import creates records, not fields. FlitStack reads the axiUm schema (standard and custom fields) and generates a field-creation plan for Twenty's Settings → Data Model. We create PerioRecord__c, alert_flag__c, procedure_code__c, provider_role__c, outstanding_balance__c, and any other custom fields required for dental data. Workspace Members are invited by email so provider assignment in tasks resolves correctly during import. This step runs in parallel with the axiUm data audit.

  3. Import Companies first, then People, then Tasks, then Notes

    Following Twenty's required import order, FlitStack loads Companies (insurance carriers, referring practices, clinic locations) first. Next, People records (patients and providers) are imported with companyId relations resolved — patients without a carrier are linked to a default 'Self-Pay' Company record. Tasks (appointments) are imported third, linked to the patient People record by email or ID and assigned to the provider Workspace Member. Notes (treatment notes, perio summaries, transaction histories) are imported last, attached to the People record. Each phase generates a validation report comparing source record counts to destination record counts.

  4. Run sample migration with field-level diff on 100–500 records

    Before committing the full migration, FlitStack runs a sample migration on a representative slice of 100–500 records spanning patients, appointments, providers, and notes. We generate a field-level diff report showing source values next to destination values for every mapped field. You review the diff to verify that medical alerts landed in alert_flag__c, that appointment dates preserved time-of-day, that provider assignments resolved correctly, and that treatment note bodies are intact. Any mapping corrections are applied before the full run.

  5. Execute full migration with delta-pickup window and rollback plan

    The full migration runs against Twenty CRM with the validated mapping. A delta-pickup window (typically 24–48 hours) runs concurrently — any axiUm records modified during the cutover are re-imported as a delta batch so Twenty reflects axiUm's final state at go-live. FlitStack generates an audit log of every record created, updated, or skipped, with reasons for any failures. One-click rollback reverts all imported records to a pre-migration snapshot if reconciliation fails. After rollback is confirmed, the cutover is declared complete and your team begins using Twenty CRM.

Platform deep dives

Context on both ends of the pair

axiUm Dental logo

axiUm Dental

Source

Strengths

  • Market-leading position in North American dental academic institutions with 90%+ penetration.
  • Comprehensive HIPAA-compliant EHR combining clinical, financial, and educational data in one system.
  • Modular architecture allows institutions to license only the modules relevant to their clinical and educational workflows.
  • Citrix-delivered desktop access and web-based PatientAccess and DoctorAccess portals provide deployment flexibility.
  • CODA accreditation compliance built into reporting and student competency tracking.

Weaknesses

  • Desktop-first application architecture with an outdated user interface that creates a steep learning curve for new users.
  • No publicly available API documentation for customers — the REST API exists only in CE 7.04+ and requires a software maintenance agreement to access.
  • Medical alert configuration lacks an intuitive interface, requiring IT-level setup to surface non-standard health flags.
  • Multi-step treatment completion workflow disperses post-care documentation across three or four separate areas of the application.
  • Limited pricing transparency with no published tiers — sales engagement required to obtain a quote.
Twenty CRM logo

Twenty CRM

Destination

Strengths

  • AGPL-3.0 open-source license with full source code on GitHub — no vendor lock-in, no sunset risk.
  • Unlimited users and unlimited custom objects on self-hosted, with no feature gating based on headcount.
  • REST and GraphQL APIs available on all paid tiers, not locked behind an enterprise add-on fee.
  • MCP server and webhooks shipped as standard features, not premium upgrades.
  • Modern PostgreSQL-backed data model that developer teams can query, extend, and self-host.

Weaknesses

  • Recent v1.0 release means limited production hardening compared to CRMs with multi-year operational track records.
  • No native email sequencing or sales engagement tools — follow-up cadences require a separate platform.
  • No native two-way email sync or inbox integration, requiring third-party connectors for full activity logging.
  • Self-hosting 'free' pricing hides real infrastructure and DevOps costs that stack up over time.
  • Workflow automation is functional but lacks the complexity needed for sophisticated multi-step sales motions.

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 axiUm Dental and Twenty 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

    axiUm Dental: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your axiUm Dental to Twenty 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 axiUm Dental to Twenty CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most axiUm Dental to Twenty CRM migrations complete within 48–72 hours of clock time for practices with under 25,000 patient records and standard clinical modules. Academic dental institutions with 100,000+ patient records, multi-site configurations, and dense perio-chart data extend to 5–10 business days. The longest single step is typically the pre-migration data audit and field-creation plan in Twenty's Settings → Data Model — we run this concurrently with the axiUm export to keep the overall timeline within the stated range.

Adjacent paths

Related migrations to explore

Ready when you are

Move from axiUm Dental.
Land in Twenty 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