CRM migration
Field-level mapping, validation, and rollback between Bigin by Zoho CRM and Odoo CRM. We move data and schema; workflows are rebuilt natively in Odoo CRM.
Bigin by Zoho CRM
Source
Odoo CRM
Destination
Compatibility
9 of 12
objects map 1:1 between Bigin by Zoho CRM and Odoo CRM.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from Bigin by Zoho CRM to Odoo CRM is a shift from a single-purpose pipeline CRM to a modular ERP-class platform. Bigin organizes data around Pipelines containing Deals, Contacts, Companies, Tasks, Events, Calls, and Notes; Odoo CRM uses a Lead-to-Opportunity pipeline with Stages, a unified Partners model for individuals and organizations, and an extensible modular architecture that grows with the business. We resolve the pipeline-to-stage mapping, handle the credit-based Bigin API rate limits that throttle bulk exports, and split Bigin's Companies and Contacts into Odoo's partner-type model during transformation. Bigin workflows and any Developer Console custom fields using the <namespace>__<label> naming convention require explicit mapping and schema pre-creation in Odoo before any data moves. We deliver a written automation inventory for Odoo CRM rebuild; we do not migrate workflows as code.
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 Bigin by Zoho CRM 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.
Bigin by Zoho CRM
Contact
Odoo CRM
Partner + Contact
1:manyBigin Contacts map to Odoo CRM Contact records linked to a Partner record. In Bigin, Contacts and Companies are separate modules with a linking relationship; in Odoo, the Partner model serves both individual and organizational records, with Contact records nested under a Partner. We split Bigin's Contact-Company relationship by creating an Organization Partner for each Bigin Company and a Contact-type Partner for each Bigin Contact, then linking the Contact Partner to the Organization Partner via the parent_id relationship. Email, phone, address, and owner fields transfer directly; the Bigin Contact Salutation and Lifecycle Stage properties migrate as custom fields on the Partner record.
Bigin by Zoho CRM
Company
Odoo CRM
Partner (Organization type)
1:1Bigin Companies map to Odoo Partner records with Type set to Company. The Company Name becomes the Partner name, website URL maps to website, and any address fields map to partner address fields. In Odoo, company records can also carry accounting and fiscal data through the Accounting module integration. We preserve any Bigin Company-to-Contact linkage by resolving the parent Partner after the Company Partner insert.
Bigin by Zoho CRM
Deal
Odoo CRM
Opportunity
1:1Bigin Deals map directly to Odoo CRM Opportunity records. The Deal Name becomes the Opportunity name, Deal Amount maps to Expected Revenue, Close Date maps to Deadline, and the Bigin Pipeline plus Stage combination maps to a corresponding Odoo CRM Stage within a Team. We pre-create Odoo CRM Teams and Stages matching the source pipeline names before migration so that Deal stage history is preserved by setting Stage history if available or mapping directly on insert.
Bigin by Zoho CRM
Pipeline
Odoo CRM
CRM Team + Stage Sequence
lossyEach Bigin Pipeline becomes an Odoo CRM Team (crm.team), and each Stage within the pipeline becomes a Stage within that team's sequence. Bigin's sub-pipelines map to additional Stage groups within the same Team. We configure Stage probability percentages in Odoo to match the percentages stored in Bigin. Teams on the Express plan (3 pipelines) or Premier plan (unlimited pipelines) require Stage and Team pre-creation in Odoo before Deal import begins.
Bigin by Zoho CRM
Product
Odoo CRM
Product
1:1Bigin Products map directly to Odoo Product records. Product Name, Unit Price, Tax, and Description fields transfer to Odoo Product Template. Product images stored as attachments in Bigin migrate as Odoo product images linked to the Product Template. Any custom product fields created via the Developer Console use the <namespace>__<label> naming convention and require pre-creation of matching custom fields in Odoo before the product import.
Bigin by Zoho CRM
Task
Odoo CRM
Task
1:1Bigin Tasks map to Odoo Project Task records (or CRM Activity records depending on Odoo configuration). Task Subject maps to name, Description maps to Description, Due Date maps to Deadline, and the owner assignment maps to user_id via email resolution. Task status (Open, Overdue, Completed) maps directly to Odoo Stage values. Tasks linked to a specific Deal in Bigin resolve to the migrated Opportunity record in Odoo via the What_id reference.
Bigin by Zoho CRM
Event
Odoo CRM
Calendar Event
1:1Bigin Events map to Odoo Calendar Event records. Start and End datetime, location, and description transfer directly. Recurring events in Bigin are exported individually and squashed in Bigin's Bulk Read output; we handle the recurrence expansion in the transformation layer and create separate Odoo Event records for each occurrence. Event attendees linked to Bigin Contacts or Companies resolve to the migrated Odoo Partner records.
Bigin by Zoho CRM
Call
Odoo CRM
Phone Call (CRM Activity or Task subtype)
1:1Bigin Call records map to Odoo CRM Call activity records. Call Subject, Duration, Outcome, and Start Time transfer to Odoo's CRM phone call fields. Call recordings stored as Bigin attachments migrate as ir.attachment records linked to the parent Call activity. Calls linked to Contacts, Companies, or Deals resolve to the migrated Odoo Partner or Opportunity record.
Bigin by Zoho CRM
Note
Odoo CRM
Note / Chatter Message
1:1Bigin Notes map to Odoo Notes (mail.message) attached to the relevant Partner or Opportunity record. Notes are excluded from Bigin's Bulk Read API and require individual record API calls, which consume credits at a higher rate. We flag note volume during scoping and budget credit consumption accordingly. Note body content migrates as plain text to Odoo's mail.message model.
Bigin by Zoho CRM
Attachment
Odoo CRM
ir.attachment
1:1Bigin Attachments stored against Contacts, Companies, Deals, or other modules map to Odoo ir.attachment records. Like Notes, Attachments are excluded from Bigin's Bulk Read API and require individual API requests per file. We migrate attachments via individual API calls and flag any file size or credit budget issues during scoping. File links resolve to the migrated parent record by cross-referencing the record ID from the Bigin export.
Bigin by Zoho CRM
Custom Fields
Odoo CRM
Custom Fields
lossyBigin custom fields created via the Developer Console use the <topping_namespace>__<field_label> naming convention and are scoped per module. We map each custom field explicitly during scoping, validating the field type against Odoo's available field types (Char, Integer, Float, Boolean, Date, Datetime, Selection, Many2one, etc.). Odoo custom fields must be pre-created in the destination database before data import begins because Odoo does not support dynamic field creation during import. We pre-create all destination custom fields in a staging environment before production migration.
Bigin by Zoho CRM
User / Owner
Odoo CRM
User
1:1Bigin Pipeline Owners and record-level owners map to Odoo User records. We resolve Bigin owner records by email match against the Odoo destination User list. Any Bigin owner without a matching Odoo User is held in a reconciliation queue for the customer's admin to provision before record import resumes. Inactive Odoo users receive record assignments only if the customer's Odoo configuration allows assigning records to inactive users.
| Bigin by Zoho CRM | Odoo CRM | Compatibility | |
|---|---|---|---|
| Contact | Partner + Contact1:many | Fully supported | |
| Company | Partner (Organization type)1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Pipeline | CRM Team + Stage Sequencelossy | Fully supported | |
| Product | Product1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Event | Calendar Event1:1 | Fully supported | |
| Call | Phone Call (CRM Activity or Task subtype)1:1 | Fully supported | |
| Note | Note / Chatter Message1:1 | Fully supported | |
| Attachment | ir.attachment1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required | |
| User / Owner | User1: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.
Bigin by Zoho CRM gotchas
Credit-based API limits vary by plan and can throttle migrations
Bulk Read API excludes Notes, Attachments, Emails, and cross-module records
Import field mapping is complicated and unintuitive for users
Undo import window is limited to 30 days
Free plan is single-user with a 500-record hard cap
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
Discovery and scoping
We audit the source Bigin account across plan tier, pipeline count, stage count per pipeline, record volumes per module, custom field list (including Developer Console fields with their <namespace>__<label> API names), note and attachment counts, and API credit history. We pair this with Odoo CRM environment review: Edition (Community or Enterprise), existing Teams and Stages, installed modules, and any existing partner or opportunity records that would create duplicates. The discovery output is a written migration scope, a Bigin-to-Odoo object and field mapping document, and an Odoo schema pre-creation checklist.
Credit budget and API pacing plan
We calculate the total API credit cost based on record volumes and the estimated call count per module, accounting for the fact that Notes and Attachments require individual record calls. We produce a pacing plan that distributes API calls across the daily credit window and schedules overnight batches if the migration requires more credits than available in a single day. We run a connection test against Bigin's API to confirm OAuth 2.0 authentication and measure the current credit balance before beginning extraction.
Odoo schema pre-creation and staging migration
We create the destination Odoo CRM Teams and Stage sequences matching the Bigin pipeline structure. We create any custom fields in Odoo matching the Bigin custom field API names and types. We then run a full migration into an Odoo staging environment using production-like data volumes. The customer's admin reviews the migrated record structure, spot-checks 25-50 records per module against the Bigin source, and approves the schema and mapping before production migration begins. Corrections to stage ordering, field mapping, and partner-type assignment happen in staging, not in production.
Owner and user reconciliation
We extract every distinct Bigin owner referenced on Contacts, Companies, Deals, Tasks, Events, Calls, and Notes. We match owners by email against the Odoo destination User list. Owners without a matching Odoo User go to a reconciliation queue; the customer's admin provisions any missing Users before record import resumes. Migration cannot proceed past this step because record owner assignments in Odoo require a valid user_id reference on insert.
Production migration in dependency order
We run production migration in record-dependency order: Partner records (created from Bigin Companies first), Contact records (linked to parent Partner), Opportunities (with stage_id and team_id resolved from the pre-created Odoo pipeline structure), Products, Tasks, Events, Calls, Notes (via individual API calls with credit pacing), Attachments (via individual API calls), and Custom Field values (appended to each record type after base field migration). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, delta sync, and automation inventory handoff
We freeze Bigin writes during cutover, run a final delta migration of any records modified during the migration window, then enable Odoo CRM as the system of record. We deliver the written automation inventory document listing every active Bigin workflow, its trigger conditions, and the recommended Odoo CRM Studio equivalent. We support a one-week hypercare window where we resolve any data reconciliation issues raised by the customer's team. We do not rebuild Bigin workflows as Odoo automated actions inside the migration scope; that is a separate configuration engagement.
Platform deep dives
Bigin by Zoho CRM
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 Bigin by Zoho CRM 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
Bigin by Zoho CRM: Credit-based system: 5,000 credits/24h on Free; 50,000 + (user licenses × 250) capped at 100,000/24h on Express, Premier, and Zoho One. Concurrency cap of 5 simultaneous API calls per user on Free, 10 on paid editions, with a sub-cap of 10 across resource-intensive operations..
Data volume sensitivity
Bigin by Zoho CRM exposes a bulk API — large-volume migrations stream efficiently.
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 Bigin by Zoho CRM to Odoo CRM migration scoping. Not seeing yours? Book a call.
Walk through your Bigin by Zoho CRM 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 Bigin by Zoho CRM
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.