KennisbankOdoo

Odoo als motor achter je webshop: de FiberNXT-case

16 juli 20267 min leestijd

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.

Veelgestelde vragen

Veelgestelde vragen

Moet ik de webshop van Odoo zelf (eCommerce) gebruiken?

Nee. Odoo eCommerce is prima als je snel wilt starten binnen de Odoo-wereld, maar je zit dan vast aan de frontend en templating van Odoo. Wil je volledige vrijheid in techniek en klantbeleving, dan koppel je een eigen shop aan Odoo — dat is precies wat we bij FiberNXT hebben gedaan.

Waarom webhooks en niet alleen polling?

Polling betekent kiezen tussen traag (elke paar minuten) of zwaar (continu bevragen). Met een webhook meldt Odoo zélf dat er iets veranderd is — een voorraadmutatie, een prijswijziging — en haalt de integratie alleen dan de details op. Realtime, zonder onnodige belasting van je Odoo-omgeving.

Jullie koppeling draait op JSON-RPC — is dat niet deprecated?

Klopt, sinds Odoo 19 zijn XML-RPC en JSON-RPC deprecated ten gunste van JSON-2. De endpoints blijven nog jaren werken, dus dat is geen acute zorg — maar de migratie hoort wel in het onderhoudsplan. Omdat onze integratielaag buiten Odoo leeft, is die overstap een kwestie van de API-client aanpassen, niet van modules herbouwen.

Antwoord niet gevonden?

Stel je vraag direct aan een engineer — we reageren doorgaans binnen één werkdag.