Kennisbank
Voorraad per magazijn: welke locatie telt mee voor je webshop?
Voor je webshop telt de vrije voorraad van de locaties die weborders uitleveren, elk apart berekend en daarna opgeteld. Een winkel, een retourlocatie of een magazijn met een tekort hoort niet in die som, en ook niet als min-getal.
Bijgewerkt op
Wat betekent voorraad per magazijn?
Voorraad per magazijn is voorraad als tabel in plaats van als getal: per artikel een stand per locatie. Met één magazijn valt dat samen. Met een eigen magazijn, een fulfilmentpartner en een winkel heeft artikel 10482 drie standen, en bij 6.500 artikelen zijn dat 19.500 getallen.
De webshop kan maar één ding verkopen: wat hij kan uitleveren. Daarom telt voor de webshop alleen de vrije voorraad van de locaties die weborders leveren. Welke dat zijn, staat in de meeste systemen niet als veld. Het is een keuze die je per locatie maakt en die de koppeling uitvoert. De vraag welk getal per locatie het juiste is, fysiek, vrij of gereserveerd, staat in welke voorraad toon je in je webshop. Deze pagina gaat over de locaties.
Hoe slaan systemen voorraad per magazijn op?
Elk systeem bewaart de tabel anders, en een paar bewaren hem niet. Nagelezen in de documentatie van de leveranciers op 3 oktober 2026:
| Systeem | Waar de stand per locatie staat | Wat je moet weten |
|---|---|---|
| Exact Online | inventory/ItemWarehouses en sync/Inventory/StockPositions, met een veld Warehouse |
ItemWarehouses alleen in Handel en Productie, edities Plus, Professional en Premium; CurrentStock telt toegezegde verkooporders mee |
| AFAS Profit | GetConnector Profit_Stock_per_Warehouse |
door je AFAS-beheerder te publiceren; AFAS raadt een eigen GetConnector aan |
| Picqer | per product een lijst stock met per magazijn stock, reserved en freestock |
per magazijn de vinkjes accept_orders en counts_for_general_stock |
| Shopify | een stand per artikel en locatie, met available, committed en on_hand |
10 locaties op Basic, Grow en Advanced, 200 op Plus |
| Business Central | API v2.0 geeft per artikel één inventory zonder locatie |
per locatie is een eigen API-pagina of een query op de artikelposten nodig |
| WooCommerce | één stock_quantity per product of variatie |
geen locaties; alleen het opgetelde getal |
Picqer is het enige systeem in deze lijst dat de keuze zelf als veld kent: counts_for_general_stock zegt of een magazijn meetelt in de totale voorraad, accept_orders of er orders uit gepickt worden. Bij de andere systemen legt de koppeling die regel vast.
Business Central is de valkuil in de tabel. Een koppeling die het standaardveld inventory leest, krijgt het totaal over alle locaties, inclusief een retourlocatie of een consignatievoorraad bij een klant. Wie per locatie wil rekenen, heeft in Business Central een extra API-pagina nodig.
Hoe tel je de webshopvoorraad uit de magazijnen op?
Per locatie, met eerst de regel en dan de som. Zo geeft Picqer artikel 10482 terug, ingekort tot de velden die ertoe doen:
"stock": [
{ "idwarehouse": 1201, "stock": 26, "reserved": 6, "freestock": 20 },
{ "idwarehouse": 1202, "stock": 0, "reserved": 6, "freestock": -6 },
{ "idwarehouse": 1203, "stock": 8, "reserved": 0, "freestock": 8 }
]
Magazijn 1201 is Zwolle, 1202 is Venlo, 1203 is de winkel in Utrecht. In Venlo staan 6 stuks gereserveerd voor orders terwijl er 0 liggen. Picqer documenteert dat freestock negatief kan zijn, en dit is zo'n geval.
Er zijn drie manieren om hier een getal voor de webshop van te maken:
| Rekenwijze | Som | Naar de webshop |
|---|---|---|
| Alles optellen | 20 + (-6) + 8 | 22 |
| Alleen leverende magazijnen | 20 + (-6) | 14 |
| Leverende magazijnen, ondergrens nul | 20 + 0 | 20 |
De eerste is fout: de 8 stuks in de winkel zijn voor de winkel. Tussen de tweede en de derde beslist een vraag over je magazijn. Worden de 6 orders in Venlo geleverd zodra Venlo weer voorraad heeft, dan is het tekort van Venlo en zijn de 20 in Zwolle echt vrij. Levert Zwolle ze uit, dan zijn er nog 14. De koppeling rekent zoals jouw magazijn werkt, en dat ligt vast voordat hij draait.
Doorvoer is bij deze tabel geen probleem als je het goed opvraagt. Exact Online geeft op sync/Inventory/StockPositions 1.000 regels per verzoek: 19.500 standen zijn 20 verzoeken. Per artikel en per magazijn apart vragen zijn er 19.500, bij 60 per minuut 325 minuten, 5 uur en 25 minuten. Hoe je die som voor je eigen aantallen maakt staat in doorvoer berekenen.
Wat ziet de klant per magazijn?
Met een totaal ziet de klant één getal. Met standen per magazijn kan de webshop meer laten zien, als de koppeling ze doorgeeft:
- Levertijd per locatie. 20 stuks in Zwolle gaan vandaag weg, 30 bij een fulfilmentpartner morgen. Een klant die er 25 bestelt, krijgt 20 vandaag en 5 morgen, of alles morgen. Hoe een levertijd uit de locatie volgt staat in levertijd of leverdatum.
- Afhalen in de winkel. Shopify houdt voorraad per locatie bij, dus de winkel kan voor afhalen meetellen en voor verzending niet.
- Verdeling over kanalen. Een marktplaats krijgt alleen het magazijn dat ervoor verzendt, de webshop ook de winkel. De tabel per kanaal staat in voorraad syncen.
Wat de webshop niet kan, is zelf bepalen welk magazijn een order uitlevert als de koppeling alleen een totaal stuurt. Shopify wijst een order toe aan een locatie volgens zijn routeringsregels. Kent Shopify maar één locatie met het totaal, dan staat elke order op die ene locatie en beslist het ERP of WMS waar hij vandaan komt.
Wat gebeurt er als er een magazijn bijkomt?
Een nieuwe locatie wordt aangemaakt in het magazijn, niet bij de webshop. Op dat moment denkt niemand aan de koppeling, en daar gaat het mis.
| Systeem | Wat een nieuwe locatie doet | Gevolg |
|---|---|---|
| Shopify | "Inventory at this location is available to fulfill online orders" staat standaard aan | een retourlocatie met 4 ongecontroleerde stuks staat direct te koop |
| Picqer | het magazijn krijgt accept_orders en counts_for_general_stock zoals ze bij het aanmaken zijn gezet |
de koppeling volgt die vinkjes, dus wie ze aan laat staan, telt het magazijn mee |
| Exact Online | een artikel dat nog niet aan het nieuwe magazijn hangt, komt daar in ItemWarehouses niet terug |
ontbreken is geen nul: het artikel hoort op de controlelijst |
De koppeling draait dat om: een locatie zonder regel telt niet mee en verschijnt met naam en aantal in het overzicht van de run. Iemand beslist dan of hij meetelt, en de webshop verkoopt intussen geen ongecontroleerde voorraad.
Wat betekent dit voor je koppeling?
Voorraad per magazijn vraagt per locatie drie besluiten: telt hij mee, met welke ondergrens, en voor welk kanaal. Die besluiten staan in je hoofd of in een Excel-lijst, niet in je ERP. Wij leggen ze vast in de koppeling, rekenen per locatie en sturen het resultaat naar de webshop, en een dry run laat per artikel en per locatie zien welk getal er zou gaan voordat er iets wordt geschreven.
De uitwerking, met de volgorde van uitleveren en het verdelen van een order over twee magazijnen, staat bij voorraad uit meerdere magazijnen. Het overzicht van alle voorraadstromen staat op voorraad en beschikbaarheid. Stuur de lijst van je locaties, met erbij welke weborders uitlevert.
Veelgestelde vragen
Kan mijn webshop per magazijn een andere levertijd tonen?
Ja, als de koppeling de stand per magazijn doorgeeft en niet alleen het totaal. Staan er 20 in Zwolle en 30 bij een fulfilmentpartner die een dag later verzendt, dan toont de webshop voor de eerste 20 vandaag verzonden en voor de rest morgen. Met alleen een totaal van 50 is dat onderscheid weg.
Telt voorraad die tussen twee magazijnen onderweg is mee?
Niet bij de locatie waar hij vandaan komt, want daar is hij afgeboekt, en nog niet bij de locatie waar hij heen gaat, want daar is hij niet ontvangen. Het totaal is in die dagen lager. In Exact Online staat zo'n verplaatsing in WarehouseTransfers met een geplande ontvangstdatum, die de koppeling kan gebruiken als verwachte voorraad.
Mijn webshop kent geen locaties. Kan ik dan wel per magazijn rekenen?
Ja. WooCommerce heeft één stock_quantity per product of variatie. De koppeling rekent per magazijn in het ERP of WMS, past de regels per locatie toe en schrijft het resultaat als één getal weg. Wat verloren gaat is alleen de levertijd per magazijn, en die kan als apart veld mee.
Moet de veiligheidsvoorraad per magazijn of over het totaal?
Per magazijn, en maar door één systeem. Heeft het artikel in Exact Online al een SafetyStock van 2 in Zwolle en trekt de koppeling er ook 2 af, dan gaan er 4 af. Hoe groot een buffer moet zijn staat in veiligheidsvoorraad instellen.
Vertel wat je nodig hebt
Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.
- Je weet de prijs en de doorlooptijd voordat je iets toezegt
- Wij zoeken uit welke koppeling het werk uit handen neemt
- Wij verzorgen de bouw, hosting, bewaking en het onderhoud
- Je team krijgt minder overtypwerk en minder uitzoekwerk