Naar de inhoud
SyncMyShop

Voorraad en beschikbaarheid

Bundels en samengestelde artikelen: voorraad die meerekent met elk onderdeel

Een set is bestelbaar zolang elk onderdeel er is. De koppeling rekent de voorraad van elke set uit de stuklijst en de vrije voorraad van de onderdelen, werkt hem bij na elke verkoop van een los onderdeel en zet een order voor een set in het ERP om naar de regels die het magazijn pickt.

Een set heeft geen eigen telling

Een set ligt niet in het rek. Wat er ligt zijn pompen en koppelstukken, en de set is een afspraak: 1 pomp met 2 koppelstukken, verkocht onder één artikelnummer. Het ERP kent die afspraak als stuklijst. De webshop wil een getal.

Wie dat getal met de hand invult, loopt achter zodra er een los onderdeel wordt verkocht. Set 10490 staat op 25. Er gaan die middag 8 losse pompen weg en er liggen er nog 22. De webshop verkoopt set nummer 23, 24 en 25 zonder dat er een pomp voor is.

Het aantal getallen dat meebeweegt groeit met het aantal sets. Bij 40 sets uit 120 onderdelen zit een gangbaar onderdeel in meerdere sets. Zit koppelstuk 10482 in 6 sets, dan verandert één verkoop van dat koppelstuk 7 getallen: het koppelstuk zelf en de 6 sets. Dat rekent de koppeling uit, bij elke wijziging. Waar het getal van de onderdelen zelf vandaan komt staat bij voorraad en beschikbaarheid.

Hoe werkt het?

De voorraad van een set is de laagste uitkomst van: vrije voorraad van het onderdeel gedeeld door het aantal per set, naar beneden afgerond.

Onderdeel Vrij Per set Genoeg voor
Pomp 10485 30 1 30 sets
Koppelstuk 10482 86 2 43 sets
Set 10490 30

Afronden gaat altijd naar beneden. Bij 85 koppelstukken is 85 gedeeld door 2 gelijk aan 42,5, en dat zijn 42 sets.

De voorraad van set 10490 volgt het onderdeel dat het eerst op is Set 10490 bestaat uit 1 pomp en 2 koppelstukken. Er zijn 30 pompen, genoeg voor 30 sets. Er zijn 86 koppelstukken, genoeg voor 43 sets: 60 nodig voor 30 sets en 26 over. De set staat op 30. Na verkoop van 4 losse pompen zijn er 26 pompen en staat de set op 26. Pomp 10485: 30 stuks, 1 per set 30 sets Genoeg voor 30 sets 30 Koppelstuk 10482: 86 stuks, 2 per set 43 sets Nodig voor 30 sets 60 Over 26 Set 10490 naar de webshop: laagste van 30 en 43 30 Na verkoop van 4 losse pompen: 26 stuks 26 sets Genoeg voor 26 sets 26 Set 10490 naar de webshop: laagste van 26 en 43 26
De pomp bepaalt het getal. Er zijn koppelstukken voor 43 sets, en de set staat op 30.

Vier soorten samengestelde artikelen

Het woord bundel dekt vier dingen die een eigen behandeling krijgen:

Soort Voorraad Wat het magazijn pickt
Virtuele set, samengesteld bij levering uitgerekend uit de onderdelen de onderdelen
Vooraf samengestelde set eigen voorraad, ontstaan uit een assemblageorder de set
Multipack, een doos van 12 de voorraad van het artikel gedeeld door 12 12 stuks van één artikel
Maakartikel met een stuklijst eigen voorraad na productie het eindproduct

De eerste soort is waar deze pagina over gaat. Bij de tweede telt de voorraad van de set zelf, en verandert de voorraad van de onderdelen op het moment van assembleren. Exact Online boekt dat met een assemblageorder: de onderdelen staan als geplande afgifte, de set als geplande ontvangst. Een mengvorm bestaat ook. Liggen er 6 sets klaar en zijn er onderdelen voor 24 meer, dan is de set 30 keer leverbaar, waarvan 6 direct.

Een order voor een set

De klant bestelt 5 sets. In het magazijn moeten 5 pompen en 10 koppelstukken worden gereserveerd. Waar dat uitsplitsen gebeurt, ligt vooraf vast en gebeurt op één plek: in het ERP of WMS, dat de stuklijst kent, of in de koppeling.

