CRM migration

Migrate from coreplus to Freshsales

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

coreplus logo

coreplus

Source

Freshsales

Destination

Freshsales logo

Compatibility

92%

11 of 12

objects map 1:1 between coreplus and Freshsales.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Coreplus stores client records, practitioner profiles, appointment schedules, referral sources, and invoice references in a flat, practitioner-centric data model exposed via REST API. Freshsales is a full-featured sales CRM that separates leads, contacts, and accounts into distinct objects, assigns records to users via email-based owner resolution, and stores appointment data as tasks and events rather than a unified scheduling record. The migration maps Coreplus clients to Freshsales contacts and accounts, Coreplus practitioners to Freshsales users (with email-matching and fallback handling for practitioners without email addresses), and Coreplus appointments to Freshsales tasks and events with original dates, status, service type, and notes preserved in custom fields. Invoices, which have no Freshsales equivalent, are stored as custom text fields on contact records with a reference to the exported invoice CSV. The approach uses the Freshsales REST API for all object creation and custom field population, bypassing the limited standard CSV import which cannot handle practitioner assignments, multi-day appointment splits, or custom field creation. We sequence the migration to resolve user ownership before contacts land, run a sample diff before the full run commits, and capture in-flight changes during a 24–48 hour delta pickup window.

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

coreplus logo

coreplus

What's pushing teams away

  • Support responsiveness is a recurring complaint — users report slow response times and features taking too long to ship, leading some to evaluate alternatives.
  • The patient notes UI has been flagged as not meeting clinical needs, particularly the body chart placement relative to the rest of the clinical note workspace.
  • Some practices outgrow the platform's feature velocity and report abandoning the software when requested features are not delivered within acceptable timeframes.
  • Customisation limitations have driven practices to seek platforms with more flexible workflow configuration or broader third-party integrations.

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 coreplus objects map to Freshsales

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

coreplus

Client

maps to

Freshsales

Contact + Account

1:1
Fully supported

Coreplus clients with a person name map to Freshsales Contact; clients with a business name map to Freshsales Account. The primary company association from Coreplus creates an AccountId lookup on the contact record. Multi-contact households in Coreplus collapse to one contact with household details stored in a custom field.

coreplus

Practitioner

maps to

Freshsales

User

1:1
Fully supported

Coreplus practitioners map to Freshsales users via email matching. This is the most migration-specific gotcha: Freshsales requires every user to have a valid email, but Coreplus practitioners may not. We flag all practitioners without email addresses before migration and ask your team to add emails or designate fallback Freshsales users for each unresolved practitioner record.

coreplus

Appointment

maps to

Freshsales

Task + Event

1:many
Fully supported

Coreplus appointments with a duration of one day or less map to Freshsales Event records with the original start and end times preserved. Multi-day or all-day appointments in Coreplus split into separate Freshsales task records, one per day, with the full appointment description and service type preserved in the task Notes field. Practitioner assignments resolve to Freshsales user IDs via the email-matching step.

coreplus

Referrer

maps to

Freshsales

Account

1:1
Fully supported

Coreplus referrers map directly to Freshsales Account records. The referrer name becomes the Account Name; referral type maps to Industry or a custom pick-list field. Referral-specific notes become Account Description. Referrer contact details map to Account phone and email fields if present in the Coreplus record.

coreplus

Invoice

maps to

Freshsales

Custom Field on Contact

1:1
Fully supported

Freshsales has no native invoice object. We create a custom text field (Invoice_Reference__c) on the Contact record and populate it with the Coreplus invoice ID and basic billing reference. The full invoice line-item data is exported as a CSV and linked from the contact record for post-migration reference.

coreplus

Service Type

maps to

Freshsales

Product

1:1
Fully supported

Coreplus service types with associated fees map to Freshsales Product records. Fee amounts map to Product unit_price; service type name maps to Product name. Active and archived status is preserved. If service types are used purely as categorization labels without pricing, they map to a custom pick-list field on the appointment task or event instead.

coreplus

Client Custom Fields

maps to

Freshsales

Custom Field on Contact

1:1
Fully supported

Any custom fields added to the Coreplus client record are exported via the REST API and recreated as Freshsales custom fields on the Contact object before migration. Custom field data types (text, number, pick-list, date, checkbox) are matched to the equivalent Freshsales field type. Pick-list custom fields require value-by-value mapping if the allowed values differ between platforms.

coreplus

Practitioner Custom Fields

maps to

Freshsales

Custom Field on User / Contact

