CRM migration
Field-level mapping, validation, and rollback between Praktika Australia and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Praktika Australia
Source
Twenty CRM
Destination
Compatibility
12 of 12
objects map 1:1 between Praktika Australia and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Praktika Australia is a cloud dental practice management system built by Lizard Software for Australian and New Zealand dental practices. It manages patient records, appointment books, treatment plans, clinical charting, HICAPS and Tyro billing integrations, and recall reminders across a per-location subscription model. Twenty CRM is an open-source CRM with standard People, Companies, Opportunities, Notes, and Tasks objects plus full custom object support. It accepts data via CSV import (with column mapping through the UI) or via REST/GraphQL API — the import sequence requires Companies first, then People (with companyId), then Opportunities, then custom objects with relations. FlitStack AI migrates Praktika's patient records into Twenty People objects, practice details into Companies, and treatment plans into Opportunities. Appointment data transforms into Twenty Tasks with a due date from the appointment timestamp. Recall dates become Task records with the recall date as the due date. Provider and practitioner names resolve by email match against Twenty workspace members. Clinical notes and perio charting data store as custom fields on the People object. FlitStack does not migrate Praktika's HICAPS and Tyro billing configurations, appointment book scheduling rules, or sterilisation tracking — those are destination-side workflow configurations that must be rebuilt in Twenty's workflow builder or via integrations. The migration runs on scoped read access against Praktika's export, with a 24–48 hour delta-pickup window capturing records modified during cutover. Audit logging and one-click rollback are included.
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 Praktika Australia 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.
Praktika Australia
Patient
Twenty CRM
People
1:1Praktika patient records map directly to Twenty People. The patient first name, last name, email, phone, address, date of birth, and all custom patient properties migrate as Twenty People fields or custom fields on the People object. Original patient IDs preserve as Source_System_ID__c for traceability and delta-run de-duplication.
Praktika Australia
Patient → Primary Practice
Twenty CRM
Company
1:1Praktika stores the dental practice name as a field on the patient record. This practice name becomes a Company record in Twenty, linked to the patient via companyId. If the same practice appears across multiple patients, FlitStack deduplicates to a single Company record and links all associated People records.
Praktika Australia
Treatment Plan
Twenty CRM
Opportunity
1:1Praktika treatment plans (proposed procedures, estimated costs, status) map to Twenty Opportunities. The treatment plan name becomes the Opportunity name. Estimated treatment cost maps to Opportunity amount. Plan status (proposed, accepted, in-progress, completed) maps to Opportunity stage values configured per Twenty's pipeline.
Praktika Australia
Appointment
Twenty CRM
Task
1:1Praktika appointment records (date, time, type, provider, status) transform into Twenty Tasks. The appointment date and time become the Task due date. Appointment type (check-up, hygiene, restorative, emergency) stores as a custom select field on the Task. The assigned Praktika provider resolves by email match to a Twenty workspace member as the Task assignee.
Praktika Australia
Recall
Twenty CRM
Task
1:1Praktika recall records (patient, recall type, recall date, provider) migrate as Twenty Tasks with the recall date as the due date. Recall type (6-month hygiene, annual check, perio maintenance) stores as a custom select field on the Task. This preserves the recall workflow without requiring a separate custom object.
Praktika Australia
Clinical Note / Perio Charting
Twenty CRM
Note
1:1Praktika clinical notes and perio charting data attach to the patient record. These migrate as Twenty Notes linked to the People record. The original clinical note text and charting data preserve as Note body content with the original creation timestamp. Large perio charting datasets may also require custom fields on the People object for numeric measurement values.
Praktika Australia
Provider / Practitioner
Twenty CRM
Workspace Member
1:1Praktika provider and practitioner records (name, email, provider number) map to Twenty workspace members. Resolution happens by email match — FlitStack flags any Praktika provider without a corresponding Twenty user before migration, allowing the practice to invite them first. Unmatched providers can be assigned to a fallback workspace member during migration.
Praktika Australia
Billing Transaction / HICAPS Claim
Twenty CRM
Custom Field on Opportunity
1:1Praktika HICAPS and Tyro billing transactions (claim amount, status, health fund, item numbers) have no direct Twenty equivalent. We preserve the transaction data as custom fields on the related Opportunity — Total_Claim_Amount__c, Health_Fund__c, Claim_Status__c — for financial reference. The billing logic itself must be rebuilt in Twenty via integrations or workflow automations.
Praktika Australia
Custom Patient Property
Twenty CRM
Custom Field on People
1:1Praktika practices commonly add custom properties to patient records — insurance plan codes, referral source, health fund membership number, or preferred appointment days. Each custom property in Praktika becomes a custom field in Twenty's data model (Settings → Data Model) before the CSV import. The field type matches the source property type: text, number, date, or select.
Praktika Australia
Appointment Note / Treatment Note
Twenty CRM
Note on Task
1:1Free-form clinical notes and treatment session observations attached to a specific Praktika appointment or treatment plan migrate as Twenty Notes linked to the corresponding Task record. This preserves the per-visit clinical narrative, procedure details, and patient-specific observations alongside the appointment task in Twenty's timeline view. Each Note retains its original creation timestamp for historical reference.
Praktika Australia
Insurance / Health Fund Record
Twenty CRM
Custom Field on People
1:1Praktika patient insurance records (health fund name, membership number, expiry, ancillary limits) have no standard Twenty equivalent. These become custom fields on the People object — Health_Fund__c, Membership_Number__c, Insurance_Expiry__c — ensuring the billing team can reference coverage details directly in Twenty without leaving the CRM.
Praktika Australia
Lab Work / Referral
Twenty CRM
Custom Object or Note
1:1Praktika lab work orders and specialist referrals attached to a treatment plan have no direct Twenty CRM equivalent. FlitStack preserves lab work details as Notes on the related Opportunity. If the practice uses lab work tracking frequently, a custom object (Lab_Work__c) with a relation to Opportunity can be created in Twenty's data model — we surface this as a migration planning decision for the practice admin.
| Praktika Australia | Twenty CRM | Compatibility | |
|---|---|---|---|
| Patient | People1:1 | Fully supported | |
| Patient → Primary Practice | Company1:1 | Fully supported | |
| Treatment Plan | Opportunity1:1 | Fully supported | |
| Appointment | Task1:1 | Fully supported | |
| Recall | Task1:1 | Fully supported | |
| Clinical Note / Perio Charting | Note1:1 | Fully supported | |
| Provider / Practitioner | Workspace Member1:1 | Fully supported | |
| Billing Transaction / HICAPS Claim | Custom Field on Opportunity1:1 | Fully supported | |
| Custom Patient Property | Custom Field on People1:1 | Fully supported | |
| Appointment Note / Treatment Note | Note on Task1:1 | Fully supported | |
| Insurance / Health Fund Record | Custom Field on People1:1 | Fully supported | |
| Lab Work / Referral | Custom Object or Note1: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.
Praktika Australia gotchas
No public API means migration is conversion-file only
Custom per-practice abbreviations in clinical notes
Recall date logic may differ between Praktika and destination
Multi-location pricing does not include unlimited users
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Audit Praktika CSV exports and data model
FlitStack AI downloads CSV exports from Praktika for all active objects: patients, appointments, treatment plans, recalls, providers, and any custom patient properties. We run a data quality audit comparing record counts, identifying missing required fields (email, phone, name), detecting duplicate patient records, and flagging custom properties that have no standard equivalent in Twenty. The audit output is a Praktika Data Health Report shared with the practice admin before migration planning begins. Any gaps in the export (such as missing provider email addresses needed for user resolution) are escalated immediately.
Create Twenty custom fields before import
Before any CSV data lands in Twenty, FlitStack creates all required custom fields in Settings → Data Model based on the Praktika data audit. This includes: Health_Fund__c, Membership_Number__c, Preferred_Provider__c, Source__c, and Source_System_ID__c on the People object; Clinical_Notes__c on the Opportunity object; and Task_Type__c on the Task object. We also configure the Opportunity stage pick-list values to match Praktika's treatment plan statuses (Proposed → Accepted → In Progress → Completed). Custom field creation is validated by attempting a test import with one sample record before the full migration run.
Invite and resolve workspace members by email
Praktika provider and practitioner records are matched against Twenty workspace members by email address. All Praktika providers must have a corresponding Twenty user account created (Settings → Members) before the migration runs — if a Praktika provider has no email match in Twenty, FlitStack flags the record before migration and the practice admin either invites the provider to Twenty or designates a fallback assignee. No Task or Opportunity lands in Twenty without a resolved assignee. This step prevents orphaned records in Twenty's timeline view.
Run a sample migration with field-level diff
A representative sample of 100–500 records migrates first — spanning patients, treatment plans, appointments, and recalls across multiple providers. FlitStack generates a field-level diff report comparing source values in the Praktika CSV against the destination values in Twenty for every mapped field. The practice admin reviews the diff to verify: patient names and contact details are correct, treatment plan amounts and stages map accurately, appointments are assigned to the correct provider, and custom fields (health fund, recall type) populate correctly. Any mapping errors are corrected and the sample re-runs before the full migration commits.
Full migration with delta-pickup and audit log
The full dataset migrates into Twenty with FlitStack AI maintaining a complete audit log of every record created, every foreign key resolved, and every transformation applied. A 24–48 hour delta-pickup window runs after the initial migration, capturing any Praktika records modified or created during the cutover period (new appointments scheduled, treatment plans updated, patients recalled). The delta is applied to Twenty and a final reconciliation report is generated comparing Praktika record counts against Twenty record counts per object. If reconciliation identifies discrepancies above the agreed threshold (default: 0.1%), one-click rollback is available to restore the pre-migration state in Twenty.
Platform deep dives
Praktika Australia
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Praktika Australia and Twenty CRM.
Object compatibility
1 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
Praktika Australia: Not publicly documented.
Data volume sensitivity
Praktika Australia 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 Praktika Australia to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Praktika Australia to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Praktika Australia
Other ways to arrive at Twenty CRM
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.