Migrate your Cliniko data
All-in-one practice management software for allied health clinics, with unlimited users, patients, and storage on a single flat tier. Built for physios, osteopaths, and similar practices that want everything in one place without tier-gating.
In its favor
Why people choose Cliniko
The signal that keeps Cliniko on the shortlist. Sourced from G2, Capterra, and customer scoping calls.
Single pricing tier with every feature included means no tier-gating surprises as the practice grows — all Cliniko users get full access regardless of team size.
Strong professional endorsements from the Chartered Society of Physiotherapy (UK) and Osteopathy Australia make it a default choice for UK and Australian allied health practitioners.
Unlimited patients, file storage, and locations on every plan appeals to growing multi-location or high-volume practices that hit per-seat or per-record limits elsewhere.
Free telehealth built into the platform from the start removes a separate cost centre that many competitors charge for as an add-on.
The built-in Data Export panel under Settings gives Admin users direct access to export reports covering appointments, transactions, patient demographics, and more without needing API knowledge.
API access is tied to individual user permissions, meaning API keys inherit role-based access controls — a practitioner-key may not expose all records a migration requires, complicating bulk export scoping.
Cliniko's automation capabilities (e.g. appointment reminders, form-triggered updates) do not export; they must be manually rebuilt in the destination platform, increasing migration effort for workflow-heavy practices.
Large data exports generate in the background and can take considerable time during busy hours, which may delay migration cutover timelines for practices with high appointment volumes.
The platform lacks a native HubSpot or Salesforce CRM-style pipeline view for tracking patient leads or referral sources — practices that outgrow Cliniko often cite the need for a dedicated CRM layer.
Reasons to switch
Why people leave Cliniko
The recurring reasons buyers give for replacing Cliniko. Presented as facts, not knocks.
Platform scorecard
Strengths, weaknesses, and where Cliniko fits
Grades across six dimensions, plus a SWOT-style view of where the platform shines and where it falls short.
SWOT — strengths, weaknesses, and use-case fit
Strengths
Weaknesses
Where it works
Where it struggles
Pricing tiers
Cliniko pricing overview
Cliniko uses a single flat-rate model — all features are included in one price with no per-seat, per-patient, or per-location caps. Pricing is custom and negotiated per practice, typically billed monthly or annually with a discount for annual prepayment.
Standard (All Features)
Tier 1 of 1
Custom (per-practice, billed monthly or annually)
What's included
Need help selecting your CRM?
Book a free 30 minute consultationPricing is informational. FlitStack AI does not bill on Cliniko's schedule — see our quote-based pricing →
What gets migrated
Cliniko object support
Object-by-object support for Cliniko migrations. Per-pair details surface during scoping.
Patients
Fully supportedPatient records export cleanly from the Data Exports panel as structured rows including demographics, contact info, and insurance profiles. We preserve the patient's full appointment history, linked invoices, and chart attachments under the same patient ID during migration.
Appointments
Fully supportedThe old Appointments export has been deprecated and replaced by the Reports-based export. We pull appointment data via the Reports export, including date, time, practitioner, appointment type, status, and any associated notes. Appointment Type assignments are preserved as a property on each record.
Practitioners
Fully supportedPractitioner profiles export as staff records including their associated Appointment Types. We map Practitioner IDs to the destination system's practitioner or practitioner-type objects so scheduling continuity is maintained.
Appointment Types
Fully supportedAppointment Types define service categories (e.g. 'Initial Consultation', 'Follow-up'). These export as a lookup table that we use to pre-seed the destination's service catalogue before importing appointment records.
Products and Services
Fully supportedProducts and services — including their prices and stock levels — export as a single table from the Data Exports panel. We map these to the destination's product or service catalogue objects.
Invoices
Fully supportedInvoice records export with full line-item detail, payment status, outstanding balance, and linked patient. We preserve the invoice-to-patient relationship and can flag partially paid invoices as open receivables in the destination.
Transactions
Fully supportedTransaction history — including payment method, amount, and timestamp — exports separately from invoices. We merge transaction records with invoice records during import so the destination reflects both billing and payment history.
Receivables
Mapping requiredOpen receivables can be inferred from invoices with outstanding balances. We flag records with non-zero balances in the import pipeline so the destination's accounts-receivable module can be populated. Paid-in-full invoices are excluded from this mapping.
Treatment Notes (Charts)
Mapping requiredCharts and treatment notes are not a flat table export — they require the dedicated Charts/Data Export tab and export as separate files per patient. We preserve file names and parent-patient linkage during migration, but note that Cliniko's custom note templates are stored as structured JSON inside the export and may require field mapping to match the destination's chart format.
Patient Attachments
Mapping requiredFile attachments to patient records are exported from the Charts/Data Export tab alongside treatment notes. We preserve file binaries and parent-patient relationships but flag any file-type restrictions (e.g. image dimension limits Cliniko enforces) as a pre-import validation step.
Patient Forms
Mapping requiredPatient forms and their completed responses export from the Data Export tab. Cliniko allows form questions to map to patient profile fields — we preserve both the raw form responses and any auto-populated patient record values. Note that form templates themselves (the builder configuration) are not exported via the data panel and must be recreated in the destination.
Expenses
Fully supportedExpense records export as a structured table from the Data Exports panel. We map expenses to the destination's expense or financial record objects, preserving date, category, amount, and vendor linkage.
Third-Party Companies
Mapping requiredThird-party company records (e.g. referring practitioners, insurance providers) export as separate records from patient demographics. We preserve these as company or contact objects in the destination and flag any that are not already present in the patient address book.
Patient Insurance Profiles
Mapping requiredInsurance profiles are a distinct sub-record linked to patients. We export these alongside patient demographics and map them to the destination's insurance or coverage fields, noting that field names and coverage type taxonomies vary between platforms.
| Object | Support | Notes |
|---|---|---|
| Patients | Fully supported | Patient records export cleanly from the Data Exports panel as structured rows including demographics, contact info, and insurance profiles. We preserve the patient's full appointment history, linked invoices, and chart attachments under the same patient ID during migration. |
| Appointments | Fully supported | The old Appointments export has been deprecated and replaced by the Reports-based export. We pull appointment data via the Reports export, including date, time, practitioner, appointment type, status, and any associated notes. Appointment Type assignments are preserved as a property on each record. |
| Practitioners | Fully supported | Practitioner profiles export as staff records including their associated Appointment Types. We map Practitioner IDs to the destination system's practitioner or practitioner-type objects so scheduling continuity is maintained. |
| Appointment Types | Fully supported | Appointment Types define service categories (e.g. 'Initial Consultation', 'Follow-up'). These export as a lookup table that we use to pre-seed the destination's service catalogue before importing appointment records. |
| Products and Services | Fully supported | Products and services — including their prices and stock levels — export as a single table from the Data Exports panel. We map these to the destination's product or service catalogue objects. |
| Invoices | Fully supported | Invoice records export with full line-item detail, payment status, outstanding balance, and linked patient. We preserve the invoice-to-patient relationship and can flag partially paid invoices as open receivables in the destination. |
| Transactions | Fully supported | Transaction history — including payment method, amount, and timestamp — exports separately from invoices. We merge transaction records with invoice records during import so the destination reflects both billing and payment history. |
| Receivables | Mapping required | Open receivables can be inferred from invoices with outstanding balances. We flag records with non-zero balances in the import pipeline so the destination's accounts-receivable module can be populated. Paid-in-full invoices are excluded from this mapping. |
| Treatment Notes (Charts) | Mapping required | Charts and treatment notes are not a flat table export — they require the dedicated Charts/Data Export tab and export as separate files per patient. We preserve file names and parent-patient linkage during migration, but note that Cliniko's custom note templates are stored as structured JSON inside the export and may require field mapping to match the destination's chart format. |
| Patient Attachments | Mapping required | File attachments to patient records are exported from the Charts/Data Export tab alongside treatment notes. We preserve file binaries and parent-patient relationships but flag any file-type restrictions (e.g. image dimension limits Cliniko enforces) as a pre-import validation step. |
| Patient Forms | Mapping required | Patient forms and their completed responses export from the Data Export tab. Cliniko allows form questions to map to patient profile fields — we preserve both the raw form responses and any auto-populated patient record values. Note that form templates themselves (the builder configuration) are not exported via the data panel and must be recreated in the destination. |
| Expenses | Fully supported | Expense records export as a structured table from the Data Exports panel. We map expenses to the destination's expense or financial record objects, preserving date, category, amount, and vendor linkage. |
| Third-Party Companies | Mapping required | Third-party company records (e.g. referring practitioners, insurance providers) export as separate records from patient demographics. We preserve these as company or contact objects in the destination and flag any that are not already present in the patient address book. |
| Patient Insurance Profiles | Mapping required | Insurance profiles are a distinct sub-record linked to patients. We export these alongside patient demographics and map them to the destination's insurance or coverage fields, noting that field names and coverage type taxonomies vary between platforms. |
Gotchas
What to watch for in Cliniko migrations
Issues we've hit on past Cliniko migrations, tagged by severity. FlitStack AI handles every one — surfacing them up front because buyer engineering teams want to know.
Background export generation delays for large datasets
Charts export is separate from the main data panel
API key permissions gate record visibility
Form template configurations do not export
The old Appointments export has been deprecated
| Severity | Issue |
|---|---|
| Medium | Background export generation delays for large datasets |
| Medium | Charts export is separate from the main data panel |
| High | API key permissions gate record visibility |
| Medium | Form template configurations do not export |
| Low | The old Appointments export has been deprecated |
Leaving Cliniko?
Where Cliniko customers move next
12 destinations Cliniko can migrate to.
How a Cliniko migration works
Four steps, Cliniko-specific
Connect
HTTP Basic authentication — API key as username, no password required, Base64 encoded as api_key + ':' into Cliniko. Scopes limited to read-only on the data we move.
Map
We translate Cliniko-specific structures (custom fields, objects, value lists) to the destination's model.
Sample
Test with a 50–200 record subset to validate Cliniko quirks before production.
Migrate
Full migration with Cliniko rate-limit handling. Rollback available throughout.
FAQ
Cliniko migration FAQ
Answers to the questions buyers ask most during Cliniko migration scoping. Not seeing yours? Book a call.
Can't find your answer?
Walk through your Cliniko migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationReady when you are
Migrate Cliniko.
Without the rebuild.
Free scoping call with a migration engineer. Tell us about your Cliniko setup and destination — written quote back within a business day.