CRM migration

Migrate from Zedmed to Freshsales

Field-level mapping, validation, and rollback between Zedmed and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.

Zedmed logo

Zedmed

Source

Freshsales

Destination

Freshsales logo

Compatibility

100%

12 of 12

objects map 1:1 between Zedmed and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Zedmed stores patient demographics, clinical notes, practitioner profiles, appointments, and Medicare billing records in a structure designed for clinical workflows, not sales pipelines. Freshsales CRM organises around Leads, Contacts, Accounts, and Deals — a fundamentally different mental model. We migrate what migrates cleanly: patient demographics map to Freshsales Contacts, provider organisations map to Accounts, and appointment records become timestamped Activities with appointment-type and practitioner fields stored as custom properties. Clinical notes, prescription records, and pathology results have no standard Freshsales equivalent — we preserve these as file attachments on the relevant Contact record. Medicare billing claims, item numbers, and payer data from Zedmed map to a Billing_Reference__c custom field on Contacts. Workflows, automated appointment reminders, and clinical decision-support rules do not migrate — Freshsales workflows must be rebuilt from scratch. We use Freshsales REST API with the account's plan-determined rate limit (1,000–5,000 requests/hour) for the data transfer, run a sample migration with field-level diff before committing, and capture a 24–48 hour delta window for in-flight records at cutover.

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

Zedmed logo

Zedmed

What's pushing teams away

  • Browser-based cloud interface introduces friction — copy-paste restrictions, PDF printing requiring specific Chrome settings, and session timeouts disrupt clinical workflows.
  • Steep learning curve with limited training, particularly around billing setup, KPI monitoring, and customising the clinical layout to individual practitioner preferences.
  • No publicly documented API — all data extraction for migration requires engaging Zedmed support directly for database-level access, adding time and complexity to any switch.
  • Outdated interface and limited customisation options compared to newer medical platforms, leading practices seeking a more modern user experience to evaluate alternatives.
  • SMS functionality in v39 is restricted to ZedSMS only, forcing practices on legacy messaging providers to change vendor at upgrade time.

Choosing

Freshsales logo

Freshsales

What's pulling them in

  • Lowest barrier to entry among major CRMs — the free tier supports up to 3 users and includes core CRM functionality before committing to per-seat pricing.
  • Built-in chat, email, and phone reduce reliance on third-party integrations for basic sales communication and contact management.
  • Freddy AI contact scoring and deal insights are included on Pro plans at a lower price than comparable HubSpot tiers.
  • Kanban pipeline views across Contacts, Accounts, and Deals provide visual deal management without requiring custom configuration.
  • Integration with the broader Freshworks ecosystem (Freshdesk, Freshchat, Freshservice) reduces tool sprawl for teams already using Freshworks.

Object mapping

How Zedmed objects map to Freshsales

Each row shows how a Zedmed 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.

Zedmed

Patient / Person Record

maps to

Freshsales

Contact

1:1
Fully supported

Zedmed patient demographics (name, DOB, address, contact details) map directly to Freshsales Contact fields. Medical reference data such as Medicare number, pension card, and health fund membership are stored as custom fields on the Contact record, preserving the original clinical identifiers for future billing and recall processes.

Zedmed

Patient / Person Record (commercial lead)

maps to

Freshsales

Lead

1:1
Fully supported

Patients who have a commercial inquiry — such as an allied health referral, corporate health package, or specialist co‑management request — can be created as Freshsales Leads for pipeline tracking before conversion to a Contact. The source Zedmed patient ID is preserved in a custom field to maintain traceability across systems.

Zedmed

Practitioner / Provider Record

maps to

Freshsales

Account

1:1
Fully supported

Individual practitioners (GPs, specialists, allied health) are mapped to Freshsales Accounts with the practitioner’s name in Account.Name and their AHPRA registration number stored in a custom field. Multi‑practitioner groups are represented as parent‑child Account hierarchies, allowing you to roll up performance metrics at the group level while retaining individual practitioner details.

Zedmed

Practice / Clinic Organisation

maps to

Freshsales

Account

1:1
Fully supported

The Zedmed practice or clinic itself is mapped to a Freshsales Account record representing the organisation. Practice address, phone, and billing details are transferred to the corresponding Account fields, and practitioner Accounts are linked via custom relationship fields, enabling you to associate each practitioner with their employing clinic directly within Freshsales.

Zedmed

Appointment Record

maps to

Freshsales

Task (Activity)

1:1
Fully supported

Zedmed appointment records have no direct Freshsales equivalent. We migrate each appointment as a Task with Subject set to the appointment type (e.g., 'Initial Consultation — Dr Smith'), Start Date/Time and End Date/Time preserved, and practitioner linked via the Task owner or a custom Practitioner__c field.

Zedmed

Appointment Record (cancelled/no-show)

maps to

Freshsales

Task (Activity) with Status mapping

1:1
Fully supported

Zedmed appointment statuses (attended, did not attend, cancelled, rescheduled) are mapped to Freshsales Task status values using a value‑mapping table. DNAs (did not attend) are flagged with a custom DNA__c checkbox, allowing practice analytics in Freshsales to track patient no‑show rates and schedule adherence across providers.

