CRM migration
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
Source
Odoo CRM
Destination
Compatibility
9 of 10
objects map 1:1 between Bp Premier and Odoo CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
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
Odoo CRM
res.partner
1:1BP 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
Odoo CRM
crm.lead
1:manyBP 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
Odoo CRM
res.partner (company type)
1:1BP 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
Odoo CRM
crm.lead (activity summary)
1:1BP 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.)
Odoo CRM
Custom fields on res.partner
1:1BP 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
Odoo CRM
Custom fields on res.partner
1:1Prescription 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
Odoo CRM
res.users
1:1BP 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
Odoo CRM
ir.attachment
1:1BP 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
Odoo CRM
account.move (draft)
1:1BP 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)
Odoo CRM
ir.model.fields (custom)
1:1Each 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.
| Bp Premier | Odoo CRM | Compatibility | |
|---|---|---|---|
| Patient Record | res.partner1:1 | Fully supported | |
| Patient Record | crm.lead1:many | Fully supported | |
| Organisation / Referring Doctor | res.partner (company type)1:1 | Fully supported | |
| Appointment | crm.lead (activity summary)1:1 | Fully supported | |
| Clinical Measurement (BP, Pulse, etc.) | Custom fields on res.partner1:1 | Fully supported | |
| Prescription / Medication History | Custom fields on res.partner1:1 | Fully supported | |
| BP Premier User / Provider | res.users1:1 | Fully supported | |
| Document / Attachment | ir.attachment1:1 | Fully supported | |
| Billing / Payment Record | account.move (draft)1:1 | Fully supported | |
| Custom Field (BP Premier) | ir.model.fields (custom)1:1 | Fully supported |
Gotchas + challenges
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 gotchas
MySL prescription date-created has inconsistent behavior
My Health Record uploads are immutable and non-extractable
No REST API — migration relies entirely on export tools
Server-to-server migration requires full reinstall
Legacy version data format differences
Odoo CRM gotchas
Odoo.sh version gating blocks assisted migrations from trial
Enterprise modules fail to install on Community after database restore
Custom module view inheritance breaks between Odoo major versions
Custom fields risk losing their application context on Community
API access for Community is gated behind the Custom Plan
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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
Bp Premier
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Bp Premier and Odoo CRM.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Bp Premier and Odoo CRM.
Object compatibility
All 8 core objects map 1:1 between Bp Premier and Odoo CRM.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Bp Premier: Not publicly documented.
Data volume sensitivity
Bp Premier doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Bp Premier to Odoo CRM migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Bp Premier
Other ways to arrive at Odoo CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.