Je verkoopteam belooft levering binnen vijf werkdagen, maar bij het picken blijkt het artikel uit voorraad. De klant wacht, de verkoopkans loopt gevaar, en niemand weet waarom er niet tijdig is bijbesteld. Of het tegenovergestelde: je magazijn staat vol met artikelen die amper bewegen, kapitaal dat stilstaat terwijl je het elders hard nodig hebt. Beide scenario's zijn symptomen van hetzelfde probleem: voorraadbeheer dat niet aansluit op je werkelijke bedrijfsvoering.
Odoo biedt een volledig geïntegreerde voorraadmodule die van inkooporder tot fysieke telling alles vastlegt. Maar het systeem instellen is één ding; het laten werken zoals jouw bedrijf werkt is iets anders. In dit artikel doorloop ik de hele keten: hoe je bestelpunten zo instelt dat ze werken, welke aanvullingsregels je wanneer gebruikt, hoe je routes configureert voor meerlagige distributie, en hoe je inventarisaties uitvoert zonder je dagelijkse operatie stil te leggen.
Bestelpunten: wanneer automatisch aanvullen wel en niet werkt
Een bestelpunt (reorder rule) triggert automatisch een inkooporder of productieorder zodra de voorraad onder een ingesteld niveau zakt. In theorie simpel, in de praktijk hangt de effectiviteit af van drie variabelen: de levertijd van je leverancier, de variatie in je verkoopvolume, en de kosten van een stockout versus de kosten van overstock.
Stel je verkoopt LED-panelen met een constante afname van twintig stuks per week. Je leverancier levert binnen twee weken, en je wilt nooit door je voorraad heen. Dan stel je het minimum in op veertig stuks (twee weken dekking) en het maximum op tachtig (vier weken). Zodra de voorraad onder de veertig komt, genereert Odoo een voorstel om aan te vullen tot tachtig stuks. Die logica werkt uitstekend voor A-artikelen met voorspelbare afname.
Maar neem een artikel dat je incidenteel verkoopt: een speciale connector waar je er tien van verkoopt, dan drie maanden niets, en dan weer vijftien. Automatische aanvulling faalt hier omdat het systeem lineair extrapoleert. Je krijgt ofwel chronische overstock ofwel chronische tekorten. Voor zulke B- en C-artikelen is handmatige goedkeuring van inkoopvoorstellen effectiever dan volledig geautomatiseerde aanvulling. Odoo ondersteunt beide: je markeert de regel als automatisch of als 'manual', waarbij de planner elke dag de voorstellen beoordeelt.
Hoe stel je een reorder rule precies in?
Je vindt reorder rules onder Voorraad > Configuratie > Heraanvullingsregels. Per product kun je meerdere regels aanmaken, elk voor een specifieke locatie. De belangrijkste velden zijn Minimum Quantity, Maximum Quantity, Quantity Multiple (handige veelvouden, bijvoorbeeld volle pallets), en de Route die bepaalt of er wordt ingekocht, geproduceerd, of verplaatst tussen magazijnen.
De Lead Time is cruciaal: als je leverancier veertien dagen nodig heeft en je stelt dit in op zeven, dan zal het systeem te laat bestellen. Odoo trekt deze waarde uit de leveranciersinformatie op de productpagina, maar je kunt hem per regel overschrijven. Let op: de scheduler draait standaard één keer per dag. Als je real-time aanvulling nodig hebt — bijvoorbeeld bij drop-shipping — kun je de scheduler ook handmatig triggeren, maar dat verhoogt de systeembelasting aanzienlijk.
De Route bepaalt wat er gebeurt: 'Buy' genereert een Request for Quotation, 'Manufacture' maakt een productieorder, en 'Resupply from [locatie]' een interne transfer. Voor bedrijven met meerdere magazijnen kun je cascaderende routes instellen: als magazijn B onder het minimum zakt, vult het bij vanuit magazijn A, en magazijn A vult bij van de leverancier. Dat werkt pas goed als je ook de doorlooptijden tussen locaties correct instelt.
Waar het in de praktijk misgaat
Onjuiste levertijden in de stamdata
Je hebt bestelpunten ingesteld, maar de scheduler bestelt systematisch te laat. Oorzaak: de lead time op de leverancier staat op zeven dagen, maar in werkelijkheid duurt het veertien dagen inclusief douane en transport. Odoo rekent met de ingevoerde waarde, niet met de realiteit. Los dit op door voor elke leverancier een realistische lead time in te stellen onder Inkoop > Configuratie > Leveranciers, en controleer bij elk product dat de juiste leverancier als primary vendor is aangemerkt.
Te veel reorder rules voor varianten
Je verkoopt T-shirts in vijf maten en tien kleuren, dus vijftig varianten. Voor elke variant maak je een reorder rule, en binnen een maand heb je tweehonderd regels die elkaar overschrijven omdat de scheduler niet slim genoeg is om varianten te groeperen. Oplossing: werk met een enkele regel op het hoofdproduct en gebruik kit-BOM's of phantom-BOM's om varianten just-in-time samen te stellen, of accepteer dat je handmatig moet sturen op de belangrijkste varianten en de rest op aanvraag bestelt.
Geen rekening met seizoensinvloeden
Je bestelpunt is afgestemd op gemiddelde verkoop, maar in december draai je drie keer zoveel omzet als in februari. De scheduler ziet de vraag pas als hij ontstaat, waardoor je in november alsnog met stockouts zit. Odoo heeft geen ingebouwde seizoenscorrectie; je moet dit anticiperen door handmatig vóór het hoogseizoen je minimumniveaus tijdelijk te verhogen, of gebruik te maken van een externe demand planning tool die via API voorspelde vraag in Odoo push.
Routes en locatiestructuur voor meerlagige distributie
Zodra je meer dan één magazijn hebt, of werkt met consignatievoorraad of dropshipping, worden routes het zenuwstelsel van je voorraadproces. Een route is een reeks stappen die een product aflegt van leverancier naar eindklant. Odoo ondersteunt multi-step routes: bijvoorbeeld ontvangst > kwaliteitscontrole > opslag, of verkoop > pick > pack > verzending.
Voor een webshop met een centraal magazijn en twee regionale hubs stel je dit in als drie locaties, elk met eigen voorraad. De webshop-order triggert een picking in de dichtstbijzijnde hub. Is daar geen voorraad, dan valt Odoo terug op het centrale magazijn (dat configureer je via de 'Resupply Subcontractors' route). Het centrale magazijn vult zelf aan via de leverancier. Dit werkt alleen als je voor elke locatie de juiste reorder rules hebt en als de routes correct geprioreerd zijn: anders stuurt het systeem alles vanuit het centrale magazijn, ook als de regionale hub vol staat.
In de praktijk zie ik vaak dat bedrijven te veel locaties aanmaken. Elke extra locatie betekent extra administratie, extra tellingen, en hogere kans op inconsistenties. Begin met maximaal drie locaties: ontvangst, voorraad en verzending. Pas als je bewijsbaar verlies lijdt door onduidelijkheid, voeg je sublocaties toe zoals schappen, palletplaatsen of quarantaine-zones.
Feit: Bedrijven met meer dan vijf voorraadlocaties in Odoo besteden gemiddeld 40% meer tijd aan voorraadcorrecties dan bedrijven met drie locaties, terwijl de voorraadnauwkeurigheid niet significant beter is.
Inventarisatie zonder stilstand: cyclic counts en volledige tellingen
Een jaarlijkse grote telling waarbij het magazijn een weekend dichtgaat is kostbaar en ontregelt je klantbelofte. Odoo ondersteunt cyclic counts: je telt elke week een klein deel van je voorraad, zodat je over het jaar heen alles bent langsgekomen zonder ooit stil te staan. Stel per product een telfrequentie in — A-artikelen elke maand, C-artikelen elk kwartaal — en het systeem genereert automatisch telopdrachten.
Een cyclic count start je via Voorraad > Operaties > Inventarisaties. Odoo toont de huidige boekhoudkundige voorraad en vraagt om de fysieke telling. Wijkt de telling af, dan registreer je het verschil en kies je een reden: diefstal, breuk, administratieve fout. Die reden kun je later analyseren om structurele problemen te identificeren. Pas als je het verschil bevestigt, boekt Odoo de correctie definitief door.
Voor een volledige jaarafsluiting genereer je één keer een telling van alle producten. Odoo blokkeert dan geen mutaties — dat moet je handmatig doen door inkomende en uitgaande transfers uit te stellen — maar het systeem markeert wel welke producten sinds de start van de telling zijn gemuteerd. Die moet je opnieuw tellen of je accepteert de afwijking. In de praktijk laat je het magazijn een dag voor de telling leeg leveren en blokkeer je nieuwe ontvangsten tot de telling klaar is.
Integratie met inkoop, verkoop en productie
Voorraadbeheer staat niet op zichzelf. Een verkooporder triggert een uitlevering, die op zijn beurt een reorder rule kan activeren. Een productieorder verbruikt grondstoffen en voegt eindproducten toe. Een inkooporder verhoogt de verwachte voorraad al voordat de goederen zijn ontvangen, waardoor Odoo rekening houdt met onderweg-zijnde voorraad bij het berekenen van bestelpunten.
Die koppeling is krachtig, maar vraagt om heldere afspraken. Bijvoorbeeld: mag een verkoper een order bevestigen als de voorraad er niet is? In Odoo regel je dat met de optie 'Prevent sales order confirmation if not enough inventory'. Zet je die aan, dan kan een verkoper niet bevestigen zonder dat de voorraad fysiek aanwezig is of al ingekocht. Zet je hem uit, dan kan de verkoper bevestigen en rekent het systeem erop dat de voorraad er op tijd is — een promise to deliver die je met je inkoop moet waarmaken.
Voor productie geldt hetzelfde: Odoo controleert of alle componenten beschikbaar zijn voordat een productieorder kan starten. Zijn ze dat niet, dan genereert het systeem automatisch inkoopvoorstellen voor ontbrekende componenten, mits de reorder rules correct zijn ingesteld. In bedrijven met complexe stuklijsten leidt dat snel tot honderden kleine inkooporders. Efficiënter is om te werken met een make-to-order strategie voor eindproducten en een make-to-stock strategie voor vaak gebruikte halffabricaten.
Rapportage: welke cijfers je echt nodig hebt
Odoo biedt tientallen voorraadrapportages, maar vier zijn essentieel. Ten eerste de Inventory Valuation: wat is je voorraad waard volgens FIFO, LIFO of gemiddelde kostprijs? Die waarde moet maandelijks aansluiten op je balans. Ten tweede de Stock Moves: een transactielogboek van elke mutatie, van inkoop tot verkoop tot correctie. Afwijkingen traceer je hier.
Ten derde de Forecasted Inventory: wat verwacht je over twee weken te hebben, rekening houdend met openstaande verkoop-, inkoop- en productieorders? Dit rapport is cruciaal voor planning, maar alleen betrouwbaar als je lead times en reorder rules kloppen. Ten vierde de ABC-analyse: classificeer je artikelen naar omloopsnelheid en margecontributie. A-artikelen automatiseer je volledig, C-artikelen bestel je handmatig of op klantorder.
Daarnaast is de Inventory Accuracy metric belangrijk: hoeveel procent van je producten klopt qua voorraad? Meet dit door na elke cyclic count de afwijkingen te delen door het totaal aantal getelde producten. Streef naar minstens 95% nauwkeurigheid. Zit je daaronder, dan is je proces te zwak en kost elke aanvullingsregel je meer dan hij oplevert.
Beginnen met voorraadbeheer in Odoo
Start met een schone openingsbalans. Importeer je huidige voorraad via een CSV met product, locatie en aantal. Controleer of elk product een kostprijs heeft; zonder kostprijs kan Odoo geen voorraadwaarde berekenen. Stel vervolgens voor je tien belangrijkste producten — je A-artikelen — reorder rules in met realistische minimum- en maximumniveaus. Laat de scheduler een week draaien en bekijk of de voorstellen logisch zijn.
Pas daarna breid je uit naar B-artikelen. Voor C-artikelen en incidentele verkopen werk je zonder automatische aanvulling; die bestel je op moment dat een verkooporder binnenkomt. Richt tegelijkertijd je eerste cyclic count in: kies tien producten per week en laat het magazijn die tellen. Binnen een maand heb je een beeld van je voorraadnauwkeurigheid en weet je waar de grootste afwijkingen zitten.
Voorraadbeheer in Odoo is geen one-time setup, maar een doorlopend proces van meten, bijsturen en verfijnen. De software biedt de instrumenten; de kunst is om ze af te stemmen op jouw artikelmix, jouw leveranciers en jouw belofte aan de klant.