CRM migration
Field-level mapping, validation, and rollback between BoldTrail BackOffice and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
BoldTrail BackOffice
Source
Odoo CRM
Destination
Compatibility
9 of 10
objects map 1:1 between BoldTrail BackOffice and Odoo CRM.
Complexity
BStandard
Timeline
5–10 business days
Overview
BoldTrail BackOffice is a real estate transaction-management and brokerage-back-office platform — it tracks deals from contract to close, automates commission disbursements, and manages agent billing and onboarding. Odoo CRM is a modular open-source ERP whose CRM module centers on crm.lead (leads and opportunities) and res.partner (contacts and companies), with an optional Sales app for quotations and orders. The migration exports BoldTrail transaction data via API, maps each transaction to an Odoo lead, matches associated contacts to res.partner records, and surfaces agent data as Odoo users or contacts. The key structural shift is that BoldTrail's transaction-centric model — where the transaction is the primary record — becomes Odoo's lead-centric model, where the lead owns the commercial relationship and the transaction metadata lives in custom fields. BoldTrail workflows, commission automation rules, and e-signature token links do not migrate and must be rebuilt. We handle this by delivering a workflow-export JSON so your Odoo admin can reconstruct automation logic in Odoo Action Rules. The migration uses scoped read access on BoldTrail during the transfer window and runs a 24–48-hour delta pickup at cutover to capture in-flight transactions. All file attachments are downloaded and re-uploaded to the corresponding Odoo ir_attachment records.
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 BoldTrail BackOffice 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.
BoldTrail BackOffice
Transaction
Odoo CRM
crm.lead
1:1Each BoldTrail transaction becomes one Odoo crm.lead record. The transaction's monetary value maps to expected_revenue on the lead. BoldTrail's status field (Pending, Under Contract, Closed) maps to Odoo stage names (New, Qualified, Won) via a value-mapping table. Transaction create_date is preserved as a custom datetime field since Odoo's create_date reflects migration-run time.
BoldTrail BackOffice
Contact (on Transaction)
Odoo CRM
res.partner
1:1Every contact associated with a BoldTrail transaction maps to a res.partner record. Contact name, email, phone, and address fields map directly. Multiple contacts on one transaction create multiple partner records linked to the same lead via crm.lead_partner_ids. A primary contact flag maps to the 'Main Contact' checkbox on the lead form.
BoldTrail BackOffice
Agent
Odoo CRM
res.users / res.partner
1:manyBoldTrail agents split into two Odoo records: active selling agents receive an Odoo res.users account so they can own leads and log activities; administrative or inactive agents are stored as res.partner records only. Agent split percentage and license number are custom fields on the lead or the partner, depending on whether the agent needs Odoo login access.
BoldTrail BackOffice
File Attachment
Odoo CRM
ir_attachment
1:1BoldTrail document attachments (compliance forms, contracts, MLS printouts) are downloaded via the BoldTrail file API and re-uploaded as Odoo ir_attachment records linked to the corresponding crm.lead. File name and content type are preserved. Attachments exceeding Odoo's default 25MB per-file limit are flagged for chunked upload or alternative storage.
BoldTrail BackOffice
Custom Property (transaction-level)
Odoo CRM
ir.model.fields (custom)
1:1BoldTrail stores named properties per transaction (e.g., MLSNumber, ComplianceFormID, InspectionDate, HOA_Fee). Each property requires a corresponding custom field on crm.lead in Odoo. String properties become char fields, dates become date fields, amounts become monetary fields. We create the custom fields during the schema-setup phase before data loads.
BoldTrail BackOffice
E-Signature Token
Odoo CRM
sign.log / ir.attachment
1:1BoldTrail e-signature links point to BoldSign token URLs that are not portable to Odoo. We preserve the original document file as an ir_attachment and note the original signature date and signatory email in custom fields. Re-signing is coordinated with all parties post-migration — Odoo Sign or another e-signature provider must be activated in Odoo for new documents.
BoldTrail BackOffice
Commission Split Rule
Odoo CRM
Custom field on crm.lead
1:1BoldTrail commission splits are embedded in the transaction record as agent-level percentage fields. We extract each agent's split percentage and store it as a custom lead field (e.g., AgentASplit__c, AgentBSplit__c) for reference. Full commission-calculation logic lives in Odoo Sales app's payment-term rules — a separate configuration step not included in the data migration.
BoldTrail BackOffice
Agent Onboarding Record
Odoo CRM
hr.employee / res.partner
1:1BoldTrail tracks agent onboarding steps (license upload, agreement signing, broker approval) as part of the agent record. Odoo has an hr.employee module for onboarding workflows, but it is separate from the CRM and requires a separate configuration. We export the onboarding status as a custom field on the agent's res.partner record — rebuilding the workflow steps in Odoo HR requires a separate engagement.
BoldTrail BackOffice
Pipeline / Stage
Odoo CRM
crm.stage
1:1BoldTrail pipelines map to Odoo CRM pipeline stages. Each BoldTrail pipeline name becomes an Odoo stage in the target team pipeline. Stage ordering and probability values are configured per Odoo's pipeline editor. If BoldTrail has multiple pipelines (e.g., Residential, Commercial), each becomes a separate crm.team with its own stage set.
BoldTrail BackOffice
Transaction Create Date
Odoo CRM
Custom datetime field on crm.lead
1:1Odoo's create_date on crm.lead reflects when the record was inserted during migration, not when the original transaction was created in BoldTrail. We preserve the original BoldTrail creation timestamp in a custom field (x_original_create_date) so reporting continuity is maintained. This ensures that historical reporting based on transaction age remains accurate after the migration, allowing users to sort and filter by the original creation date without relying on Odoo's system timestamps.
| BoldTrail BackOffice | Odoo CRM | Compatibility | |
|---|---|---|---|
| Transaction | crm.lead1:1 | Fully supported | |
| Contact (on Transaction) | res.partner1:1 | Fully supported | |
| Agent | res.users / res.partner1:many | Fully supported | |
| File Attachment | ir_attachment1:1 | Fully supported | |
| Custom Property (transaction-level) | ir.model.fields (custom)1:1 | Fully supported | |
| E-Signature Token | sign.log / ir.attachment1:1 | Fully supported | |
| Commission Split Rule | Custom field on crm.lead1:1 | Fully supported | |
| Agent Onboarding Record | hr.employee / res.partner1:1 | Fully supported | |
| Pipeline / Stage | crm.stage1:1 | Fully supported | |
| Transaction Create Date | Custom datetime field on crm.lead1: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.
BoldTrail BackOffice gotchas
No documented public API or bulk export for self-service data extraction
MFA security misrouting exposes agent account credentials
QuickBooks sync records are non-portable
Complex commission split overrides may not map cleanly
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
Schema setup and custom field creation in Odoo
Before exporting any BoldTrail data, FlitStack AI analyzes the transaction property schema — identifying every named custom property (MLS numbers, compliance form IDs, split percentages, HOA fees, inspection dates) and creates matching custom fields on crm.lead via Odoo's Settings > Technical > Models interface. We also configure the pipeline stages to match BoldTrail's status values (New, Qualified, Won) with appropriate probability weights. The Odoo admin receives a field-creation checklist for approval before the migration environment is seeded.
Export and profile BoldTrail data
We connect to BoldTrail via scoped read-access API, extracting all transaction records, associated contacts, agent records, and file metadata. A data-profiling pass identifies duplicate contacts (same email across multiple transactions), orphaned attachments, and malformed property values. We generate a data-quality report and resolve duplicates — typically by designating a primary contact per transaction and surfacing secondary contacts as additional partner links on the crm.lead. Agent records are reconciled against the target Odoo instance to flag email conflicts before user provisioning.
Run sample migration with field-level diff
A representative slice of 100–500 BoldTrail transactions migrates first — spanning a mix of statuses (Pending, Under Contract, Closed), contact counts (single buyer, dual-party transactions), and custom property volumes. We generate a field-level diff showing source value, mapped Odoo field, and migrated value for every column. You review the diff to verify stage mapping, agent ownership, custom property values, and file attachment links before the full run commits. This step typically surfaces missing custom fields or value-mapping gaps before they affect thousands of records.
Execute full migration with delta-pickup window
The full dataset migrates — transactions become crm.lead records, contacts become res.partner records, agents become res.users or res.partner entries, and file attachments are re-uploaded to ir_attachment. During the cutover window, BoldTrail remains fully operational for your team. A 24–48-hour delta-pickup captures any BoldTrail records created or modified after the initial export snapshot. The audit log records every create, update, and link operation. One-click rollback reverts all Odoo changes if the reconciliation report shows unexpected gaps.
Reconciliation report and re-signing coordination
FlitStack AI generates a reconciliation report comparing BoldTrail record counts, total transaction value, and contact-to-lead link ratios against the Odoo dataset. File attachment counts and sizes are verified against BoldTrail's export log. For every transaction with an e-signature, we produce a re-signing coordination checklist listing the document name, signatory emails, and original signature date. Your team initiates re-signing in Odoo Sign (or your chosen provider) for all flagged transactions. The migration is considered complete once the reconciliation report shows sub-1% variance and all critical transactions are re-signed.
Platform deep dives
BoldTrail BackOffice
Source
Strengths
Weaknesses
Odoo CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across BoldTrail BackOffice and Odoo CRM.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
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
BoldTrail BackOffice: Not publicly documented.
Data volume sensitivity
BoldTrail BackOffice 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 BoldTrail BackOffice to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your BoldTrail BackOffice 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 BoldTrail BackOffice
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.