{
  "order": "20431",
  "regel_webshop": { "sku": "10490", "aantal": 5, "prijs": 189.00 },
  "regels_erp": [
    { "sku": "10485", "aantal": 5,  "regelbedrag": 820.66, "hoort_bij": "10490" },
    { "sku": "10482", "aantal": 10, "regelbedrag": 124.34, "hoort_bij": "10490" }
  ]
}

De setprijs van € 189,00 wordt verdeeld naar verhouding van de losse prijzen: de pomp € 165,00, twee koppelstukken van € 12,50 samen € 25,00, totaal € 190,00. Voor 5 sets is dat 945,00 maal 165 gedeeld door 190 is € 820,66 voor de pompen en € 124,34 voor de koppelstukken. Samen € 945,00.

De valkuil zit in de stuksprijs. € 124,34 gedeeld door 10 is € 12,434. Een ERP dat met een stuksprijs van € 12,43 rekent komt op € 124,30, en met € 164,13 per pomp op € 820,65. De order telt dan op tot € 944,95 en de betaling van € 945,00 wordt niet automatisch afgeletterd. De koppeling stuurt daarom regelbedragen mee, of zet het verschil van 5 cent op de laatste regel. De achtergrond staat in bedragen en btw mappen.

Eén onderdeel, meerdere sets

De pomp zit ook in set 10495, met een thermostaat. Er zijn 30 pompen en 50 thermostaten: beide sets staan op 30. Samen bieden ze 60 sets aan uit 30 pompen. Dat is juist, zolang elke verkoop direct in alle getallen terugkomt. Na een order van 20 stuks van set 10490 zijn er 10 pompen en staan beide sets op 10.

De koppeling houdt daarvoor een index bij van onderdeel naar sets. 300 gewijzigde onderdelen in een ronde, die elk in hoogstens 6 sets zitten, geven per onderdeel hoogstens 7 nieuwe standen: 300 maal 7 is 2.100. Naar WooCommerce zijn dat 21 batchverzoeken van 100.

Batch, serienummer en houdbaarheid

Met batches en een houdbaarheidsdatum is voorraad niet langer één getal per artikel. Een set met een afdichtkit waarvan 40 stuks liggen, 12 daarvan met een houdbaarheid korter dan 30 dagen, telt voor de set 28 kits. Exact Online houdt per batchnummer een einddatum bij (EndDate). De regel welke batches meetellen voor de webshop ligt per artikelgroep vast.

Wat er stil misgaat

Wat er gebeurt Voorbeeld Gevolg
De set heeft een eigen, handmatig getal set op 25, nog 22 pompen 3 sets verkocht die niet te leveren zijn
De order wordt twee keer uitgesplitst de webshop levert de onderdelen aan en het ERP werkt de stuklijst nog eens uit 10 pompen gereserveerd voor 5 sets
De order wordt nergens uitgesplitst de set komt als één regel in een ERP zonder stuklijst voor dat artikel geen reservering op de onderdelen
Afronden naar boven 85 koppelstukken gedeeld door 2 wordt 43 één set te veel
De stuklijst wijzigt 3 koppelstukken per set in plaats van 2 86 gedeeld door 3 is 28; de webshop rekent nog met 30
Buffer op de set en op de onderdelen onderdelen met buffer 2, de set nog eens buffer 2 de set staat op 26 waar 28 bedoeld was

De tweede rij hangt af van het platform. De app Shopify Bundles zet in een order de artikelnummers van de onderdelen en niet dat van de bundel. Een ERP dat de set daarna nog eens uitwerkt, reserveert dubbel. De buffers zijn uitgewerkt bij veiligheidsvoorraad en buffers per kanaal.

Wat je ermee regelt

  • Eén getal per set, uit de onderdelen. 30 pompen en 86 koppelstukken geven 30 sets, na elke wijziging opnieuw uitgerekend.
  • Losse verkoop telt mee. 4 losse pompen verkocht: de set gaat van 30 naar 26.
  • Orders op de regels die het magazijn pickt. 5 sets worden 5 pompen en 10 koppelstukken, met bedragen die optellen tot € 945,00.
  • Een wijziging in de stuklijst komt door. Van 2 naar 3 koppelstukken per set: de set gaat van 30 naar 28.
  • Een datum als een onderdeel op is. De set volgt de leverdatum van het ontbrekende onderdeel, zie backorders.

Met welke systemen

