CRM migration

Migrate from coreplus to Odoo CRM

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

coreplus logo

coreplus

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

83%

10 of 12

objects map 1:1 between coreplus and Odoo CRM.

Complexity

BStandard

Timeline

24–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

CorePlus is a practice-management platform (healthcare, professional services) whose data model centers on clients, practitioners, appointments, invoices, and service types. Odoo CRM uses a unified res.partner model for contacts, crm.lead for leads and opportunities, and account.move for invoices — with calendar.event for scheduling. The migration must translate CorePlus client properties into Odoo partner fields, practitioner email linkages into Odoo res.users, appointment slots into Odoo calendar events, and CorePlus invoices into Odoo account moves. CorePlus exposes a RESTful API for server-to-server integrations and also offers an instant-data-backup CSV export that FlitStack AI uses as a primary extraction path when API rate limits (Builder tier caps) make bulk pull preferable. We map every standard CorePlus field to its Odoo equivalent, create custom fields via Odoo Studio for any healthcare-specific properties that have no native Odoo analogue, and surface practitioner scheduling data so Odoo calendar views reflect your full appointment history. Workflows, automations, and practitioner scheduling rules do not migrate — FlitStack exports those definitions as reference JSON for your Odoo administrator to rebuild using Odoo's Studio automation tools.

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

Odoo CRM logo

Odoo CRM

What's pulling them in

  • Teams choose Odoo CRM for its modular architecture — one base install with one-click app additions means they can adopt CRM alone and add accounting, inventory, or sales later as the business grows.
  • Small businesses pick Odoo because the Community edition is free and open-source, with no per-user or contact limits, allowing full evaluation before committing to a paid Enterprise tier.
  • The drag-and-drop Kanban pipeline and AI lead scoring are highlighted across G2 reviews as concrete features that make lead management faster and more visual than spreadsheet-based workflows.
  • Odoo's native integration with email, live chat, SMS, VoIP, and WhatsApp means inbound leads from multiple channels feed into a single pipeline without third-party middleware.
  • Companies in retail, supply chain, and construction value that Odoo's CRM module shares the same PostgreSQL database and UI as its ERP modules, eliminating data silos between sales and operations.

Object mapping

How coreplus objects map to Odoo CRM

Each row shows how a coreplus object lands in Odoo CRM, 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

Odoo CRM

res.partner

1:1
Fully supported

CorePlus clients map 1:1 to Odoo res.partner records. We set type='contact' for individuals and parse the business_name field to determine if a separate company partner should be created with the client as a child contact. All CorePlus client properties migrate as partner fields.

coreplus

Client.business_name

maps to

Odoo CRM

res.partner (company)

1:many
Fully supported

When a CorePlus client has a non-empty business_name value, FlitStack creates a parent res.partner with type='company' using the business name, then creates the individual client as a child contact under it. This replicates the CorePlus company contact relationship in Odoo's hierarchical partner model.

coreplus

Practitioner

maps to

Odoo CRM

res.users

1:1
Fully supported

CorePlus practitioners are matched by email to Odoo res.users. Each practitioner with an active CorePlus status creates an active Odoo user. If a matching Odoo user does not exist, FlitStack creates the user with the practitioner email and flags it for your admin to set the password and assign security groups.

coreplus

Practitioner

maps to

Odoo CRM

res.partner

many:1
Fully supported

Practitioner contact details (email, phone, mobile) also migrate as res.partner records so the practitioner appears in Odoo's contact list for reporting and marketing purposes. This creates a parallel partner record alongside the res.users record, linked by matching email. The partner record inherits the practitioner's address and company affiliation from CorePlus if those fields are populated.

coreplus

Appointment

maps to

Odoo CRM

calendar.event

1:1
Fully supported

CorePlus appointment records map to Odoo calendar.event with start_datetime and stop_datetime preserved from the source. The practitioner_id resolves to a res.users many2one; client_id resolves to a res.partner many2one. Service type notes and appointment status migrate as event description text or custom event fields.

coreplus

Appointment status

maps to

Odoo CRM

calendar.event.state

1:1
Fully supported

CorePlus appointment status values (scheduled, confirmed, completed, cancelled, no-show) map to Odoo calendar.event state values (open, cancelled, done). The mapping is defined during the migration plan phase and validated against Odoo's default state picklist. Any CorePlus statuses that don't have a direct Odoo equivalent are mapped to the closest available state, with a note recorded in the migration audit log for your admin to review post-migration.

coreplus

Service Type

maps to

Odoo CRM

product.product

1:1
Fully supported

CorePlus service types export as product.product records in Odoo with type='service'. The name, fee, and stock_level fields map to name, list_price, and qty_available respectively. If the service type has a category, we create a product.category in Odoo and assign it.

coreplus

Invoice

maps to

Odoo CRM