1:1
Fully supported

Custom practitioner fields in Coreplus are mapped to custom fields on Freshsales User records or on contact records where practitioner context is stored. If the practitioner field captures credentials or specializations relevant to client records, we store it on both the User and as a custom contact field for visibility on the client side.

coreplus

Appointment Attachments

maps to

Freshsales

Not Migrated (Manual Re-upload)

1:1
Fully supported

Coreplus does not support attachment import and Freshsales standard CSV import does not handle files. We document all attachment URLs and file types referenced in appointment notes so your team can re-upload via Freshsales Files after migration. This is scoped separately from the standard migration price.

coreplus

Appointment Location

maps to

Freshsales

Custom Field on Task / Event

1:1
Fully supported

Coreplus appointment location data (clinic room, telehealth link, client address) has no equivalent native field in Freshsales tasks or events. We create an Appointment_Location__c custom text field on the Task object and populate it from the Coreplus location field. Virtual appointment links are stored in the same field.

coreplus

Client Created Date

maps to

Freshsales

Custom Field on Contact

1:1
Fully supported

Freshsales sets CreatedDate at migration time, overwriting any historical timestamp. We preserve the original Coreplus created_date as a custom datetime field (Original_Create_Date__c) on every contact, account, and task record so reporting reflects the true record history from the source system.

coreplus

Coreplus System ID

maps to

Freshsales

Custom Field on All Records

1:1
Fully supported

The Coreplus unique record ID is stored in a custom text field (Source_System_ID__c) on every migrated record — contacts, accounts, tasks, and events. This enables delta-run de-duplication if the migration runs more than once and provides a traceability link back to the source record for audit purposes.

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.

coreplus logo

coreplus gotchas

High

Supervisor-level access required for data backup

High

No native bulk-export API for appointments or invoices

Medium

MYOB export produces three separate files requiring manual import

Medium

Tier-based API access and undocumented rate limits

Low

Body charts are embedded in notes and not independently exportable

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

  • Standard CSV import cannot handle practitioner assignments, appointment splits, or custom fields

    The Freshsales standard CSV import tool supports Leads, Contacts, Accounts, and Opportunities only and cannot create custom fields, map practitioner IDs to Freshsales user IDs, or split multi-day Coreplus appointments into separate Freshsales task records. All appointment migration, practitioner-to-user mapping, custom field creation, and invoice-reference population requires the Freshsales REST API. We use the API for all object creation and custom field population — the CSV import is not used for this migration pair.

  • Practitioners without email addresses block owner resolution in Freshsales

    Freshsales requires every user to have a valid email address. Coreplus allows practitioner records without email addresses. During migration, practitioner IDs resolve to Freshsales OwnerId via email matching — practitioners without emails cannot resolve automatically and are flagged before migration. Your team must either add email addresses to Coreplus practitioner records or designate fallback Freshsales users for each practitioner without one. This pair-specific gotcha arises because Coreplus permits email-free practitioner records, unlike most CRM systems where every user has an email.

  • Multi-day Coreplus appointments require splitting into separate Freshsales task records

    Coreplus appointments can span multiple days with extended duration fields. Freshsales Event records support only a single StartDateTime and EndDateTime — there is no native multi-day event construct in the platform. To migrate these appointments accurately, multi-day appointments in Coreplus are split into separate Freshsales Task records, one per day, with the original appointment ID preserved in Source_System_ID__c on each generated task for traceability. The appointment description, service type, location, and practitioner assignment are included in every generated task record so nothing is lost across the split. This ensures the complete appointment context transfers even when the underlying record must be divided.

  • Coreplus does not support attachment import and Freshsales CSV import skips files entirely

    Coreplus help documentation explicitly states that attachments are not imported during onboarding or migration. Any file attachments linked to client records, appointments, or practitioner profiles in Coreplus must be identified before migration scoping. Freshsales standard import also does not handle file attachments. We scope file re-upload separately via the Freshsales Files API after the main migration, listing all source file URLs in the migration audit log so nothing is silently dropped.

  • Invoice data has no native Freshsales equivalent — requires custom field and CSV workaround

    Freshsales has no invoice object. Coreplus generates invoice records with its own numbering system that cannot be overwritten by external IDs. We store invoice ID, invoice date, and outstanding balance as custom text fields on the Freshsales Contact record (Invoice_Reference__c, Invoice_Date__c, Outstanding_Balance__c). The full invoice line-item data is exported as a separate CSV and linked from the contact record. Billing reconciliation must reference the exported invoice CSV rather than a native Freshsales billing module.

