CRM migration

Migrate from Bp Premier to Odoo CRM

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

Bp Premier logo

Bp Premier

Source

Odoo CRM

Destination

Odoo CRM logo

Compatibility

90%

9 of 10

objects map 1:1 between Bp Premier and Odoo CRM.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

BP Premier is a medical practice-management system built for Australasian healthcare providers — it stores patient demographics, clinical measurements, prescription histories, appointment books, and My Health Record integrations. Odoo CRM is a modular ERP with a sales-workflow data model: leads and opportunities in crm.lead, contacts in res.partner, and pipeline stages managed through stage_ids on the opportunity record. The two platforms share little in terms of object structure, which makes migration a schema-translation problem more than a direct-field copy. FlitStack AI extracts patient demographic fields (name, date of birth, address, contact details) and organization records from BP Premier, then maps them into Odoo's res.partner and crm.lead objects. Clinical measurements, prescription data, and appointment logs have no Odoo equivalent and are surfaced as custom fields for reference or excluded from the migration scope. Owner resolution matches BP Premier users to Odoo res.users by email. We sequence the load so partner records exist before leads reference them via partner_id, and we run a sample migration with field-level diff before committing to the full run. Audit logging and one-click rollback cover reconciliation failures.

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

Bp Premier logo

Bp Premier

What's pushing teams away

  • The Windows server-based architecture requires dedicated IT infrastructure and manual patching, which smaller practices find burdensome compared to cloud-native alternatives.
  • Known issues in certain Bp Premier versions, including MySL date-created quirks and callstack alerts, cause frustration when support cannot resolve them quickly.
  • No publicly documented REST API limits external integrations, making Bp Premier difficult to connect with modern healthcare analytics, patient portals, or automated workflows.
  • Transitioning between Bp Premier versions (e.g., moving to Orchid) requires a full reinstall and data migration, creating significant downtime risk for practices.
  • Practices migrating to cloud-first platforms like Epic or ModMed report that the absence of a modern API makes automated data portability difficult and vendor-dependent.

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 Bp Premier objects map to Odoo CRM

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

Bp Premier

Patient Record

maps to

Odoo CRM

res.partner

1:1
Fully supported

BP Premier patient demographics including name, date of birth, gender, address, phone, and email map directly to corresponding res.partner fields. The original patient ID from BP Premier is stored as Source_Patient_ID__c custom field for traceability and delta-run de-duplication across migration cycles. This mapping preserves patient identity continuity between the two systems.

Bp Premier

Patient Record

maps to

Odoo CRM

crm.lead

1:many
Fully supported

BP Premier patients who have a billing or sales relationship with the practice (e.g., private billing patients, allied health clients) are created as crm.lead opportunities. Records without a commercial relationship remain as res.partner only. The split is based on BP Premier billing status flags.

Bp Premier

Organisation / Referring Doctor

maps to

Odoo CRM

res.partner (company type)

1:1
Fully supported

BP Premier organisation records representing referring doctors, third-party providers, and healthcare facilities map to res.partner with is_company=True. The organisation name, ABN/ACN registration numbers, and address fields translate to name, vat, and partner_address fields respectively in the Odoo schema.

Bp Premier

Appointment

maps to

Odoo CRM

crm.lead (activity summary)

1:1
Fully supported

BP Premier appointment records are condensed into activity summaries attached to the corresponding crm.lead. The appointment date, provider, type (new patient, review, procedure), and outcome are preserved as custom fields on the lead. Full appointment book migration requires a separate scheduling module.

Bp Premier

Clinical Measurement (BP, Pulse, etc.)

maps to

Odoo CRM

Custom fields on res.partner

1:1
Fully supported

BP Premier clinical measurements (blood pressure, pulse, weight, BMI) have no Odoo CRM equivalent. These are migrated as custom Float/Integer fields on res.partner (e.g., Last_BP_Systolic__c, Last_BP_Diastolic__c) for reference. Historical measurement series are documented in a separate export for clinical review.

Bp Premier

Prescription / Medication History

maps to

Odoo CRM

Custom fields on res.partner

1:1
Fully supported

Prescription data in BP Premier (medication name, dose, frequency, prescriber, date) is too clinical for Odoo CRM's object model. FlitStack creates a long-text custom field (Medication_History__c) on res.partner holding a structured text summary. Full prescription migration requires a dedicated pharmacy or clinical module.

Bp Premier

BP Premier User / Provider

maps to

Odoo CRM

res.users

1:1
Fully supported

BP Premier users and providers are matched to Odoo res.users records by email address. The original BP Premier user ID is stored on the mapped crm.lead as Original_Owner_ID__c custom field. Users with no email match are flagged in a Pre-Migration User Report for manual Odoo user creation before the migration script runs.