account.move

1:1
Fully supported

CorePlus invoice records migrate as Odoo account.move entries with move_type='out_invoice'. The client_id resolves to the res.partner commercial_partner_id, line items derive from service_type references, and total amount maps to amount_total. Payment state is set based on CorePlus invoice status. If a CorePlus invoice has multiple payments applied, FlitStack creates corresponding account.payment records linked to the invoice.

coreplus

Referrer

maps to

Odoo CRM

res.partner (tag)

1:1
Fully supported

CorePlus referrer records (referring practitioners or sources) have no direct Odoo CRM equivalent. FlitStack migrates referrer names as res.partner tags using Odoo's tag system (res.partner.category). These tags are visible on the contact form and filterable in Odoo pipeline views. The original referrer type (practitioner vs. source) is preserved as a tag prefix so your team can distinguish between referral sources in reports.

coreplus

Custom client fields

maps to

Odoo CRM

res.partner (custom)

1:1
Fully supported

Any CorePlus client custom fields not matching standard Odoo res.partner fields are created as custom fields via Odoo Studio before migration. FlitStack reads the field type from the CorePlus instant-data-backup CSV header and creates the matching Odoo field type (char, selection, float, boolean, date, etc.).

coreplus

Custom appointment fields

maps to

Odoo CRM

calendar.event (custom)

1:1
Fully supported

CorePlus appointment custom fields (e.g., intake notes, cancellation reason, room number) are created as custom fields on calendar.event in Odoo before data loads. Notes text longer than Odoo's default char limit is stored in the event description field or a custom text field.

coreplus

Instant Data Backup CSV

maps to

Odoo CRM

Multiple Odoo models

1:1
Fully supported

The CorePlus instant-data-backup CSV is the primary extraction path when API rate limits are a concern. FlitStack parses each sheet (clients, practitioners, appointments, invoices, service_types) and routes rows to the appropriate Odoo model. The CSV is re-read as a structured data source, not a raw file dump — field headers are matched to Odoo field names during the mapping phase.

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

Odoo CRM logo

Odoo CRM gotchas

High

Odoo.sh version gating blocks assisted migrations from trial

High

Enterprise modules fail to install on Community after database restore

Medium

Custom module view inheritance breaks between Odoo major versions

Medium

Custom fields risk losing their application context on Community

Low

API access for Community is gated behind the Custom Plan

Pair-specific challenges

  • Practitioner scheduling has no native Odoo CRM equivalent — calendar.event does not track practitioner availability rules

    CorePlus appointment records include practitioner_id and a practitioner availability slot concept that governs which clients can be booked when. Odoo calendar.event stores historical and scheduled events but does not natively replicate practitioner availability rules, recurring availability templates, or blocked-time rules. FlitStack migrates the appointment records themselves as calendar.event rows preserving start/stop datetimes and practitioner linkage, but the availability rules must be rebuilt in Odoo using Odoo Planning (if installed) or manually configured availability on each practitioner res.users record.

  • Instant-data-backup CSV column names require snake_case mapping before Odoo import can parse them

    The CorePlus instant-data-backup CSV export generates column headers using the property names from the CorePlus platform (e.g., mobilephone, business_name, practitioner_id). Odoo's CSV import expects field names that match its internal model fields exactly (e.g., mobile, parent_id/commercial_partner_id, user_id). FlitStack generates a pre-processing step that renames CSV headers to Odoo-compatible field names before writing to the database via XML-RPC, preventing import failures caused by mismatched column names. This header remapping handles all CorePlus object types including clients, practitioners, appointments, invoices, and service types in a single transformation pass.

  • Odoo requires custom fields to exist before data can be written into them — schema setup must precede data migration

    CorePlus custom fields on clients and appointments (e.g., health fund, referral source notes, client consent flags) have no native Odoo CRM equivalent and must be created as custom fields on res.partner or calendar.event before migration data lands. Odoo Studio requires a database user with administrator privileges to create fields, and the field type must match the data (char, selection, boolean, date, etc.). FlitStack delivers a field-creation script alongside the migration plan so your Odoo admin can pre-create the schema before the data migration run commits.

  • Odoo account.move invoices require a commercial_partner_id and matching product lines — invoice migration without service-type-to-product mapping produces orphaned records

    CorePlus invoices reference service_type_id but Odoo account.move requires line items attached to specific product.product records with account IDs. If the CorePlus service types have not been pre-created as Odoo products, the invoice total amount will migrate but the line-item breakdown and associated revenue accounts will be missing. FlitStack maps each CorePlus service_type to a product.product record during the mapping phase, then writes invoice lines referencing those products, ensuring Odoo accounting reports show the correct revenue breakdown by product.

  • CorePlus API Builder tier rate limits may extend migration duration for large record sets

    The CorePlus Builder tier enforces API call quotas per month. For large migrations exceeding the Builder-tier quota, FlitStack falls back to the instant-data-backup CSV as the primary extraction path rather than making repeated API calls. The CSV export is unrestricted and available to any CorePlus user with supervisor-level access. If your migration includes real-time delta pulls (in-flight changes during cutover), those delta API calls are batched and throttled to respect Builder-tier limits, which can extend the delta window beyond 48 hours.

