Overslaan naar inhoud
0

Home Blog Waarom je webshop en magazijn een andere voorraad tonen, en hoe je dat oplost

Waarom je webshop en magazijn een andere voorraad tonen, en hoe je dat oplost

Webshop zegt 40, schap zegt 0? Zo vind je waarom Odoo en je webshop een andere voorraad tonen, en dicht je het verschil in zes stappen zonder code.
SG
Swikriti Gyawali
10-11-2026 · 7 min lezen

Het probleem

Het is maandag, 9:40. Je webshop toont 40 stuks van je bestseller. Een klant bestelt er drie. Je picker loopt naar het schap, vindt niets en schrijft "niet op voorraad" op de pickbon. Het systeem zei 40. Het schap zei 0.

Nu moet je een klant te woord staan, een terugbetaling boeken en een vraag beantwoorden waar je nog geen antwoord op hebt: welk getal klopt? Meestal kloppen ze allebei, maar ze meten iets anders. Of een van de twee heeft niet gehoord dat er iets is bewogen. Het goede nieuws: je vindt het verschil zelf, en de oplossing zit meestal in instellingen en werkafspraken, niet in code.

Waarom het gebeurt

Eerst de vraag: welke webshop heb je? Draait je webshop op Odoo zelf, dan leest hij de voorraad live uit Odoo zodra hij een product toont. Een verschil komt dan bijna altijd door een definitie of een instelling. Is je webshop iets anders, zoals Shopify, WooCommerce, Magento of een marktplaats, dan heeft hij een eigen kopie van het getal. Hij weet alleen wat hem het laatst is verteld. Dan begint het verschil bij de koppeling.

Twee kolommen: de Odoo-webshop leest voorraad bij het tonen van een product, een externe webshop heeft een eigen kopie en hangt af van een sync

Daarna: Odoo rekent bij elk product dat je volgt drie getallen uit. "Op voorraad" is wat het systeem denkt dat er fysiek ligt. "Vrij beschikbaar" is dat getal min wat gereserveerd is voor open leveringen. "Verwacht" is op voorraad plus inkomend min uitgaand. De Odoo-webshop toont vrij beschikbaar, voor het magazijn dat je bij de website hebt ingesteld, naar beneden afgerond op hele stuks. Hij toont dus niet "op voorraad" en niet "verwacht". Je voorraadscherm en je shop kunnen allebei kloppen en toch een ander getal laten zien.

Diagram met op voorraad 40 min gereserveerd 25 is vrij beschikbaar 15, het getal dat de Odoo-webshop toont, met verwacht als apart planningsgetal

Zes dingen veroorzaken de meeste verschillen: voorraad die gereserveerd is voor open leveringen, een websitemagazijn dat de verkeerde locaties meetelt, boeken die achterlopen op het

schap , een kassa die verkopen laat boekt, verlopen partijen, en een externe webshop met een eigen kopie. De stappen hieronder lopen ze in die volgorde langs.

Zo los je het op, in zes stappen

  1. Vergelijk de juiste getallen. Kies één product waar het misgaat. Kijk in Odoo naar "op voorraad", "vrij beschikbaar" en "verwacht". Komt de shop overeen met "vrij beschikbaar", dan doet Odoo wat het hoort te doen, en zit je verschil tussen vrij beschikbaar en op voorraad: reserveringen. Komt de shop met geen van de drie overeen, ga dan naar stap 2.
  2. Kies het websitemagazijn. Werk je met meer dan één magazijn? Open dan Instellingen, ga naar het onderdeel Website en kies bij "Warehouse" het magazijn dat je webshoporders verzendt. Staat het veld leeg, dan staat er "All warehouses" en telt elk magazijn mee, ook voorraad die niet naar klanten kan. Het veld verschijnt alleen als je meerdere magazijnen hebt ingeschakeld.
  3. Sluit de open eindjes in je magazijn. Bevestig leveringen die al weg zijn. Een levering die niemand bevestigt, houdt zijn voorraad gereserveerd. Het getal in de shop zakt dan, terwijl "op voorraad" er nog goed uitziet. Verwerk je fysieke tellingen, want een telling die je niet toepast, verandert niets. Boek retouren en afschrijvingen. Heb je ook winkels met de Odoo-kassa? Check dan de instelling "Update quantities in stock". Standaard staat die op "In real time". Staat hij op "At the session closing", dan komt een winkelverkoop pas in je gedeelde voorraad als de sessie sluit. Je webshop blijft dan artikelen verkopen die uren geleden de winkel uit zijn.
  4. Kies wat de shop bij nul doet. Open het product, ga naar het tabblad eCommerce en kijk bij de groep Inventory. Je ziet die alleen bij producten waarbij "Track Inventory" aan staat. "Sell when Out-of-Stock" staat standaard aan. Zet hem uit bij alles wat je niet kunt nabestellen. De shop blokkeert de bestelling dan zodra "vrij beschikbaar" min wat de klant al in het mandje heeft onder 1 komt. Voeg een melding toe voor uitverkochte producten. Met "Show Available Qty" laat je klanten zien hoeveel er nog zijn zodra de voorraad onder een drempel zakt (standaard 5).
  5. Let op vervaldata. Volg je vervaldata? Dan gaat verlopen voorraad die niet gereserveerd is van "vrij beschikbaar" af. Het schap kan het artikel nog hebben, maar de shop verkoopt het niet. Verplaats of boek verlopen partijen af.
  6. Geef voorraad één eigenaar als je webshop buiten Odoo draait. Odoo boekt de voorraad. De webshop leest hem en schrijft nooit. Check dan drie dingen: welk getal Odoo verstuurt (vrij beschikbaar, niet verwacht), hoe vaak het getal wordt verstuurd, en wat er gebeurt als een verzending mislukt. Verkopen marktplaatsen dezelfde voorraad? Houd dan per kanaal een kleine buffer aan. Test met één product: verkoop één stuk in de webshop en meet hoe lang het duurt voordat Odoo de order toont en voordat de shop het nieuwe getal laat zien.

