CRM migration
Field-level mapping, validation, and rollback between Centerbase and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Centerbase
Source
Odoo CRM
Destination
Compatibility
11 of 12
objects map 1:1 between Centerbase and Odoo CRM.
Complexity
BStandard
Timeline
1–2 weeks
Overview
Centerbase organizes data around a matter-centric model: Clients hold company-level data, Contacts are people linked to clients, and Matters are the project containers that carry billing, time entries, and document attachments. Odoo CRM uses a flattened res.partner model for contacts and companies, crm.lead for opportunities, and stores activities as mail.message records. The migration maps Centerbase clients and contacts to res.partner records — designating one primary contact per client — and maps Matters to crm.lead records with matter-type and billing data stored in custom fields on the lead. Activities, documents, and custom fields transfer directly; workflows, billing engines, and matter-specific automations do not have Odoo equivalents and must be rebuilt. We use Centerbase's REST/Web API for extraction and Odoo's XML-RPC interface for import, running within a scoped read window so your team keeps working in Centerbase throughout. A delta-pickup phase captures any matters or contacts created or modified during cutover. This ensures data continuity and supports a smooth transition to the new CRM.
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 Centerbase 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.
Centerbase
Client
Odoo CRM
res.partner
1:1Centerbase Clients map to Odoo res.partner records with partner gtype=company. Legal entity name goes in name field. Industry, annual revenue, employee count map to Odoo partner fields directly. Billing address and shipping address preserved as partner contact addresses. All addresses retain their original labels for straightforward identification.
Centerbase
Contact
Odoo CRM
res.partner
1:1Centerbase Contacts map to Odoo res.partner records with partner gtype=contact. Each contact links to its primary client partner via parent_id. When a client has multiple contacts, all map to the same parent_id partner with individual partner records as children. This structure mirrors the original hierarchy accurately.
Centerbase
Contact (Client primary flag)
Odoo CRM
res.partner (parent_id)
many:1When a Centerbase contact is marked as the primary client contact, that partner record becomes the default addressee on the parent client partner in Odoo. The primary flag is preserved as a boolean field on the partner record. This ensures the main contact is readily identifiable in Odoo.
Centerbase
Matter
Odoo CRM
crm.lead
1:1Centerbase Matters map to Odoo crm.lead records. Matter name becomes lead name (display_name). Matter status maps to crm.stage via value mapping per matter type. Matter type (e.g., Litigation, Transaction, Corporate) becomes a custom selection field on the lead. This preserves the original categorization for reporting and segmentation.
Centerbase
Matter (Billing amount)
Odoo CRM
crm.lead (x_billing_amount)
1:1Odoo CRM does not natively track billing amounts on leads. We create a custom float field x_billing_amount on crm.lead and migrate the matter's total billing amount for reference. Full billing history requires separate Odoo Accounting migration. This allows finance teams to see indicative billing totals without full accounting setup.
Centerbase
Matter (Billing status)
Odoo CRM
crm.lead (x_billing_status)
1:1Matter billing status (Billed, Unbilled, Pending) migrates as a custom selection field x_billing_status on crm.lead. This preserves the billing state for finance-side reconciliation without requiring Odoo Accounting setup. It provides immediate visibility into the billing state for each lead and supports reporting during the transition period.
Centerbase
Activity (Call, Meeting, Email, Task)
Odoo CRM
mail.activity + mail.message
1:1Centerbase activities map to Odoo mail.activity records linked to crm.lead. Activity type (call, meeting, email) maps to activity_type_id via value mapping. Subject and notes map to summary and note fields. Original timestamps and owner preserved from source. This maintains complete activity history for future follow-ups.
Centerbase
Document / Attachment
Odoo CRM
ir.attachment
1:1Documents attached to Centerbase matters or contacts are downloaded and re-uploaded as Odoo ir.attachment records linked to the corresponding crm.lead or res.partner. File content, original filename, and create date are preserved. Inline images in notes are extracted and re-hosted as attachments.
Centerbase
Centerbase User / Owner
Odoo CRM
res.users
1:1Centerbase owners resolve to Odoo res.users records by email address match. Unmatched owners are flagged before migration so your Odoo admin can create user accounts or assign a fallback owner. User records themselves do not migrate — they are matched against existing Odoo users.
Centerbase
Custom Field (Matter)
Odoo CRM
crm.lead (Studio custom field)
1:1Any custom fields defined on Matter objects in Centerbase are recreated as Studio-defined custom fields on crm.lead in Odoo. Field type is mapped: text to char, number to float, date to date, pick-list to selection. Long-text fields become odoo.text fields.
Centerbase
Custom Field (Contact, Client)
Odoo CRM
res.partner (Studio custom field)
1:1Custom fields on Client and Contact objects in Centerbase are recreated as Odoo Studio custom fields on res.partner. Relationship-type custom fields (e.g., linking a contact to a matter) are translated to Odoo many2one or many2many field types as appropriate. We ensure field labels and help texts are preserved for user clarity.
Centerbase
Workflow / Automation
Odoo CRM
None
1:1Centerbase workflows, automated stages, matter checklists, and triggers have no direct Odoo CRM equivalent. Odoo uses Automated Actions and Server Actions which are destination-side constructs. We export your workflow definitions as a reference document for your Odoo admin to rebuild.
| Centerbase | Odoo CRM | Compatibility | |
|---|---|---|---|
| Client | res.partner1:1 | Fully supported | |
| Contact | res.partner1:1 | Fully supported | |
| Contact (Client primary flag) | res.partner (parent_id)many:1 | Fully supported | |
| Matter | crm.lead1:1 | Fully supported | |
| Matter (Billing amount) | crm.lead (x_billing_amount)1:1 | Fully supported | |
| Matter (Billing status) | crm.lead (x_billing_status)1:1 | Fully supported | |
| Activity (Call, Meeting, Email, Task) | mail.activity + mail.message1:1 | Fully supported | |
| Document / Attachment | ir.attachment1:1 | Fully supported | |
| Centerbase User / Owner | res.users1:1 | Fully supported | |
| Custom Field (Matter) | crm.lead (Studio custom field)1:1 | Fully supported | |
| Custom Field (Contact, Client) | res.partner (Studio custom field)1:1 | Fully supported | |
| Workflow / Automation | None1: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.
Centerbase gotchas
Images do not transfer in Centerbase report and document exports
Workflow definitions require manual rebuild on non-Centerbase destinations
Billing records carry nested LEDES codes and origination data that require explicit mapping
Trust account three-way reconciliation rules do not transfer automatically
Platform update cycles can break migrated workflows at the destination
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
Extract Centerbase data via REST/Web API
We authenticate against Centerbase using your API credentials (or the .NET client proxy if applicable) and export all clients, contacts, matters, activities, and documents. Custom field definitions are read from Centerbase Settings and catalogued for Odoo Studio recreation. Export runs in scoped read-only mode — no records are modified in Centerbase during this phase. We also capture relationship metadata to preserve hierarchy during the migration.
Configure Odoo CRM schema: stages, teams, custom fields
Before any data lands, we create the crm.lead custom fields (matter_type, billing_amount, billing_status, original_create_date, source_system_id), configure crm.stage lanes to match Centerbase matter status values, and set up crm.team records for each Centerbase office or department. If you are on Odoo Community, we configure base_import settings for the import pass. This schema plan is delivered for your review before we touch Odoo.
Match owners and users by email
Centerbase owners are resolved against Odoo res.users records by email address. Unmatched owners are flagged in a pre-flight report so your Odoo admin creates the user accounts or assigns a fallback owner before the migration runs. No lead lands without an assigned Odoo user. This step ensures that every opportunity has a clear owner and that reporting visibility is maintained from day one in the new CRM.
Run sample migration with field-level diff
A representative sample — typically 100–300 records covering clients, contacts, matters, and activities — migrates first. We generate a field-level diff showing source value vs. destination value for every mapped field so you can verify stage mapping, custom field population, and owner resolution before the full run commits. You sign off on the sample before we proceed. The diff report highlights any missing mappings or data discrepancies for immediate correction.
Execute full migration with delta-pickup window
Full data load runs against Odoo. After the main load completes, a delta-pickup window (24–48 hours) captures any records created or modified in Centerbase during the cutover window. Every operation is logged in an audit trail. One-click rollback is available if reconciliation fails. After delta-pickup, your Centerbase account becomes read-only and Odoo is your active system. We also perform a final validation against source totals to confirm completeness.
Platform deep dives
Centerbase
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 Centerbase 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
Centerbase: Not publicly documented..
Data volume sensitivity
Centerbase 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 Centerbase to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Centerbase 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 Centerbase
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.