Bp Premier

Document / Attachment

maps to

Odoo CRM

ir.attachment

1:1
Fully supported

BP Premier documents attached to patient records including referral letters, imaging results, and consent forms are downloaded and re-uploaded as ir.attachment records linked to the corresponding res.partner in Odoo. File size limits and attachment type filters apply during the file migration process.

Bp Premier

Billing / Payment Record

maps to

Odoo CRM

account.move (draft)

1:1
Fully supported

BP Premier billing records (item, amount, date, status) map to draft account.move entries in Odoo's Accounting module. The invoice lines, amounts, and payment status are preserved; however, Odoo accounting setup (chart of accounts, taxes, journals) must be configured before this migration runs.

Bp Premier

Custom Field (BP Premier)

maps to

Odoo CRM

ir.model.fields (custom)

1:1
Fully supported

Each BP Premier custom field is assessed for an Odoo equivalent. Picklist fields map to Selection type fields; text fields map to Char or Text; numeric fields map to Integer or Float. Fields with no Odoo equivalent are created as Char fields and flagged for review.

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.

Bp Premier logo

Bp Premier gotchas

High

MySL prescription date-created has inconsistent behavior

High

My Health Record uploads are immutable and non-extractable

High

No REST API — migration relies entirely on export tools

Medium

Server-to-server migration requires full reinstall

Low

Legacy version data format differences

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

  • Clinical measurement and prescription data have no Odoo CRM equivalent

    BP Premier stores blood pressure readings, pulse rates, BMI, medication lists, and prescription histories as clinical properties on patient records. Odoo CRM has no native clinical data model — there is no crm.lead-level vital-sign field, no prescription object, and no clinical measurement history table. FlitStack migrates the most recent blood pressure systolic and diastolic readings and a text summary of medications as custom fields on res.partner, but the full clinical measurement time-series and prescription detail require either a custom Odoo clinical module or a separate document export. Practices expecting a complete clinical record in Odoo CRM will be disappointed — this migration covers patient demographics and commercial relationships, not clinical care data. The scope must be agreed in writing before migration commits to avoid post-migration disputes over data completeness.

  • BP Premier healthcare identifiers (HPI-I, IHI) require custom field setup in Odoo before migration

    Australian healthcare provider identifiers (HPI-I for practitioners, IHI for patients) stored in BP Premier have no native Odoo field. Odoo CRM does not include a healthcare identity model — the platform is built for commercial sales workflows, not the Australian health identifier scheme used by Medicare, My Health Record, and PRODA. FlitStack creates custom Char fields (HPI_I__c, IHI__c) on res.partner before data loads, but Odoo's developer mode or a custom module must be enabled to add fields with specific technical names. If the Odoo instance is on Odoo Online (SaaS), custom field creation may require partner assistance or an Odoo Studio license. This step is a pre-migration dependency that must be resolved before the field mapping runs.

  • BP Premier appointment books do not translate into Odoo calendar events without a scheduling module

    BP Premier appointment records capture provider, date/time, appointment type, and clinical outcome for each patient visit. Odoo CRM has crm.lead for pipeline management and res.partner for contact data, but it has no native appointment book or scheduling calendar that maps directly from a BP Premier appointment record. Odoo's calendar module (calendar.event) exists but requires a separate integration to link events to res.partner records. FlitStack converts BP Premier appointment data into activity summaries on crm.lead and date-custom fields on res.partner, but the appointment book structure — with provider availability, room allocation, and recurring schedules — is not replicated. Practices that rely on BP Premier's appointment book for scheduling will need an Odoo scheduling module (Odoo Appointments or a third-party booking app) as a replacement.

  • Odoo res.partner and crm.lead ownership requires pre-existing res.users accounts

    BP Premier user IDs and provider identifiers must be matched to Odoo res.users records for activity attribution and lead ownership. Odoo requires that every crm.lead has a user_id (owner) and that the res.users records already exist in the database before the migration script assigns them. If BP Premier has providers or staff members who do not yet have Odoo login accounts, FlitStack flags them as unmatched and assigns their records to a fallback Odoo user. The fallback approach preserves data ownership in the migration but may require post-migration re-assignment of leads to the correct owners. This is especially relevant for practices where BP Premier has more registered users than the planned Odoo CRM seat count.

  • Odoo accounting module requires chart-of-accounts configuration before billing migration

    BP Premier billing records (invoices, payments, itemised accounts) map to Odoo's account.move and account.move.line objects. However, Odoo requires a configured chart of accounts, tax codes, and journal definitions before any accounting records can be created. If the Odoo instance has not run the initial accounting setup wizard (Settings > Accounting > Initialize Accounting), FlitStack defers billing data migration until accounting configuration is complete. Billing records that cannot be migrated on day one are exported as a CSV package for manual entry or post-configuration import, with the migration audit log noting the deferral reason for each record.

