{
 "categories": [
  "erp",
  "crm",
  "accounting",
  "open-source"
 ],
 "deployment": "hybrid",
 "evidence": [
  {
   "date": "2026-08-16",
   "fact": "homepage",
   "note": "Odoo presents its current integrated suite of business applications across CRM, accounting, sales, inventory, HR, and other ERP domains.",
   "source": "https://www.odoo.com/",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "platforms",
   "note": "Odoo documents hosted Odoo Online and Odoo.sh services as well as packaged and source on-premises installation.",
   "source": "https://www.odoo.com/documentation/19.0/administration.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "license",
   "note": "Odoo documents LGPL-licensed Community components and separately licensed proprietary Enterprise applications.",
   "source": "https://www.odoo.com/documentation/19.0/legal/licenses.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.exists",
   "note": "Odoo 19 documents the external JSON-2 API at /json/2 for invoking model methods over HTTP.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.kinds",
   "note": "Odoo 19 retains XML-RPC and JSON-RPC while directing new integrations to JSON-2; both legacy RPC APIs are scheduled for removal in Odoo 20.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_rpc_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.auth[0]",
   "note": "JSON-2 uses bearer API keys with explicit expiry, revocation, rotation guidance, and dedicated bot-user recommendations.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.api.coverage",
   "note": "Odoo states that many features and all data are available externally through model methods; each database publishes dynamic model, field, and method documentation on /doc.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.mcp.first_party",
   "note": "The maintained implementation is owned by an independent GitHub account, not the Odoo organization; Odoo first-party MCP status remains unknown.",
   "source": "https://github.com/AlanOgic/odoo-mcp-19",
   "tier": "community"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.mcp.third_party[0]",
   "note": "The active Odoo 19 server has 69 commits, tests, current JSON-2 support, five broad model-operation tools, schema resources, stdio and authenticated HTTP transports, and explicit write-safety gates.",
   "source": "https://github.com/AlanOgic/odoo-mcp-19",
   "tier": "community"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.extensibility.scripting",
   "note": "Odoo's server framework documents Python modules that define models, fields, business logic, security, views, and application behavior.",
   "source": "https://www.odoo.com/documentation/19.0/developer/tutorials/server_framework_101.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.extensibility.webhooks",
   "note": "Odoo Studio supports inbound webhook triggers and automated actions that send outbound webhook notifications, with duplicate-database testing advised before live use.",
   "source": "https://www.odoo.com/documentation/19.0/applications/studio/automated_actions/webhooks.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.data_access.export",
   "note": "JSON-2 model read and search methods return structured JSON for data available under the calling user's permissions.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "modalities.data_access.import",
   "note": "JSON-2 invokes model methods with named JSON arguments and therefore supports create, update, workflow, and other database-specific operations.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "verdict.scores.api",
   "note": "JSON-2 provides broad dynamically documented model access, scoped permissions, rotating keys, bot-user guidance, and webhooks; Custom-plan gating and deployment-specific models keep it below the highest anchor.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "verdict.scores.mcp",
   "note": "One maintained third-party implementation provides useful broad Odoo 19 tools and safety controls, but requires self-hosting and has no Odoo vendor support.",
   "source": "https://github.com/AlanOgic/odoo-mcp-19",
   "tier": "community"
  },
  {
   "date": "2026-08-16",
   "fact": "freshness.watch[0].url",
   "note": "Verified through the current official Odoo 19 documentation index; direct page retrieval timed out after the indexed content was returned.",
   "source": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "freshness.watch[1].url",
   "note": "Verified through the current official Odoo 19 documentation index; direct page retrieval timed out after the indexed content was returned.",
   "source": "https://www.odoo.com/documentation/19.0/applications/studio/automated_actions/webhooks.html",
   "tier": "declared"
  },
  {
   "date": "2026-08-16",
   "fact": "freshness.watch[2].url",
   "note": "Opened and inspected as the current third-party Odoo 19 MCP implementation.",
   "source": "https://github.com/AlanOgic/odoo-mcp-19",
   "tier": "community"
  }
 ],
 "freshness": {
  "last_verified": "2026-08-16",
  "volatility": "high",
  "watch": [
   {
    "type": "docs",
    "url": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html"
   },
   {
    "type": "docs",
    "url": "https://www.odoo.com/documentation/19.0/applications/studio/automated_actions/webhooks.html"
   },
   {
    "type": "repository",
    "url": "https://github.com/AlanOgic/odoo-mcp-19"
   }
  ]
 },
 "homepage": "https://www.odoo.com/",
 "id": "odoo",
 "license": "open-source",
 "modalities": {
  "agent_docs": {
   "llms_txt": "unknown"
  },
  "api": {
   "auth": [
    "api-key"
   ],
   "coverage": "full",
   "docs": "https://www.odoo.com/documentation/19.0/developer/reference/external_api.html",
   "exists": true,
   "kinds": [
    "json-2",
    "xml-rpc",
    "json-rpc"
   ]
  },
  "cli": {
   "exists": "unknown"
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "api-json"
   ],
   "import": [
    "api-json"
   ]
  },
  "extensibility": {
   "scripting": [
    "python-modules",
    "automated-actions"
   ],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": "unknown",
   "third_party": [
    {
     "maintained": "yes",
     "registries": [],
     "repo": "https://github.com/AlanOgic/odoo-mcp-19"
    }
   ],
   "verdict": "unknown"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Odoo's model API, custom modules, automated actions, and webhooks are preferred over browser-level automation.",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "Odoo",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "oracle-netsuite",
   "dynamics-365-business-central",
   "sap-s4hana"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Odoo S.A.",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 8,
   "cli": null,
   "computer_use": null,
   "integrations": null,
   "mcp": 4,
   "overall": 8,
   "rpa": null
  },
  "summary": "Odoo 19 has a broad agent-ready data and action surface. Its new JSON-2 API exposes model methods over HTTP, dynamically documents the models, fields, and methods available in each database, and applies the normal Odoo access rights, record rules, and field permissions. Expiring API keys support dedicated least-privilege bot users. The important commercial constraint is that Odoo-hosted external API access is limited to the Custom plan. Legacy XML-RPC and JSON-RPC remain usable in version 19 but are scheduled for removal in Odoo 20, so new agents should use JSON-2. Custom Python modules, automated actions, and inbound and outbound webhooks add event-driven paths. A maintained third-party MCP server for Odoo 19 exposes broad schema discovery and guarded read/write model methods, but it is not an Odoo-owned interface and must be self-hosted. No official SDK or CLI path was established; those remain unknown. Computer-use viability is unassessed.\n"
 }
}