Een AI-assistent op je Odoo-data is maar zo goed als drie dingen: gestructureerde toegang tot live records in plaats van een documentdump, schone data eronder, en rechten die de assistent begrenzen tot wat de gebruiker mag zien. Krijg je die goed, dan vervangt de vraag van één zin de zoektocht door draaitabellen.
Je stelt je AI-assistent een simpele vraag: "Welke klanten zitten boven hun kredietlimiet en hebben een open order?" In tien seconden krijg je een zelfverzekerd, goedgeschreven antwoord met drie namen. Het leest prima. Het enige probleem is dat een van die klanten vorige week heeft betaald, en dat een vierde naam die op de lijst zou moeten staan ontbreekt. De assistent loog niet expres. Hij heeft alleen niet echt in Odoo gekeken. Hij gokte op basis van wat hij eerder had gezien.
Dit is het gat tussen een AI die goed klinkt en een AI die gelijk heeft. Vragen stellen over je eigen ERP-data is echt nuttig: geen gespit meer door filters en draaitabellen om een vraag te beantwoorden die een collega in één zin kon stellen. Maar het werkt alleen als de assistent je live data leest, weet wat hij mag zien, en die data schoon genoeg is om te vertrouwen. Krijg die drie dingen op orde en de antwoorden zijn echt. Sla ze over en je hebt een zeer welbespraakte gokker bovenop je bedrijf zitten. Hier is hoe de stukken in elkaar passen, en hoe je het goed doet.
Waarom een algemene AI geen vragen over je bedrijf kan beantwoorden
Een algemeen AI-model weet veel over de wereld en niets over jouw bedrijf. Het heeft je klanten nooit gezien, je voorraadniveaus niet, of de marge van vorige maand. Dus wanneer je het een vraag over je data stelt, heeft het twee opties: zeggen dat het het niet weet, of een plausibel antwoord uit patronen produceren. Aan zichzelf overgelaten doet het meestal het tweede, en een plausibel fout antwoord is erger dan geen antwoord, omdat je ernaar handelt.
De oplossing heeft een naam: retrieval-augmented generation, meestal afgekort tot RAG. Het idee is simpel. Voordat het model antwoordt, haalt het de werkelijk relevante data uit je systemen op, en daarna genereert het het antwoord uit die data in plaats van uit het geheugen. "Retrieval-augmented" betekent gewoon "zoek het eerst op, antwoord dan". Voor een ERP is de data die het opzoekt je Odoo-records: de live klanten, orders, facturen en voorraad, bevraagd op het moment dat je het vraagt.
Die ene ontwerpkeuze is het hele verschil. Een assistent die eerst ophaalt kan zeggen "op basis van deze vier orders" en zijn werk laten zien. Een assistent die niet ophaalt improviseert, hoe vlot het ook klinkt. Dus de echte vraag is niet "kan AI vragen over mijn data beantwoorden". Het is "hoe bereikt de AI mijn data, en kan ik vertrouwen wat hij doet als hij er is". Drie dingen bepalen dat: gestructureerde toegang, schone data en rechten.
Wat ervoor nodig is om dit goed te doen
Gestructureerde toegang tot de data, geen documentdump
De assistent heeft een betrouwbare manier nodig om Odoo te bevragen, geen map met geëxporteerde spreadsheets. Odoo is een gestructureerde database: klanten, orders, facturen en producten zijn records met velden en verbanden ertussen. De assistent moet die records lezen via een gedefinieerd kanaal dat actuele data teruggeeft, zodat "open orders" de orders betekent die nu open zijn, niet een momentopname van afgelopen dinsdag.
Dit is belangrijk omdat het alternatief, exports in het model dumpen, direct veroudert en de verbanden verliest. Een stapel pdf's kan de assistent niet vertellen dat deze factuur bij die order voor die klant hoort. Een gestructureerde query kan dat wel. Live, gestructureerde toegang is wat de assistent in staat stelt een relationele vraag ("klanten boven hun limiet met een open order") correct te beantwoorden, omdat hij de verbanden kan volgen zoals Odoo dat doet.
Schone data eronder, anders automatiseer je de rommel
Een AI-assistent is een vergrootglas op je datakwaliteit. Als dezelfde klant drie keer bestaat met net iets andere namen, rapporteert de assistent vrolijk drie klanten. Als de helft van je producten geen categorie heeft, laat "verkoop per categorie" ze stilletjes weg. De assistent repareert slechte data niet. Hij rapporteert er vol vertrouwen over, wat erger is, omdat het vertrouwen de gaten verbergt.
Dus komt het onspectaculaire werk eerst: ontdubbel de stamgegevens, vul de velden waar de vragen van afhangen, en spreek af wat elk veld betekent. Als "geleverd" op drie verschillende manieren wordt vastgelegd binnen je team, kan geen enkele assistent je een schoon leveringscijfer geven. Schone data is geen nice-to-have voor AI op ERP. Het is wat bepaalt of de antwoorden überhaupt bruikbaar zijn.
Rechten, zodat de assistent niet meer kan zien of doen dan de gebruiker
Dit is het deel dat mensen overslaan en betreuren. Een AI-assistent op Odoo moet het eigen rechtenmodel van Odoo respecteren: toegangsrechten (wat een gebruiker mag doen op een type record) en recordregels (welke specifieke records een gebruiker mag zien). De assistent moet antwoorden als de persoon die vraagt, met diens toegang, niet als een superuser die ieders salaris en elke marge kan lezen.
Er zijn twee echte risico's. Het eerste is blootstelling: als de assistent met brede toegang draait, kan een verkoper een vraag stellen en data terugkrijgen die hij nooit mocht zien. Het tweede is prompt injection: een kwaadaardige instructie verborgen in een record of een document verleidt de assistent tot iets wat hij niet zou moeten doen, zoals data exfiltreren of een record wijzigen. De verdediging is niet exotisch. Bakene de assistent af tot de rechten van de vragende gebruiker, houd hem alleen-lezen tenzij een actie echt nodig is, en vereis een menselijke bevestiging voor alles met hoog risico zoals het goedkeuren van een factuur of het wijzigen van toegangsrechten. Een assistent die alles kan lezen en op alles kan handelen is een datalek dat op een slechte prompt wacht.
De drie manieren om een assistent op Odoo te zetten
Er is meer dan één manier om dit te bouwen, en ze liggen op verschillende punten op een lijn van snel-en-begrensd tot flexibel-en-intensief.
De eigen AI-functies van Odoo. Vanaf Odoo 19 is er een ingebouwde AI-app met een "Ask AI"-assistent en configureerbare AI-agents die vragen over je data kunnen beantwoorden en acties binnen Odoo kunnen uitvoeren, vanuit een chatinterface. Het grote voordeel is dat het binnen Odoo leeft, dus het erft standaard de toegangsrechten en recordregels van Odoo. Het is de snelste route als je behoeften binnen één Odoo-database vallen en de standaardagents je vragen dekken. De beperking is dezelfde als de kracht: het is de assistent van Odoo, gericht op Odoo, geconfigureerd op de Odoo-manier.
Een MCP-server vóór Odoo. MCP (Model Context Protocol) is een open standaard waarmee een AI-assistent externe tools en databronnen kan aanroepen. Een Odoo MCP-server stelt je Odoo-records beschikbaar aan een assistent zoals Claude via die standaard, meestal door de verzoeken van de assistent te vertalen naar Odoo API-calls en de records terug te geven in een vorm die het model kan lezen. Dit is de route wanneer je een specifieke assistent (niet alleen die van Odoo zelf) Odoo wilt laten bevragen, of wanneer Odoo één van meerdere bronnen is die de assistent moet bereiken. Een goede MCP-server dwingt de rechten van Odoo af en laat je hem alleen-lezen houden, zodat de toegangsvraag op die laag beantwoord wordt en niet aan hoop wordt overgelaten. De prijs is dat het een component is die je moet draaien en beveiligen, geen vinkje.
Een iPaaS- of integratielaag waar de assistent uit leest. Als de antwoorden meer dan Odoo moeten omvatten (Odoo plus een webshop, een WMS, een apart financieel pakket), heeft de assistent een plek nodig waar die bronnen het al met elkaar eens zijn. Daar dient een synclaag voor. Hij houdt de systemen in overeenstemming, en de assistent bevraagt de laag in plaats van zelf drie live systemen aan elkaar te knopen. Dit is de zwaardere optie, en hij verdient zijn plek alleen wanneer de vragen echt systemen overstijgen. Als ze dat doen, is het het verschil tussen een antwoord dat je kunt vertrouwen en een assistent die gokt welk systeem gelijk heeft.
Deze zijn niet gerangschikt. De eigen AI van Odoo is het natuurlijke startpunt wanneer alles in Odoo leeft. Een MCP-server past wanneer een bepaalde assistent Odoo moet bereiken, of Odoo tussen andere tools. Een synclaag is voor vragen die systemen overstijgen. De meeste bedrijven groeien er in die volgorde doorheen.
Het stuk waar mensen over struikelen
Een paar dingen overkomen vrijwel iedereen
Een paar dingen overkomen vrijwel iedereen.
Een vlot antwoord is geen correct antwoord. Het hele risico van AI op data is dat foute antwoorden prachtig geschreven binnenkomen. Totdat de assistent live data ophaalt en kan laten zien welke records hij gebruikt heeft, behandel je zijn antwoorden als concepten, niet als feiten.
"Het heeft mijn data ooit gelezen" is niet hetzelfde als live toegang. Een assistent die werkt vanuit een oude export beantwoordt de vraag van vandaag met de cijfers van vorige maand en waarschuwt je daar nooit voor. Het ophalen moet live zijn, anders verschuift het versheidsprobleem alleen maar uit het zicht.
Rechten zijn geen latere fase. Als je de assistent met admin-toegang aansluit "om het werkend te krijgen" en van plan bent het daarna dicht te zetten, gebeurt dat dichtzetten zelden en is de blootstelling er al. Bakene het op dag één af, tot de vragende gebruiker, standaard alleen-lezen.
Vervuilde data maakt AI slechter, niet beter. Een welbespraakte assistent bovenop ontdubbelde klanten en halfgevulde velden zetten verbergt de rommel niet. Het verwoordt de rommel met vertrouwen. Eerst schoonmaken, dan verbinden.
Prompt injection is een echte aanval, geen theorie. Inhoud die de assistent leest kan instructies bevatten. Als de assistent kan handelen, kan een verborgen instructie hem verkeerd laten handelen. Houd hem alleen-lezen waar je kunt, en vereis menselijke bevestiging voor alles wat data of geld verandert.
Snelle checklist
- De assistent haalt live Odoo-data op voordat hij antwoordt, en kan laten zien welke records hij gebruikt heeft.
- Toegang is gestructureerd (echte queries op records), geen dump van geëxporteerde bestanden.
- Stamgegevens zijn ontdubbeld en de velden waar je vragen op leunen zijn ingevuld.
- De assistent antwoordt met de rechten van de vragende gebruiker, niet als superuser.
- Het is alleen-lezen, tenzij een actie echt nodig is, met menselijke bevestiging voor stappen met hoog risico.
- Je hebt bepaald of de vragen binnen Odoo blijven of systemen overstijgen, en de aanpak daarop afgestemd.
- Iemand is hier eigenaar van terwijl beide kanten veranderen: nieuwe Odoo-versies, nieuwe data, nieuwe vragen.
FAQ
Kan een AI-assistent vragen over mijn eigen Odoo-data beantwoorden?
Ja, als hij je live Odoo-data leest voordat hij antwoordt in plaats van te gokken op basis van wat hij eerder heeft gezien. De techniek heet retrieval-augmented generation: de assistent haalt de relevante records uit Odoo op, en genereert dan het antwoord uit die records. Dit werkt via de eigen AI-functies van Odoo, via een MCP-server die Odoo beschikbaar stelt aan een externe assistent, of via een synclaag wanneer de vragen meerdere systemen overspannen. Drie dingen bepalen of de antwoorden te vertrouwen zijn: gestructureerde toegang tot live data, schone data eronder, en rechten die passen bij de gebruiker die vraagt.
Is het veilig om een AI-assistent te koppelen aan mijn ERP-data?
Het is veilig als de assistent draait met de rechten van de vragende gebruiker en niet als superuser. Een AI-assistent op Odoo moet de toegangsrechten en recordregels van Odoo respecteren, zodat iemand alleen antwoorden krijgt uit data die hij al mag zien. Houd de assistent alleen-lezen tenzij een actie echt nodig is, en vereis menselijke bevestiging voor acties met hoog risico zoals het goedkeuren van facturen of het wijzigen van toegangsrechten. De grootste risico's zijn te brede toegang (de assistent geeft data terug die de gebruiker niet zou mogen zien) en prompt injection (een verborgen instructie in een record die de assistent verkeerd laat handelen), en beide beheers je door de toegang strak af te bakenen.
Wat is RAG (retrieval-augmented generation) voor een ERP?
RAG betekent dat de AI echte data opzoekt voordat hij antwoordt, in plaats van uit het geheugen te antwoorden. Voor een ERP als Odoo is die data je live records: klanten, orders, facturen en voorraad, bevraagd op het moment dat je het vraagt. Zonder ophalen produceert een algemeen AI-model plausibele antwoorden die fout kunnen zijn omdat het je bedrijf nooit heeft gezien. Met ophalen wordt het antwoord opgebouwd uit je werkelijke records en kan de assistent laten zien welke hij gebruikt heeft.
Heeft Odoo een ingebouwde AI-assistent?
Ja. Vanaf Odoo 19 is er een ingebouwde AI-app met een "Ask AI"-assistent en configureerbare AI-agents die vragen over je data kunnen beantwoorden en acties binnen Odoo kunnen uitvoeren vanuit een chatinterface. Omdat het binnen Odoo leeft, erft het standaard de toegangsrechten en recordregels van Odoo. Wil je een andere assistent Odoo laten bereiken, of Odoo naast andere systemen, dan kun je in plaats daarvan een MCP-server vóór Odoo gebruiken of een synclaag bevragen die je systemen in overeenstemming houdt.
Heb ik schone data nodig voordat ik AI op mijn ERP gebruik?
Ja, en het is de stap die de meeste mensen onderschatten. Een AI-assistent rapporteert vol vertrouwen over je datakwaliteit, dus dubbele klanten, lege velden en inconsistente definities worden zelfverzekerde foute antwoorden. Ontdubbel de stamgegevens, vul de velden waar je vragen van afhangen, en spreek af wat elk veld betekent voordat je een assistent koppelt. Schone data is wat bepaalt of de antwoorden überhaupt bruikbaar zijn.