Systeem Hoe het een set bewaart Wat bij de voorraad telt
Picqer producttype virtual_composition of composition_with_stock, onderdelen via /products/{idproduct}/parts met amount webhook products.assembled_stock_changed bij een virtuele samenstelling, products.parts.changed bij een gewijzigde samenstelling
Exact Online inventory/AssemblyBillOfMaterialMaterials met AssembledItem, PartItem en Quantity UseExplosion geeft aan of de set bij levering wordt samengesteld; assemblageorders lees je via inventory/AssemblyOrders
Shopify bundel met onderdelen via productBundleCreate Shopify rekent de voorraad uit de onderdelen; een vaste bundel in Shopify Bundles heeft hoogstens 30 onderdelen
Magento bundle product met opties de bundel heeft geen eigen aantal; de status volgt de verplichte opties
WooCommerce type grouped met grouped_products, zonder aantallen per onderdeel sets met aantallen vragen een uitbreiding, of de koppeling schrijft stock_quantity van de set

Drie dingen om rekening mee te houden. De endpoints voor assemblage in Exact Online horen bij Handel en Productie, in de edities Plus, Professional en Premium. Shopify Bundles houdt de voorraad van een bundel niet per locatie bij, en werkt de prijs van een bundel niet bij als de prijs van een onderdeel wijzigt: dat doet de koppeling. En in Picqer hebben alleen de twee samengestelde typen onderdelen, terwijl elk product onderdeel van een samenstelling kan zijn.

De velden zijn op 3 oktober 2026 nagelezen in de documentatie van Picqer, Exact Online, Shopify, Adobe Commerce en WooCommerce. Per systeem: Picqer, Exact Online, Shopify, Magento en WooCommerce. Voor bedrijven met stuklijsten in productie: maakindustrie en techniek.

Wat een standaardkoppeling hier niet doet

Standaardkoppelingen en koppelplatformen zetten voorraad een op een over: één artikelnummer in het ERP, één getal in de webshop. Een set die in het ERP geen eigen voorraad heeft, krijgt dan geen getal, of een getal dat iemand met de hand bijhoudt. De stuklijst hoort niet bij de vaste set velden, en batch, serienummer en houdbaarheid evenmin.

Aan de prijskant geldt hetzelfde. Er zijn koppelplatformen waar staffelprijzen niet gelden voor bundelproducten, zodat een klant met een staffel op de losse pomp die staffel op de set niet terugziet.

De koppeling die wij bouwen leest de stuklijst waar hij staat, rekent de sets uit na elke wijziging van een onderdeel en legt vast op welke plek een order wordt uitgesplitst. De eerste run is een dry run: per set het uitgerekende getal naast het getal dat nu in de webshop staat. Vertel hoe je sets in je ERP of WMS staan, dan hoor je waar de stuklijst uit te lezen is.

Veelgestelde vragen

Hoe verwerkt de koppeling bundels en sets?

De set krijgt geen eigen telling. De koppeling leest de stuklijst uit het ERP of het WMS, deelt de vrije voorraad van elk onderdeel door het aantal per set en neemt de laagste uitkomst, naar beneden afgerond. Een order voor een set gaat naar het ERP als set of als losse regels per onderdeel, afhankelijk van hoe het ERP de stuklijst uitwerkt.

Wat gebeurt er met een bundel als één onderdeel op is?

De bundel staat op nul, ook als van de andere onderdelen nog honderden stuks liggen. Heeft het ontbrekende onderdeel een inkooporder met een leverdatum, dan kan de bundel met die datum bestelbaar blijven als nalevering. De losse onderdelen die er wel zijn blijven gewoon te koop.

Kan een onderdeel in meerdere sets zitten?

Ja. De koppeling houdt per onderdeel bij in welke sets het zit en rekent die allemaal opnieuw uit zodra de voorraad van het onderdeel verandert. Zit de pomp in twee sets en zijn er 30 pompen, dan staan beide sets op 30. Na een order van 20 stuks van de ene set staat de andere op 10.

Moet een set als artikel in mijn ERP bestaan?

Dat is de eenvoudigste vorm: het ERP bewaart de stuklijst en de koppeling leest hem daar. Bestaat de set alleen in de webshop, dan staat de stuklijst in de koppeling en gaan orders als losse regels per onderdeel naar het ERP. De samenstelling staat dan wel op twee plekken en een wijziging moet op beide worden doorgevoerd.

Hoe komt de prijs van een set op de factuur?

Als één regel voor de set, of verdeeld over de onderdelen naar verhouding van hun losse prijs. Bij verdelen ontstaat een afrondverschil: een set van € 189,00 wordt € 164,13 plus twee keer € 12,43, samen € 188,99. De koppeling stuurt daarom regelbedragen mee die optellen tot de setprijs.

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

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com