AI & Odoo
Een AI-agent voor Odoo opzetten en laten draaien: architectuur en hosting
Een chat met je Odoo-data is handig, maar een echte agent werkt ook als niemand kijkt: hij reageert op gebeurtenissen, voert taken uit en vraagt goedkeuring waar nodig. Zo zet je dat technisch op.
Drie manieren om AI in Odoo te gebruiken
- De AI-functies van Odoo zelf. Odoo 19 en 20 bevatten eigen AI-functies, zoals AI-velden, AI in automatiseringen en agentische automatisering. Handig voor taken binnen Odoo, zonder extra infrastructuur. Beperkingen: je werkt binnen wat Odoo aanbiedt, met minder vrijheid in modelkeuze en eigen logica.
- Een assistent via MCP. Claude of Codex koppelen aan Odoo met een MCP-server. Ideaal om interactief vragen te stellen en taken te laten uitvoeren terwijl je meekijkt. Zie ons stappenplan.
- Een eigen agent die zelfstandig draait. Een programma dat op een planning of bij een gebeurtenis start, Odoo-data leest, een AI-model laat beslissen en acties uitvoert of voorstelt. Dat is waar dit artikel over gaat.

De bouwstenen
Trigger: wanneer start de agent?
Op een planning (bijvoorbeeld elke ochtend om 7 uur), bij een gebeurtenis in Odoo (een automatiseringsregel die een webhook aanroept wanneer een offerte verstuurd wordt), of bij een externe gebeurtenis zoals een binnenkomende mail.
Agent-runtime: waar draait de logica?
Een klein programma in een container of serverless functie. Het gebruikt een agent-SDK, zoals de Claude Agent SDK of de OpenAI Agents SDK, met het AI-model van je keuze. Tools zijn de acties die de agent mag doen in Odoo.
Toegang tot Odoo: hoe praat de agent met Odoo?
Via een MCP-server die in dezelfde omgeving draait, of rechtstreeks via de Odoo-API (JSON-2 vanaf Odoo 19, of XML-RPC). Altijd met een aparte gebruiker en API-sleutel met enkel de nodige rechten.
Controle: wie beslist?
Laat de agent gevoelige acties voorstellen in plaats van uitvoeren: een activiteit of een conceptrecord in Odoo, die een collega goedkeurt. Log elke stap: wat zag de agent, wat besliste hij, wat deed hij.
Voorbeeld: offertes automatisch opvolgen
Een eenvoudige agent die elke ochtend verzonden offertes zonder reactie zoekt en voor elke offerte een opvolgactiviteit met een voorstel van mail klaarzet. De agent stuurt zelf niets: de verkoper keurt goed.
# Draait elke ochtend via een planner (cron, Cloud Scheduler, EventBridge ...)
offerten = odoo.search_read(
"sale.order",
[("state", "=", "sent"), ("date_order", "<", zeven_dagen_geleden)],
["name", "partner_id", "amount_total", "user_id"],
)
for offerte in offerten:
voorstel = ai.vraag(
"Schrijf een korte, vriendelijke opvolgmail voor deze offerte.",
context=offerte,
)
# Geen mail versturen: een activiteit voor de verkoper aanmaken
odoo.maak_activiteit(offerte, toegewezen_aan=offerte["user_id"], notitie=voorstel)
log.info("voorstel klaargezet", offerte=offerte["name"])Hostingopties
De agent zelf is licht: hij draait enkele seconden tot minuten per taak. Kies vooral op basis van waar je Odoo en je andere systemen al staan, en waar je data mag staan.
- Eigen server of VPS (Docker). Een container met de agent en eventueel de MCP-server op een intern netwerk, een planner (cron) en een
.env-bestand of geheimenbeheer. Eenvoudig, voorspelbaar en goed als je Odoo on-premise of op je eigen server draait. - Google Cloud. Cloud Run voor de container, Cloud Scheduler voor de planning, Secret Manager voor de API-sleutels en een Europese regio, zoals europe-west1 in Saint-Ghislain (België).
- AWS. Lambda of ECS Fargate voor de agent, EventBridge Scheduler voor de planning en Secrets Manager voor de sleutels, in een Europese regio zoals eu-central-1 of eu-west-1.
- Microsoft Azure. Azure Container Apps of Functions, met timer-triggers en Key Vault voor de sleutels. Een logische keuze als je al in Microsoft 365 en Azure werkt, en met Azure OpenAI kun je ook het model binnen je Azure-omgeving houden.
- Odoo zelf. Voor eenvoudige taken kan een geplande actie of automatisering in Odoo een externe AI-dienst aanroepen. Op Odoo.sh of on-premise kun je ook een eigen module schrijven. Let op time-outs: lange agent-taken draai je beter buiten Odoo.
Checklist voor productie
- Aparte Odoo-gebruiker met minimale rechten en een eigen API-sleutel (op Odoo 20 met scope
rpc). - Sleutels in een geheimenkluis, nooit in de code of in Git.
- MCP-server over HTTP nooit zonder authenticatie open op internet; bij voorkeur alleen op een intern netwerk.
- Goedkeuringsstap voor alles wat naar klanten gaat of geld raakt.
- Logboek en monitoring: wat deed de agent, wat kostte het, waar faalde hij?
- Een testdatabase om nieuwe versies van de agent eerst te proberen.
- Vrije keuze van model: bouw zo dat je kunt wisselen tussen Claude, OpenAI, Mistral of een lokaal model.
Veelgestelde vragen
Heeft Odoo een eigen MCP-server?
Niet standaard in Odoo zelf. Er bestaan modules in de Odoo Apps Store en open-source MCP-servers, zoals mcp-server-odoo, die je naast Odoo laat draaien.
Waar draait een AI-agent voor Odoo het best?
Waar je Odoo en je andere systemen al staan, en in een regio die past bij je eisen rond data. Een eigen server met Docker volstaat vaak; Google Cloud, AWS en Azure zijn handig als je daar al werkt.
Kan de agent zelfstandig mails sturen of facturen boeken?
Technisch wel, maar we raden aan dat de agent zulke acties voorstelt en een mens goedkeurt, zeker in het begin.