Migration approach

Six steps for a successful coreplus to Freshsales data migration

  1. Map Coreplus data model and validate Freshsales target schema

    We review your Coreplus CSV export and API field inventory to confirm record counts for clients, practitioners, appointments, referrers, and service types. We audit Freshsales for existing lifecycle stages, pipeline stages, and product catalog entries. We identify all Coreplus practitioners without email addresses and surface the list to your team for resolution before migration begins. Appointment date ranges are analyzed to count multi-day records requiring split logic.

  2. Create Freshsales custom fields and product catalog entries

    Using the Freshsales REST API, we create all required custom fields on the Contact object before any records are written. The custom fields include Original_Create_Date__c (datetime) for preserving source timestamps, Source_System_ID__c (text) for traceability and delta-run matching, Practitioner_ID__c (text) for linking appointments to practitioners, Contact_Status__c (pick-list) for client status values, Appointment_Location__c (text) for location data, Service_Type__c (text) for service categorization, Invoice_Reference__c (text) for invoice ID mapping, Invoice_Date__c (date) for invoice dates, and Outstanding_Balance__c (currency) for billing balances. Coreplus service types are also created as Freshsales Product records via the API. All custom field IDs returned by the Freshsales API are captured and stored for the mapping configuration step.

  3. Extract and prepare all Coreplus records via REST API

    We paginate through the Coreplus REST API to extract all client, practitioner, appointment, and referrer records with full field inventories. Practitioner email gaps are resolved or flagged. Appointment records are analyzed for multi-day splitting. Invoice CSV exports are generated separately. All source records are staged in a migration buffer with source system IDs preserved for field-level diff and delta-run de-duplication.

  4. Run sample migration with field-level diff

    A representative sample of 100–500 records spanning clients, practitioners, appointments, and referrers migrates to Freshsales first. We generate a field-level diff report comparing every mapped field value between the Coreplus source record and the Freshsales destination record. Practitioner resolution failures, appointment split records, and any custom field population gaps appear in the diff report. You review and approve before the full migration commits.

  5. Execute full migration with delta-pickup window and audit log

    The full record set migrates via the Freshsales API in batches, respecting rate limits. A 24–48 hour delta-pickup window captures any Coreplus records modified or created during the cutover period. Every API operation is logged in an audit trail. If reconciliation fails — a record count mismatch, a custom field blank where data was expected, or a practitioner assignment that cannot resolve — one-click rollback reverses the migration so the issue can be corrected and the migration re-run.

Platform deep dives

Context on both ends of the pair

coreplus logo

coreplus

Source

Strengths

  • Dedicated MYOB invoice export function for Australian accounting workflows without requiring a native direct integration.
  • Instant Data Backup feature produces a CSV of all client records at no extra cost, accessible to Supervisor-level users.
  • Multi-tier pricing with a low entry point (A$5/month Basic) lets small practices validate the platform before committing to CORE or PLUS tiers.
  • REST API with sandbox environment allows developers to build server-to-server integrations and test against a trial account before production deployment.
  • Position and specialty fields on practitioners support team-based practice structures with differentiated service delivery.

Weaknesses

  • No native bulk-export endpoint for appointments, practitioners, or invoices — all non-CSV record types require individual API calls per object, increasing migration timeline for large datasets.
  • Support responsiveness is a known pain point — slow feature delivery has been cited as a reason practices abandon the platform.
  • Patient notes usability is considered deficient by some clinical users, particularly the body chart placement relative to the note text.
  • No public documentation of API rate limits by tier — the Intuit App Partner tier system implies tiered API caps, but the exact limits are not published.
  • coreplus does not offer automated MYOB sync — the export workflow requires manual steps and a separate import into MYOB AR.
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 coreplus 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

    coreplus: Not publicly documented. Intuit App Partner tiers imply Builder tier caps with upgrade to Silver for higher quotas..

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

Most Coreplus-to-Freshsales migrations complete within 48–72 hours of migration clock time for under 30,000 total records. The end-to-end project duration — including schema setup, Freshsales custom field creation, practitioner email-gap resolution, sample migration review, and delta-pickup — typically runs 3–5 days. Larger datasets with active multi-year appointment histories, practitioner rosters without email addresses, or multiple custom field types extend into the upper range. We deliver a detailed timeline during scoping based on your actual record counts.

Adjacent paths

Related migrations to explore

Ready when you are

Move from coreplus.
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