Drie stappen: Odoo beheert voorraad, een sync stuurt vrij beschikbaar volgens een schema, de webshop toont een kopie die zo vers is als de laatste verzending

Waar het vaak misgaat

Producten in een winkelmandje zetten geen voorraad vast. Standaard wordt voorraad gereserveerd zodra de order bevestigd is en de levering ontstaat, niet terwijl het artikel in een winkelmandje ligt. Odoo telt je eigen mandje wel mee als "Sell when Out-of-Stock" uit staat, maar de mandjes van andere klanten niet. Twee klanten kunnen dus nog steeds het laatste stuk kopen.

Vier stappen: artikel in het mandje zonder reservering, order bevestigd met levering en reservering, levering klaar zodat op voorraad omlaag gaat, shop toont vrij beschikbaar bij het tonen van het product

Afronding verbergt voorraad. De shop rondt naar beneden af op hele stuks. Verkoop je op gewicht en is er 0,9 kilo vrij, dan toont de shop 0.

De verwachte voorraad is geen echte voorraad. Stuurt een koppeling of een rapport het verwachte getal door, dan belooft je shop goederen die er nog niet zijn.

Tijd hoort bij de voorraad. Zolang niemand een inkomende levering bevestigt, bestaat die niet voor de shop. Hoe sneller je magazijn boekt, hoe kleiner het verschil.

Tot slot: deze regels komen uit de open code van Odoo en zijn hetzelfde in Odoo 19 en 20. Koppelingen met externe webshops verschillen per aanbieder. Test die op een kopie van je eigen database.

Checklist

  • Kies één product waar het misgaat en schrijf "op voorraad", "vrij beschikbaar" en "verwacht" op.
  • Check de instelling voor het websitemagazijn.
  • Bevestig oude leveringen en verwerk openstaande tellingen.
  • Check wanneer je kassa de voorraad bijwerkt.
  • Zet "Sell when Out-of-Stock" per product goed.
  • Zoek naar verlopen partijen.
  • Draait je webshop buiten Odoo? Check welk getal wordt verstuurd, hoe vaak, en wat er gebeurt als een verzending mislukt.
  • Doe één testbestelling en meet de tijd.

Wanneer schakel je BlueZebra in

Met één magazijn en de Odoo-webshop kom je met standaard Odoo ver. Het wordt lastiger met meerdere magazijnen, winkels die voorraad delen met een webshop, marktplaatsen, of een externe webshop die op het verkeerde moment het verkeerde getal krijgt.

Bij BlueZebra werken we vanuit standaard boven maatwerk: eerst kijken wat Odoo zelf al oplost, en pas daarna bouwen wat echt nodig is. Heb je winkels en een webshop, dan houdt System2System voorraad, prijzen en orders tussen Odoo en je webshop gelijk, ook na een upgrade. Zo hoef je niet bang te zijn dat een nieuwe Odoo-versie je voorraadkoppeling breekt.

Wil je weten waar het verschil in jouw voorraad zit? Plan een procesanalyse en we lopen je getallen met je door, op basis van wat er nu werkt.

Plan een procesanalyse

Veelgestelde vragen

  1. Waarom toont mijn Odoo-webshop een andere voorraad dan mijn magazijn?
  2. De webshop toont de vrij beschikbare voorraad (op voorraad min gereserveerd) voor het websitemagazijn, naar beneden afgerond, terwijl je voorraadscherm meestal "op voorraad" toont. Open leveringen, een websitemagazijn met de verkeerde reikwijdte, tellingen die je niet hebt toegepast en verlopen partijen vergroten het verschil.

  3. Toont de Odoo-webshop voorraad of verwachte voorraad?
  4. Geen van beide. De shop toont "vrij beschikbaar": op voorraad min wat gereserveerd is voor open leveringen, en min niet-gereserveerde verlopen voorraad. De verwachte voorraad toont hij niet.

  5. Hoe voorkom ik dat Odoo een product verkoopt dat niet op voorraad is?
  6. Open het product, ga naar het tabblad eCommerce en zet "Sell when Out-of-Stock" uit in de groep Inventory. De optie staat standaard aan, en je ziet de groep alleen bij producten waarbij "Track Inventory" aan staat.

  7. Hoe toon ik in de webshop alleen de voorraad van één magazijn?
  8. Schakel meerdere magazijnen in en kies dan bij de Website-instellingen bij "Warehouse" het magazijn dat je orders verzendt. Laat je het veld leeg, dan telt elk magazijn mee.

  9. Hoe vaak werkt Odoo de voorraad in de webshop bij?
  10. De Odoo-webshop rekent het getal uit zodra hij het product toont, dus hij volgt je boekingen. Het getal verandert pas als iemand een voorraadbeweging bevestigt, dus te laat boeken is de gebruikelijke vertraging. Een externe webshop hangt af van hoe vaak de sync het getal verstuurt.

  11. Waarom wijkt mijn Shopify- of WooCommerce-voorraad af van Odoo?
  12. Een externe webshop heeft een eigen kopie van het voorraad getal en weet alleen wat de sync het laatst stuurde. Check welk Odoo-getal wordt verstuurd, hoe vaak, en wat er gebeurt als een verzending mislukt.
Delen
SG

Swikriti Gyawali

Onderdeel van het BlueZebra-team.

Praten over jouw situatie?

Stuur een bericht. Eerste contact is een korte verkenning of een Odoo-implementatie bij jouw bedrijf past. Past het niet, dan zeggen wij dat eerlijk.