Zedmed

Invoice / Billing Record

maps to

Freshsales

Custom Field on Contact (Billing_Reference__c)

1:1
Fully supported

Zedmed invoices carry item numbers, MBS fees, payer type (Medicare/DVA/WorkCover/TAC), and payment status — none of which have a standard Freshsales equivalent. We compress the key billing fields (payer, bulk-bill flag, last invoice amount, item numbers) into a structured custom field on the Contact record. Full invoice history is preserved as a PDF attachment.

Zedmed

Clinical Note / Letter

maps to

Freshsales

Note / Attachment on Contact

1:1
Fully supported

Zedmed clinical letters, referral documents, and SmartForms have no Freshsales schema equivalent, so we export each document as a PDF and attach it to the relevant Contact record in Freshsales Files. The original filename and creation timestamp are retained for audit traceability, and the attached files are accessible from the Contact’s activity timeline.

Zedmed

Prescription / Pathology Record

maps to

Freshsales

Note / Attachment on Contact

1:1
Fully supported

Prescription and pathology result records from Zedmed are exported as structured PDFs and attached to the Contact in Freshsales. Because field‑level mapping is not possible, the attachment preserves the full clinical context, allowing the practitioner to view the document directly from the Contact record while maintaining the original document integrity.

Zedmed

Referral Record

maps to

Freshsales

Custom Object or Task

1:1
Fully supported

Zedmed referrals between practitioners map to Freshsales either as Tasks on the source Contact with referral details in custom fields (referring practitioner, referral reason, urgency), or as a custom Referral object on Enterprise+ plans where the admin has pre-created the object schema.

Zedmed

Payer Configuration (Medicare, BUPA, DVA, TAC, WorkCover)

maps to

Freshsales

Custom Field / Picklist on Contact

1:1
Fully supported

Zedmed payer types are mapped to a Freshsales custom pick-list field (Payer_Type__c) with values representing each supported payer. The practice's specific fee schedule per payer is documented in the migration plan for rebuild in Freshsales Product Catalog or a custom fee schedule object.

Zedmed

Practice User / Practitioner

maps to

Freshsales

Freshsales User

1:1
Fully supported

Zedmed practitioner and staff accounts are matched to Freshsales users by email address. Where no email match exists, records are assigned to a fallback Freshsales user and flagged in the pre-migration owner-resolution report. Zedmed role-based clinical permissions do not translate to Freshsales profile/sharing settings.

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.

Zedmed logo

Zedmed gotchas

High

No public API — database extraction requires Zedmed support

High

v39 forces ZedSMS-only SMS after upgrade

Medium

Clinical WP Templates require RTF format and may be incompatible

Low

Browser cloud restrictions affect document printing

Medium

P1/P2/P3 private fee levels require explicit mapping

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

Pair-specific challenges

  • No native appointment object means appointment history requires custom field design

    Freshsales has no native Appointments object — appointment records must migrate as Tasks with appointment-type and practitioner fields stored in custom fields. Practices with complex appointment books that include recurring slots, multi‑provider schedules, telehealth links, room numbers, or recall intervals need a pre‑migration custom field schema design session. Without these custom fields pre‑created, appointment‑specific attributes will be lost or require post‑migration data cleanup. We recommend documenting each appointment attribute that must be preserved, mapping them to Freshsales Task fields or custom fields, and testing the mapping with a sample batch before loading the full history.

  • Medicare billing data has no standard Freshsales equivalent

    Zedmed stores Medicare item numbers, MBS fees, derived items, bulk‑billing flags, and P1/P2/P3 private fee levels. Freshsales has no native billing or healthcare billing object. We compress the key billing fields (payer type, bulk‑bill flag, last invoice amount, item numbers) into custom fields on the Contact record and preserve full invoice PDFs as file attachments. After migration, the practice must rebuild its MBS fee schedule in Freshsales Product Catalog or a custom fee‑schedule object, and re‑enter any specific item‑level discounts or concessions that existed in Zedmed.

  • Clinical notes, prescriptions, and referrals cannot be field-mapped

    Zedmed clinical letters, referral documents, SmartForms, prescriptions, and pathology results are document‑based. Freshsales has no clinical notes object, so these records cannot be mapped field‑by‑field. We export each document as a PDF, attach it to the corresponding Contact record in Freshsales Files, and preserve the original filename and creation timestamp for audit traceability. Because the content is stored as an attachment, it is not searchable or reportable inside Freshsales without a third‑party document‑management integration, which may affect workflows that rely on automatic data extraction.

  • Freshsales API rate limits gate migration speed by plan tier

    Freshsales API rate limits are 1,000 requests per hour on Growth, 2,000 on Pro, and 5,000 on Enterprise plans. Zedmed has no documented third‑party export API, so migration relies on Zedmed’s built‑in export tools to generate CSV files, which are then processed and loaded via Freshsales bulk import or direct API calls. Large appointment histories can be throttled by Freshsales API limits on the target account, which may extend the cutover window. We mitigate this by batching records, using bulk endpoints where possible, and scheduling high‑volume loads outside business hours.

  • Healthcare data compliance must be addressed before CRM migration

    Patient health records in Zedmed contain sensitive personal and health information subject to the Australian Privacy Principles and potentially state health records legislation. Freshsales is a cloud platform hosted by Freshworks, with servers located in the United States and India, which may have different data‑sovereignty requirements. Before migration, practices must confirm that patient consent covers CRM storage outside Australia, obtain any required authorisations for health data transfer, assess Freshsales’ compliance with their data‑handling obligations, and determine whether any notifications to the Office of the Australian Information Commissioner are necessary.