Migration approach

Six steps for a successful Bp Premier to Odoo CRM data migration

  1. Audit BP Premier data model and scope the migration boundary

    FlitStack AI connects to BP Premier via its data export interface and profiles the record types, field inventory, and data volume across patient records, organisations, appointments, clinical measurements, prescriptions, documents, and billing. We produce a Migration Scope Document that lists every object and field, classifies each as migrate-to-Odoo-field, migrate-to-custom-field, or out-of-scope, and identifies pre-migration Odoo configuration tasks (chart of accounts, custom field creation, res.users setup). This document is the shared contract between FlitStack and the practice before any data moves.

  2. Create Odoo custom fields and resolve user accounts

    Before data loads, FlitStack creates the custom fields identified in the scope document — HPI_I__c, IHI__c, Medication_History__c, Last_BP_Systolic__c, Last_BP_Diastolic__c, Last_Pulse__c, and appointment summary fields — using the Odoo XML-RPC API with appropriate field types. Simultaneously, we match BP Premier user and provider records to existing Odoo res.users by email. Unmatched users are flagged in a Pre-Migration User Report with instructions for creating Odoo accounts or assigning fallback owners. This step ensures that crm.lead records have a valid user_id on insertion.

  3. Load partner and organisation records with dependency ordering

    Odoo requires res.partner records to exist before crm.lead records can reference them via partner_id. FlitStack sequences the migration so that organisations (referring doctors, third-party providers) load first as company-type res.partner records, followed by patient demographics as contact-type res.partner records. BP Premier status flags determine whether each patient record also spawns a crm.lead opportunity. The original BP Premier patient ID is stored as Source_System_ID__c on each record for traceability. A field-level diff compares the exported BP Premier field values against the inserted Odoo field values before the next batch begins.

  4. Migrate activity summaries, documents, and billing records

    Appointment data is condensed into activity summary custom fields on crm.lead and res.partner. The most recent clinical measurements (BP systolic, BP diastolic, pulse) are written to the corresponding custom fields. Documents attached to BP Premier patient records are downloaded, re-hosted in Odoo's filestore, and linked as ir.attachment records to the corresponding res.partner. Billing records are mapped to draft account.move entries — deferred if the Odoo chart of accounts has not been configured. Each record batch is audit-logged with source ID, destination ID, migration timestamp, and operator.

  5. Run delta-pickup and deliver the migration audit package

    After the full migration load completes, FlitStack initiates a delta-pickup window (24–48 hours) that re-queries BP Premier for any patient records, appointments, or billing entries created or modified during the cutover period. Delta records are merged into Odoo using Source_System_ID__c as the de-duplication key. The final delivery includes an audit log CSV (every record touched, with source ID, destination ID, operation type, and timestamp), a field-level reconciliation report comparing record counts and field-population rates between BP Premier and Odoo, and a post-migration checklist covering re-enabling integrations, notifying users, and confirming data completeness.

Platform deep dives

Context on both ends of the pair

Bp Premier logo

Bp Premier

Source

Strengths

  • Purpose-built for Australian and New Zealand healthcare regulation with Medicare and NASH certificate support.
  • On-premise data residency gives practices direct control over patient data compliance.
  • Strong customer support reputation with a dedicated team based in Australia and New Zealand.
  • Integrated My Health Record, eRx, and PRODA connections without third-party middleware.
  • AI scribe integration (Lyrebird) directly embedded in the clinical workflow.

Weaknesses

  • No publicly documented REST API for programmatic data access or automated migration.
  • Windows server-based deployment requires dedicated infrastructure, IT management, and manual software updates.
  • Data portability is entirely dependent on vendor-provided export tools or direct database access.
  • Known version-specific bugs (e.g., MySL date-created behavior) require workarounds during data extraction.
  • No native cloud sync or SaaS delivery model limits remote access and multi-location support.
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. All 8 core objects map 1:1 between Bp Premier and Odoo CRM.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Bp Premier and Odoo CRM.

  • Object compatibility

    A

    All 8 core objects map 1:1 between Bp Premier and Odoo CRM.

  • 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

    Bp Premier: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Bp Premier 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 Bp Premier to Odoo CRM data migrations

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

Can't find your answer?

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

Book a free 30 minute consultation

Most BP Premier to Odoo CRM migrations complete in 48–72 hours of clock time for practices with under 50,000 patient records. Larger practices with 200,000+ records, complex custom-field configurations, or multiple clinic locations extend to 7–10 days. The longest planning step is Odoo custom field creation and chart-of-accounts configuration before data loads — those steps run in parallel with migration planning but must complete before the migration script executes.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Bp Premier.
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