Migration approach

Six steps for a successful coreplus to Odoo CRM data migration

  1. Audit CorePlus data and build the Odoo target schema

    FlitStack reads the CorePlus instant-data-backup CSV and your API schema (client fields, practitioner fields, appointment fields, service types, invoice structure) to produce a full field inventory. We identify every CorePlus custom field and create a corresponding Odoo custom field on the correct model using Odoo Studio or a field-definition script delivered alongside the migration plan. Your Odoo admin applies the field-creation script before the data migration run.

  2. Map CorePlus practitioners to Odoo res.users by email

    Practitioners are matched to Odoo users by email address. For each CorePlus practitioner, FlitStack checks for an existing Odoo res.users record with a matching login. If no match exists, the migration plan flags the practitioner for admin review — your team either creates the Odoo user first or assigns their records to a designated fallback owner. No calendar event or invoice owner is left unresolved.

  3. Migrate clients and companies in dependency order

    Odoo requires partner records to exist before calendar events or invoices can reference them. FlitStack sequences the migration: first res.partner records for clients and companies (splitting business_name into parent/child contacts), then practitioner res.users records, then service types as product.product records, then calendar.event appointments, then account.move invoices. Each step validates foreign-key integrity before the next step begins. This dependency-ordered approach prevents orphaned records and ensures that every many2one reference resolves to an existing Odoo record ID.

  4. Run a sample migration with field-level reconciliation

    A representative slice — typically 100–300 CorePlus records spanning clients, practitioners, appointments, and invoices — migrates first. FlitStack generates a field-level diff report comparing source values against the destination records written to Odoo, so you can verify that practitioner linkage resolved correctly, appointment timestamps match, and invoice totals balance. Any mapping errors are corrected before the full run commits. The diff report highlights discrepancies in date formats, missing foreign-key resolutions, and truncated text fields so your team can confirm data fidelity before committing the full migration.

  5. Execute full migration with delta-pickup window

    The full CorePlus dataset migrates into Odoo CRM via XML-RPC API. A delta-pickup window (typically 24–48 hours) captures any CorePlus records created or modified during the cutover period. FlitStack produces an audit log of every record written, including the source CorePlus ID and the target Odoo record ID. One-click rollback reverts all records if reconciliation fails. The migration run can be paused and resumed if network interruptions occur, with checkpoint recovery resuming from the last successfully written batch rather than restarting from zero.

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.
Odoo CRM logo

Odoo CRM

Destination

Strengths

  • Modular open-source architecture lets teams start with CRM and add ERP apps as needs grow, all sharing one PostgreSQL database.
  • Free Community edition with no contact limits and full source code access means zero licensing cost for evaluation and small deployments.
  • Drag-and-drop Kanban pipeline with AI lead scoring gives a visual, prioritized view of the sales funnel without requiring custom configuration.
  • Native integrations with email, live chat, SMS, VoIP, WhatsApp, and social media feed all inbound leads into a single unified inbox.
  • Active Odoo Community Association (OCA) maintains dozens of community-maintained modules on GitHub for extended functionality.

Weaknesses

  • Gmail and email integration reliability is a recurring complaint — threads drop and conversations scatter across inboxes, disrupting sales team workflows.
  • Enterprise edition pricing stacks quickly: multiple apps at per-user rates ($25–$50/user/month) plus Odoo.sh hosting costs more than many SMBs anticipate.
  • Setup and configuration complexity increases significantly once custom fields, automation rules, and multiple installed modules are in play.
  • Odoo.sh trial databases run on a version (e.g., 18.3) that is not directly migratable to Odoo.sh, blocking the assisted migration path Odoo advertises.
  • Version upgrades between major Odoo releases (e.g., 17→18) frequently break custom module view definitions and XPath expressions, requiring manual remediation.

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 coreplus and Odoo 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

    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 Odoo 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 coreplus to Odoo CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most CorePlus to Odoo CRM migrations complete within 24–72 hours of clock time for datasets under 20,000 records. The CorePlus instant-data-backup CSV export is the fastest extraction path when API rate limits are a constraint. Larger migrations exceeding 100,000 records, or those requiring Odoo Studio custom field creation for more than 20 healthcare-specific client properties, extend to 5–10 business days. The Odoo field-creation step is the longest planning phase because each custom field must be defined on the correct model before data can be written.

Adjacent paths

Related migrations to explore

Ready when you are

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