Een webshop verkoopt; een ERP weet wat er op voorraad ligt, wat het kost en of het geleverd is. Zolang die twee werelden niet praten, ben je orders aan het overtikken. Voor FiberNXT B.V. koppelden we de webshop — gebouwd op het headless commerce-platform Medusa — aan Odoo. Geen handwerk meer tussen bestelling en factuur, en onderweg een paar keuzes die voor elke webshop-op-Odoo relevant zijn.
De architectuurkeuze: integreren búiten Odoo
De eerste beslissing was de belangrijkste: de integratielaag leeft buiten Odoo. Odoo stuurt simpele webhooks bij wijzigingen; de koppeling zelf — de logica, de vertaling tussen shop en ERP — draait als eigen software ernaast en praat met Odoo via de externe API (JSON-RPC).
Dat is een bewuste afweging. Je kúnt de koppeling ook als Odoo-module bouwen, in Python, binnen de Odoo-codebase. Maar alles wat je ín Odoo bouwt, moet je bij elke major-upgrade mee-migreren — en het vraagt een team dat de Odoo-internals bijhoudt. Door de integratie erbuiten te houden blijft Odoo zo standaard mogelijk, en dat maakt upgrades en beheer een stuk voorspelbaarder.
Wat er over de lijn gaat
Producten en prijzen komen uit Odoo. Het ERP is de bron: assortiment en prijzen worden dáár beheerd en synchroniseren naar de shop. Eén plek om een prijs te wijzigen, geen verschil tussen wat de shop toont en wat de factuur zegt.
Voorraad is realtime. Muteert de voorraad in Odoo — een levering binnen, een order eruit — dan weet de webshop het direct via een webhook. De klant ziet de werkelijke voorraad, niet die van vannacht.
Een bestelling wordt automatisch een verkooporder. Rekent een klant af in de shop, dan staat de order binnen enkele seconden als verkooporder in Odoo. Vanaf daar loopt het reguliere Odoo-proces: picken, leveren, factureren — de fulfilment van de webshoporders gebeurt volledig in Odoo, met de modules Verkoop, Voorraad, Inkoop en Boekhouding.
Betalingen letteren zichzelf af. De betaalafhandeling zit in de shop (Mollie, via Medusa), maar de betaalreferentie wordt direct op de Odoo-order gezet. Als de uitbetaling op de bankrekening binnenkomt, matcht Odoo de transactie automatisch aan de juiste order — precies waar afletterregels voor bedoeld zijn. De boekhouding loopt bij zonder dat er iemand naar omkijkt.
De echte les: waar leg je de grens?
De techniek — webhooks, API-calls, een sync — is niet het moeilijkste deel. De moeilijkste vraag is waar je de automatiseringsgrens legt: wat laat je Odoo doen, wat bouw je ín Odoo, en wat bouw je in je eigen shop?
Die keuze is er uiteindelijk een over je team, niet over techniek. Doorbouwen in je eigen shop betekent ontwikkelen in de stack die je toch al beheerst. Stevig inzetten op eigen Odoo-modules betekent structureel een backend Python developer aan boord — en zodra die modules ook schermen krijgen, potentieel frontenders in meerdere stacks ernaast. Voor FiberNXT viel het kwartje naar de shopkant: Odoo blijft standaard en doet waar het goed in is (voorraad, orders, boekhouding), al het maatwerk leeft in eigen software daaromheen.
Onze vuistregel na dit traject: bouw in Odoo wat over Odoo-data gaat en nergens anders hoeft te draaien; bouw erbuiten wat een eigen levenscyclus heeft. Een koppeling die elke sprint mee-evolueert met je shop hoort niet vast te zitten aan de releasekalender van je ERP.
Wat dit oplevert
Van bestelling tot afgeletterde betaling zonder handwerk: geen overgetikte orders, geen voorraadverrassingen, geen openstaande posten die handmatig gematcht moeten worden. En net zo belangrijk: een Odoo-omgeving die standaard genoeg is gebleven om zonder drama te upgraden.
Zoiets bouwen voor jouw shop of platform? Wij doen zowel de software als de Odoo-kant — en juist het gesprek over waar de grens hoort te liggen, voeren we het liefst vóórdat er gebouwd wordt.