Zesduizend regels eigen code in twaalf modules. Een gewoon project, zei de ontwikkelaar van Odoo die het op Odoo Experience 2026 als voorbeeld nam. Met de hand schatte hij de eerste code-upgrade op twee weken. Met AI werden het twee dagen, en met de tool die Odoo ervoor bouwde ongeveer één dag: de machine doet de omzetting, een mens leest elke wijziging na.
Dat klinkt alsof maatwerk upgraden geen werk meer is. Zo ver is het niet. Of je naar Odoo 20 kunt, hangt af van alles wat aan je database hangt: eigen modules, Studio-aanpassingen, wat er in de interface is gebouwd, en de koppelingen met andere systemen. Die tool helpt alleen bij het eerste. Hieronder per soort wat er mee moet.
Je maatwerk bepaalt de datum
Volgens de upgradedocumentatie van Odoo kan een database met eigen modules pas over als elke module een versie voor de doelversie heeft. Werk daarom parallel: vraag een testdatabase aan en werk intussen de broncode bij.
De handleiding voor ontwikkelaars geeft er twee adviezen bij. Bevries nieuwe ontwikkeling zolang de upgrade loopt, anders upgrade je dezelfde functie twee keer. En daag je maatwerk uit: wat de standaard zelf kan, hoeft niet mee. De module die het laatst klaar is, bepaalt de datum. Plan dus vanaf de inventaris.
Welk maatwerk, wiens werk
| Soort | Waar het leeft | Wie het werk doet |
|---|---|---|
| Eigen modules | in code | de beheerder van de module; Odoo alleen met een abonnement voor onderhoud van maatwerk |
| Studio-aanpassingen | in de database | de upgradeservice van Odoo, zolang Studio geïnstalleerd is en het abonnement loopt |
| Automatiseringen, serveracties, sjablonen en filters uit de interface | in de database | jij of je partner, met de hand: een tool die code omzet, ziet ze niet |
Odoo upgradet je eigen modules alleen onder een abonnement voor onderhoud van maatwerk; anders ligt dat werk bij wie de modules bouwde of beheert, en dat werk bepaalt je planning, dus vraag er vroeg naar. En Studio-aanpassingen gaan weliswaar mee met de upgradeservice, maar test ze toch: schermen, rapporten en automatiseringen kunnen anders uitvallen. Een voorbeeld uit de release notes: werkbonsjablonen voor de buitendienst werken voortaan met eigenschapsvelden in plaats van Studio-velden. Wie daar Studio-velden op bouwde, kijkt opnieuw.
Koppelingen: wat er in Odoo 20 echt stopt
Er gaat rond dat XML-RPC en JSON-RPC, de oude koppelvlakken van Odoo, in Odoo 20 verdwijnen. Dat klopt voor een derde. Volgens de documentatie over de externe RPC-API zijn ze verouderd en bieden ze drie services: db, voor databasebeheer, is verwijderd in Odoo 20; common, onder meer voor inloggen, staat voor verwijdering gepland in Odoo 22, najaar 2028; object, voor het werken met records, idem. Op Odoo Online staan common en object al gepland voor versie 21.1, winter 2027.
Je koppeling stopt in Odoo 20 dus alleen als hij de db-service gebruikt, bijvoorbeeld om databases op afstand te beheren. De rest werkt nog, maar niet voor altijd. De vervanger is de externe JSON-2 API, met een API-sleutel per gebruiker. Zo'n sleutel heeft een looptijd van hooguit drie maanden, dus vernieuwen hoort in je beheerkalender. Let op: de externe API is alleen beschikbaar op het Custom-abonnement. Ons advies: zet koppelingen nu om, niet pas bij de volgende upgrade.
Wat er onder de motorkap verandert
| Wijziging | Wie het raakt | Wat je controleert |
|---|---|---|
| Recordregels verdwijnen; volgens de release notes bepaalt het toegangsrecht zelf op welke records het geldt | modules met eigen recordregels | of elke regel dezelfde records blijft afschermen |
| Nieuwe iconenset | eigen schermen, rapporten en websiteblokken | of de iconen nog verschijnen |
| Trackingwaarden verdwijnen | eigen koppelingen en rapporten die wijzigingshistorie lezen | of je de aparte module nodig hebt die Odoo daarvoor biedt |
| Pushmeldingen via Odoo zelf | eigen pushinstellingen | of meldingen aankomen |
| Nieuwere minimumversies voor zelf hosten | eigen servers | de installatie-eisen |
Begin met de inventaris
Vaak weet niemand meer precies wat er aan een database hangt. Dat is geen schuld, dat is tijd. Een lijst per database helpt. Per koppeling: welk systeem, welke API en welke service, welke gebruiker en sleutel, en wie de eigenaar is. Per module: wie hem onderhoudt, of er een versie voor Odoo 20 is, en welke rapporten en mailsjablonen velden uit die module gebruiken. Een verwijderd veld valt daar pas weken later op; de tool van Odoo rendert daarom na elke run elk rapport en elk mailsjabloon van de module. En per aanpassing in Studio of de interface: welke schermen, automatiseringen, serveracties en sjablonen er draaien, en wie ze maakte.
Test daarna op een aparte omgeving, zoals in onze OTAP-straat, nooit op productie. De inventaris is van jou, net als je data, je configuratie en je maatwerk. Zo bouwen we ook onze API-koppelingen: gedocumenteerd en overdraagbaar.
AI versnelt, mensen beslissen
Wat ik uit die sessie meeneem, is de volgorde. Eerst doen vaste tools de mechanische omzetting, daarna krijgt AI alleen wat overblijft. Dat draait op een lege wegwerpdatabase, dus klantdata komt er niet aan te pas. En vindt de tool in de code van Odoo geen oorzaak voor een wijziging, dan schrijft hij dat op in plaats van iets te verzinnen.
Of het bij elk project zo snel gaat, weet ik niet. Het voorbeeld was één project, en de tool vraagt een betaald abonnement op een AI-codeerhulp, toegang tot Odoo Enterprise en een Linux- of Mac-omgeving. Wat in Studio of de interface is gebouwd, blijft hoe dan ook handwerk.
Zo werken wij ook: AI helpt bepalen wat er per module verandert en wat getest moet worden. Een mens beoordeelt elke wijziging, want een groot platform heeft regels die nergens zijn opgeschreven. Zo standaard mogelijk, zo maatwerk als nodig. Na de beurs stelde ik voor om voor elke beheerklant een Odoo 20-impactscan te maken; de upgrade zelf plannen we in het kwartaalritme van onze managed services.
Wat Odoo 20 verder verandert, staat in het overzicht van Odoo 20. Hangt er maatwerk of een koppeling aan je Odoo? Vraag een impactscan aan
Luc Castermans was op Odoo Experience 2026 en schrijft in Hoe Odoo?! over Odoo inzetten zoals het bedoeld is.
S.O.S