Odoo CRM to HubSpot
CRM app in the Odoo suite, with leads, opportunities, pipelines and stages, and contacts held in the shared partner model.
Odoo CRM data can move into HubSpot, landing mainly in Sales Hub. 3 of 8 mapped objects move directly (Contacts (res.partner, individuals), Companies (res.partner, is_company) and Opportunities (crm.lead)); 3 items need manual work and 3 do not move. Plan roughly 2-4 weeks for a small move and 8-16 weeks for a large one.
Migration checklist for Odoo CRM
Three phases, specific to this system. Tick steps off as you go.
Before
0 of 5 doneDuring
0 of 5 doneAfter
0 of 5 doneWhat will it take?
No price list: cost follows volume, custom objects and how much logic must be rebuilt. Answer four quick questions for a planning range.
The three scenarios
Small migration
<10k records
CSV-based, with a single pipeline.
Mid migration
10k-100k records
API export for activities and associations.
Large migration
>100k records
Heavy custom fields, multiple companies and automation rebuild.
What moves the number
Timeline ranges are planning estimates, not a quote. A partner confirms scope after discovery.
Access, mapping and limits
Start with how data leaves Odoo CRM: what you need to get in, what lands in HubSpot, and what will not.
JSON-2 API (Odoo 19+), plus XML-RPC and JSON-RPC external APIs (deprecated in 19)
Odoo URL, database name, and a user API key. Older RPC endpoints also need the user login.
A key inherits the permissions of its user, so use a dedicated integration user with read access. Only administrators can create persistent keys.
Choose your route
How will you move the data?
No native connector was found.
- You need: Odoo URL, database name, and a user API key. Older RPC endpoints also need the user login.
- Permission: A key inherits the permissions of its user, so use a dedicated integration user with read access. Only administrators can create persistent keys.
Native imports often bring over only some data, so check coverage per object in the mapping below.
Export each object, clean it, then import it into HubSpot.
- List-view Export wizard to CSV/XLSX, with field selection and optional External ID
- Programmatic read via the external API (search_read on models such as crm.lead and res.partner)
Limits: To confirm
Migration and sync tools can move more than a plain import. Confirm which objects each one supports before you choose.
Best when volume is high, custom objects are many or automation is heavy. That is the Large scenario: 8-16 weeks, usually phased.
Talk to a partnerWhere each object lands
In Odoo CRM
In HubSpot
Hover or tap anything on the left to see where it lands.
| Source object | In HubSpot | Moves | Notes |
|---|---|---|---|
| Contacts (res.partner, individuals) | Contacts | yes | Odoo's contact model also holds companies; split by the is_company flag. |
| Companies (res.partner, is_company) | Companies | yes | Parent/child links need the External ID or ID export to rebuild associations. |
| Opportunities (crm.lead) | Deals | yes | Leads and opportunities share one model. Map stage, expected revenue, salesperson and tags. |
| Leads (crm.lead, type=lead) | Contacts | partial | Leads are disabled by default. Decide whether to load them as Contacts with a lead status or as Deals. |
| Pipelines/stages (crm.stage, sales teams) | Deals | manual | Rebuild pipelines and stages in HubSpot by hand. |
| Chatter notes/logged messages (mail.message) | Notes | partial | They can be exported with External IDs but link to records by res_id, so they need a script and reassociation. |
| Scheduled activities (mail.activity) | Tasks | manual | I found no doc on export coverage. Audit via API. |
| Users/salespeople | Contacts | manual | Map owners to HubSpot users by email. |
What to expect
They are configuration, not exportable records, and have no HubSpot import path.
HubSpot permission sets work differently, so these must be rebuilt.
They must be rebuilt in HubSpot reporting.
Configuration is not carried over by the export.
The export wizard does not obviously cover every activity type. Test via API.
Custom fields must appear in the export model to be exported.
Export with External ID or database ID and import in dependency order.
Keep Odoo IDs as a HubSpot property and migrate parents first.
Confirm plan eligibility, and use JSON-2 on Odoo 19+ or CSV export.
Define the mapping rule up front.
Data governance and compliance
Decide what is allowed to move before anything is exported. Tick each gate once it is agreed.
How we researched this page
How much to trust each section, and where it comes from.
API access and CSV/Excel export are backed by Odoo docs and guides. Object mapping to HubSpot, rate limits and governance details rest on category-level knowledge or Odoo's data model. I found no HubSpot-side doc for an Odoo connector.
Sources
Related migrations
Frequently asked questions
How do I migrate Odoo CRM to HubSpot?
1. Confirm the Odoo version and hosting (Online, Odoo.sh or on-premise) and whether external API access is available. 2. Create a dedicated read-only integration user and generate an API key. 3. Inventory crm.lead types, stages, sales teams and custom fields or properties. 4. Check whether leads are enabled and decide the lead-to-HubSpot mapping.
What data can move from Odoo CRM to HubSpot?
These objects move directly: Contacts (res.partner, individuals), Companies (res.partner, is_company) and Opportunities (crm.lead). Check the mapping table for partial and manual items.
What does not move from Odoo CRM to HubSpot?
Automation rules and server actions, Access rights, record rules and groups and Reports and dashboards. Plan to rebuild or retire these.
How long does a Odoo CRM to HubSpot migration take?
Small (<10k records): 2-4 weeks. Mid (10k-100k records): 4-8 weeks. Large (>100k records): 8-16 weeks. These are planning estimates, not a quote.
What access do I need to export from Odoo CRM?
Odoo URL, database name, and a user API key. Older RPC endpoints also need the user login. A key inherits the permissions of its user, so use a dedicated integration user with read access. Only administrators can create persistent keys.
What compliance issues apply when moving Odoo CRM data?
Check: Odoo is cross-industry. Check notes and attachments for health, financial or minors' data.. Agree consent, retention and access rules before exporting.
Moving Odoo CRM into HubSpot?
A network of 153+ tiered HubSpot partners and 1,800+ accounts of experience. Tell us what you are moving and which hub matters most.
Talk to a partner