{
  "slug": "odoo",
  "url": "https://apps.sectorgrowth.com/integrations/odoo/",
  "name": "Odoo",
  "vendor": "Odoo SA",
  "aliases": [
    "Odoo ERP",
    "Odoo Community",
    "Odoo Enterprise",
    "Odoo Online",
    "Odoo.sh"
  ],
  "website": "https://www.odoo.com/",
  "category": {
    "slug": "erp-and-accounting",
    "name": "ERP and accounting",
    "url": "https://apps.sectorgrowth.com/categories/erp-and-accounting/"
  },
  "summary": "Odoo keeps CRM, sales orders, invoicing and stock in one database. What HubSpot's own Odoo app syncs, where it stops, and what a keyed build adds.",
  "answer": "Yes. HubSpot publishes an Odoo app, listed in the HubSpot App Marketplace as of September 2026, that syncs companies, contacts, leads, opportunities, products and activities one way or both. It stops short of sales orders and invoices, so reaching those takes a custom API integration over Odoo's external API, which we scope at 70 to 150 build hours.",
  "nativeApp": {
    "status": "hubspot-built",
    "name": "Odoo",
    "developer": "HubSpot",
    "verifiedAt": "2026-09-28"
  },
  "api": {
    "style": "rest",
    "auth": "api-key",
    "webhooks": "yes",
    "changedSince": "yes",
    "sandbox": "yes",
    "docsUrl": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html"
  },
  "objects": [
    {
      "source": "Contact, company type",
      "hubspot": "company",
      "direction": "two_way",
      "key": "Odoo partner id held in a custom HubSpot property",
      "notes": "Odoo keeps companies and people in one contact model, told apart by a company flag."
    },
    {
      "source": "Contact, individual type",
      "hubspot": "contact",
      "direction": "to_hubspot",
      "key": "Email, with the Odoo partner id as the tie breaker"
    },
    {
      "source": "Sales order",
      "hubspot": "deal",
      "direction": "to_hubspot",
      "key": "Odoo sales order id, with the order reference shown to sellers",
      "notes": "Orders are read only in the portal. Odoo stays the system of record."
    },
    {
      "source": "Customer invoice",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Odoo invoice id, associated to the sales order"
    },
    {
      "source": "Product",
      "hubspot": "product",
      "direction": "to_hubspot",
      "key": "Odoo product id"
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "A keyed service over Odoo's external API is the route that carries sales orders and invoices, reads only what changed since its last run, and writes the Odoo id onto every HubSpot record it touches."
    },
    {
      "kind": "native",
      "fit": "possible",
      "why": "HubSpot's own Odoo app syncs companies, contacts, leads, opportunities, products and activities with no service to host, which is enough for a team that only needs the CRM records to agree."
    },
    {
      "kind": "ipaas",
      "fit": "avoid",
      "why": "An iPaaS needs the same external API access as a build, which Odoo's hosted plans include only on the Custom plan, and it then bills per task on every order and invoice it moves."
    }
  ],
  "connectionMethods": [
    "api"
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "polling-watermark",
  "faqs": [
    {
      "q": "Does HubSpot's Odoo app sync sales orders and invoices?",
      "a": "No. HubSpot lists the app's default mappings as companies, contacts, leads, opportunities, products and custom activities, with Odoo leads landing as HubSpot contacts and opportunities as deals. Sales orders and invoices are not among them. Custom field mappings need Data Hub Starter or above, and they change the fields on those objects rather than adding new objects to the sync."
    },
    {
      "q": "Which Odoo plan does a HubSpot integration need?",
      "a": "On Odoo's hosted service, the Custom plan. Odoo's documentation says access to data through the external API is only available on Custom pricing plans, not on One App Free or Standard. That rule covers a custom API integration and any iPaaS connector alike, because both call Odoo from outside. Odoo.sh and your own server are Custom plan options too."
    },
    {
      "q": "How quickly does an Odoo change reach HubSpot?",
      "a": "With HubSpot's own app, records sync within 10 minutes of a change once the initial sync has finished, and HubSpot warns that a first sync of millions of records can take several days. With a custom API integration, the service reads changes on a schedule, hourly in a typical build, and an Odoo automation rule can post a webhook to start a read sooner."
    },
    {
      "q": "What happens to an Odoo integration built on XML-RPC?",
      "a": "It has an end date. Odoo's documentation schedules the /xmlrpc, /xmlrpc/2 and /jsonrpc endpoints for removal in Odoo 22, in fall 2028, and marks the services behind them deprecated. Odoo 19 introduced the JSON-2 API as the replacement, authenticated with an API key sent as a bearer token. We build new work on JSON-2 wherever the database runs Odoo 19 or later."
    },
    {
      "q": "Can two Odoo customers merge into one HubSpot company?",
      "a": "With name matching, yes. HubSpot's data sync matches companies on name or domain, and it pairs two records that share a company name even when their domains differ, and branches of one business can share a name in Odoo. A custom API integration keys every company on the Odoo partner id held in a HubSpot property, so each Odoo customer keeps its own company."
    },
    {
      "q": "Can we test an Odoo integration without touching live data?",
      "a": "Yes. On Odoo Online the database manager can duplicate a database, and its For testing purposes option, on by default, disables external actions such as emails, payments and delivery orders. Duplicates expire after 15 days, with at most five per database. We build against a duplicate and a HubSpot sandbox, then cut over by swapping the key."
    },
    {
      "q": "How long does an Odoo and HubSpot integration take?",
      "a": "Budget 10 to 20 hours of discovery and 70 to 150 hours of build for four to six objects, with a watermark per model and replay and reconciliation endpoints. Discovery settles which system owns the pipeline, because Odoo ships its own CRM app, and whether the database runs a plan and version that allow the JSON-2 API."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect Odoo to HubSpot",
      "anchor": "#why-teams-connect-odoo-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#why-teams-connect-odoo-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "Archived partners that vanish from reads",
      "anchor": "#archived-partners-that-vanish-from-reads",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#archived-partners-that-vanish-from-reads"
    },
    {
      "depth": 3,
      "text": "API keys capped at three months",
      "anchor": "#api-keys-capped-at-three-months",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#api-keys-capped-at-three-months"
    },
    {
      "depth": 3,
      "text": "The XML-RPC deadline in Odoo 22",
      "anchor": "#the-xml-rpc-deadline-in-odoo-22",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#the-xml-rpc-deadline-in-odoo-22"
    },
    {
      "depth": 3,
      "text": "Rolling upgrades on Odoo Online",
      "anchor": "#rolling-upgrades-on-odoo-online",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#rolling-upgrades-on-odoo-online"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/odoo/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "status": "published",
  "verifiedAt": "2026-09-28",
  "updatedAt": "2026-09-28",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "External JSON-2 API",
      "url": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html"
    },
    {
      "title": "ORM API",
      "url": "https://www.odoo.com/documentation/19.0/developer/reference/backend/orm.html"
    },
    {
      "title": "Automation rules",
      "url": "https://www.odoo.com/documentation/19.0/applications/studio/automated_actions.html"
    },
    {
      "title": "Odoo Online",
      "url": "https://www.odoo.com/documentation/19.0/administration/odoo_online.html"
    },
    {
      "title": "Upgrade",
      "url": "https://www.odoo.com/documentation/19.0/administration/upgrade.html"
    },
    {
      "title": "Odoo Pricing | Discover Odoo Plans",
      "url": "https://www.odoo.com/pricing"
    },
    {
      "title": "Odoo Enterprise vs Community | Odoo Editions Comparison",
      "url": "https://www.odoo.com/page/editions"
    },
    {
      "title": "Connect and use HubSpot data sync",
      "url": "https://knowledge.hubspot.com/integrations/connect-and-use-hubspot-data-sync"
    },
    {
      "title": "Understand your data sync field mappings",
      "url": "https://knowledge.hubspot.com/integrations/understand-your-data-sync-field-mappings"
    },
    {
      "title": "Odoo - ERP App for HubSpot | HubSpot",
      "url": "https://ecosystem.hubspot.com/marketplace/listing/odoo-data-sync"
    }
  ]
}