Migration approach

Six steps for a successful Zedmed to Freshsales data migration

  1. Audit Zedmed data and design Freshsales custom field schema

    We extract a full data inventory from Zedmed using the platform’s built‑in export tools, categorising patient records, practitioner profiles, appointment history, billing data, and clinical documents. We then design the Freshsales custom field schema — for example Medicare_Number__c, Bulk_Bill__c, Last_MBS_Item__c, Payer_Type__c, and any required pick‑list values — with appropriate field types and visibility settings before any data is loaded into the CRM.

  2. Create Freshsales custom fields and map practitioner-to-user resolution

    We create all required custom fields on the Contact and Account objects in Freshsales, set field‑level permissions, and generate a practitioner‑to‑user resolution report by matching Zedmed practitioner email addresses to Freshsales user accounts. Unmatched practitioners are flagged so your team can either create Freshsales users, assign records to a fallback owner, or update the email list in Zedmed before migration runs, ensuring every Contact has an owner.

  3. Migrate practitioner and practice data before patient records

    Freshsales requires Accounts to exist before Contacts (via the account_id lookup). We sequence the migration as follows: practitioners → Accounts, practices → Account hierarchies, then patient records → Contacts with account_id set to the corresponding practitioner or practice Account. Appointment records are loaded as Tasks linked to the Contact and owned by the matched practitioner user, preserving the appointment type, start/end times, and any custom flags.

  4. Run a sample migration with field-level diff

    A representative slice — typically 100–500 patient records, a subset of appointments, and a billing record per payer type — migrates first. We generate a field‑level diff comparing Zedmed source values against Freshsales destination fields so you can verify custom field mapping, appointment‑type subject lines, DNA flag settings, practitioner owner resolution, and any value‑mapping conversions before the full run commits.

  5. Full migration with delta-pickup window and rollback plan

    The full migration runs against Freshsales using bulk import for high‑volume records and API calls for records requiring custom field resolution. A delta‑pickup window of 24–48 hours captures any new or modified Zedmed records during cutover. All operations are logged in an audit trail, and a one‑click rollback reverts to the pre‑migration state if reconciliation reveals unexpected data divergence, ensuring minimal disruption to live data.

Platform deep dives

Context on both ends of the pair

Zedmed logo

Zedmed

Source

Strengths

  • Integrated Medicare, DVA, WorkCover, and health fund claiming with Tyro EFTPOS and MA Online directly in the billing workflow.
  • Dual deployment — Zedmed Cloud handles server maintenance and security; Zedmed On-premise gives full server control for practices preferring it.
  • Comprehensive clinical module covering e-prescribing, pathology results, referrals, chronic disease management, and drawing on images within one system.
  • Per-user pricing with discounted rates for part-time and admin staff, plus a free Doctor's App on iOS for practitioners.
  • Multi-location functionality allows single-app management across multiple clinic sites with separate or shared configurations.

Weaknesses

  • No publicly documented API — all data extraction for migration requires direct engagement with Zedmed support for database-level access.
  • Browser-based cloud interface introduces workflow friction: 2FA requires phone fallback, copy-paste and PDF printing need specific browser settings.
  • Interface is perceived as dated compared to newer medical platforms; limited customisation options for UI and workflow adaptation.
  • Upgrade paths introduce breaking changes — v39 deprecates legacy SMS providers in favour of ZedSMS only, forcing provider changes at migration time.
  • Limited third-party integrations beyond HealthLink, Tyro, and HL7 messaging — no modern REST API for EHR or analytics integrations.
Freshsales logo

Freshsales

Destination

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 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 Zedmed and Freshsales.

  • Object compatibility

    B

    2 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

    Zedmed: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Zedmed to Freshsales 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 Zedmed to Freshsales data migrations

Answers to the questions buyers ask most during Zedmed to Freshsales migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Zedmed to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Zedmed to Freshsales migrations complete in 48–72 hours of clock time for a single-location practice with under 25,000 patient records. Multi-location setups, practices with high appointment volumes (50,000+ appointment records), or configurations requiring extensive custom field design extend the timeline to 5–7 days. The longest step is designing the Freshsales custom field schema before any data is loaded, followed by a dry-run to validate mapping and a 24–48 hour delta capture to capture any in-flight changes after the initial export.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Zedmed.
Land in Freshsales, 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