omadiaomadia.ai
registry
integrationodoo

Odoo Connector

@omadia/integration-odoo

Gemeinsamer Odoo-JSON-RPC-Layer (read-only) für alle Odoo-Konsumenten + Handelsregister-Enrichment (OpenRegister / NorthData). Publishes kernel-Services 'odoo.client' (OdooClient), 'odoo.cache' (OdooResponseCache), 'odoo.enrich' (CompanyEnrichmentProvider) + per-Scope Agent-Toolkits 'odoo.agentToolkit.{accounting,hr}' (query_graph + odoo_execute); contributes den native `odoo_version`-Tool und — optional via odoo_generic_read_enabled — die generischen Read-Tools `odoo_query` / `odoo_describe` sowie `enrich_company` via ctx.tools.register.

latest
v0.4.1
license
MIT
versions
5
author
byte5 GmbH

install

In your omadia instance, open Admin → Registries and add this registry, then install Odoo Connector from Admin → Plugins → Store.

registryhttps://hub.omadia.ai

setup guide

Set up the Odoo connection

The integration talks to Odoo's External API (JSON-RPC, read-only) with an API key instead of a password. You need three values, a fourth is optional:

  1. Odoo URL: your instance, e.g. https://erp.example.com or https://yourco.odoo.com (no trailing slash needed).
  2. Database (optional): the Odoo database name (for SaaS instances usually the subdomain part). Leave it empty and the connector uses the first database the instance lists at /web/database/list. Set it when the instance hosts several databases or does not publish its database list (list_db = False).
  3. API Login: the email of a technical user account used for JSON-RPC.
  4. API Key: in Odoo → Profile → Account Security → New API Key → copy → field API key.

Recommended: a dedicated technical user with exactly the required module read rights, not an admin account.

Optional: the company-enrichment providers (OpenRegister / NorthData) are off by default — enable and key them only if you need commercial-register lookups.

versions

v0.4.1
>=1.0 <2.0142.9 KB2026-10-29
.zip3ba286338fdc…
v0.4.0
>=1.0 <2.0142.6 KB2026-10-29
.zipc7d04759f442…
v0.3.0
>=1.0 <2.0140.8 KB2026-10-28
.zip30cbcb6d5746…
v0.2.2
>=1.0 <2.0131.9 KB2026-10-28
.zipcfbe4a9cdcce…
v0.2.1
>=1.0 <2.0128.6 KB2026-08-24
.zipe613bba3ea2e…

setup fields

Values the operator fills in at install-time.

odoo_urlurl
Odoo URLBase-URL der Odoo-Instanz, z.B. https://erp.example.com oder https://meinefirma.odoo.com. Kein trailing slash nötig.
required
odoo_dbstring
Datenbank-Name (optional)Name der Odoo-Datenbank — bei SaaS-Instanzen der Subdomain-Teil. Leer lassen: der Connector nimmt die erste Datenbank, die die Instanz unter /web/database/list ausgibt. Eintragen, wenn die Instanz mehrere Datenbanken hat oder die Liste gesperrt ist (list_db = False).
optional
odoo_loginstring
API-LoginE-Mail-Adresse des Technical-User-Accounts für JSON-RPC.
required
odoo_api_keysecret
API-KeyRotierbar in Odoo → Profil → Accountsicherheit → New API Key.
required
odoo_proxy_max_bytesinteger
Max Response-Size (Bytes)Kappt Odoo-Antworten über diesem Limit, um Memory-Blow-Ups bei großen search_reads zu verhindern. Default 500000.
optional
odoo_insecure_tlsboolean
TLS-Verifizierung deaktivierenNur für lokalen Dev mit privatem CA-Cert: schaltet TLS-Verify für Odoo-Requests aus. In Produktion MUSS das aus bleiben.
optional
odoo_generic_read_enabledboolean
Generische Odoo-Read-Tools aktivierenRegistriert die orchestrator-weiten Tools `odoo_query` (search_read) und `odoo_describe` (Schema). Sie lesen über die HR-/Accounting-Scope-Grenze hinweg (model-auto-routing), bleiben aber strikt read-only und behalten die HR-Red-Line-Sperren (Gehälter, Bank-/Privatdaten). Default aus — ohne Aktivierung läuft Odoo-Zugriff nur über die Sub-Agents. Das `odoo_version`-Tool ist unabhängig davon immer aktiv.
optional
odoo_entity_sync_enabledboolean
Entity-Sync aktivierenRegistriert einen Background-Job, der res.partner / hr.employee / hr.department / account.journal periodisch in den Knowledge-Graph spiegelt.
optional
odoo_entity_sync_interval_hoursinteger
Entity-Sync Intervall (Stunden)Zwischen 1 und 168. Default 6h.
optional
odoo_entity_sync_page_sizeinteger
Entity-Sync Page-SizeOdoo search_read batch-Größe pro Call. Default 100.
optional
odoo_entity_sync_max_per_modelinteger
Entity-Sync Max pro ModellHard-cap für Records pro Modell-Durchlauf, z.B. 5000 = max 5k Records pro res.partner-Sync. Default 5000.
optional
openregister_enabledboolean
OpenRegister aktivierenAktiviert den OpenRegister-Provider für das enrich_company-Tool. Gewinnt vor NorthData, wenn beide aktiv sind.
optional
openregister_api_keysecret
OpenRegister API-KeyBearer-Token aus https://docs.openregister.de/authentication.
optional
openregister_base_urlurl
OpenRegister Base-URLDefault https://api.openregister.de.
optional
openregister_rate_limit_rpsstring
OpenRegister Rate-Limit (rps)
optional
openregister_cache_ttl_daysinteger
OpenRegister Cache-TTL (Tage)
optional
openregister_max_bytesinteger
OpenRegister Max Response-Size
optional
openregister_fetch_levelenum
OpenRegister Fetch-LevelWie viele Daten pro Lookup geholt werden. Default standard.
optional
northdata_enabledboolean
NorthData aktivierenAktiviert den NorthData-Provider (Plan-B, nur wenn OpenRegister aus ist).
optional
northdata_api_keysecret
NorthData API-KeyX-Api-Key aus https://www.northdata.com/doc (Premium-Plan).
optional
northdata_base_urlurl
NorthData Base-URL
optional
northdata_rate_limit_rpsstring
NorthData Rate-Limit (rps)
optional
northdata_cache_ttl_daysinteger
NorthData Cache-TTL (Tage)
optional
northdata_max_bytesinteger
NorthData Max Response-Size
optional

permissions

memory

reads: [0] · writes: [0]

graph

reads: [0] · writes: [0]

network

outbound: [0]

filesystem

scratch: false