Naar hoofdinhoud

Minimale bestelhoeveelheid (MOQ): betekenis, berekening en productdata

Wat MOQ betekent, waarom leveranciers een minimum hanteren, hoe je een redelijke MOQ berekent en hoe je MOQ en verpakkingseenheden vastlegt voor B2B.

Minimale bestelhoeveelheid (MOQ): betekenis, berekening en productdata

Een minimale bestelhoeveelheid (MOQ, minimum order quantity) is de kleinste hoeveelheid die een leverancier in één bestelling verkoopt. Dat kan een aantal stuks zijn ("minimaal 144 mokken"), een orderwaarde ("minimaal EUR 250 per bestelling") of allebei, en het kan gelden per SKU, per kleur, per model of voor de hele order. Leveranciers stellen een MOQ in omdat elke bestelling vaste kosten heeft, zoals het instellen van een machine, een zeefdrukraam of orderpicking, die pas boven een bepaald volume worden terugverdiend.

Voor inkopers bepaalt de MOQ hoeveel geld en schapruimte een nieuw product vastlegt. Voor verkopers is het een prijsinstrument dat de marge op kleine orders beschermt. Deze gids behandelt beide kanten: wat de term in de praktijk betekent, hoe je een redelijke MOQ berekent met een rekenvoorbeeld, hoe je erover onderhandelt en hoe je MOQ, verpakkingseenheid en bestelveelvoud als productdata vastlegt, zodat Shopify B2B, WooCommerce, Magento en B2B-feeds ze kunnen gebruiken.

Wat MOQ betekent in een offerte: stuks, waarde en waarvoor precies

"MOQ 500" op een offerte zegt weinig zolang je niet weet wat die 500 telt. Lees de regel goed, want leveranciers gebruiken dezelfde drie letters voor verschillende afspraken:

  • Per SKU: 500 stuks van elke SKU die je bestelt. Drie kleuren bestellen betekent 1.500 stuks.
  • Per model, verdeeld over varianten: 500 stuks van een model, verdeeld over maten en kleuren naar keuze, vaak met een lager minimum per variant.
  • Per bestelling (waarde): een minimale orderwaarde, bijvoorbeeld EUR 250, ongeacht de mix. Gebruikelijk bij groothandels en distributeurs met eigen voorraad.
  • Per productierun: de batch die een fabriek nodig heeft voor één keer instellen, zoals één verfbad stof of één drukgang.
  • In dozen, niet in stuks: "MOQ 10" kan 10 omdozen van 12 betekenen. Check altijd de eenheid.

Twee begrippen horen bij de MOQ. Het bestelveelvoud (ook stapgrootte of quantity interval) is de stap boven het minimum: zit een mok per 12 in een omdoos, dan bestel je 144 of 156, geen 150. De verpakkingseenheid is het aantal consumentenstuks in één bestelbare eenheid. Een omdoos van 12 mokken heeft een eigen SKU en volgens GS1 vaak ook een eigen GTIN (zie GTIN vs UPC vs EAN).

Waarom leveranciers een minimale bestelhoeveelheid hanteren

Een MOQ is zelden willekeurig. Meestal komt hij voort uit een van deze kosten:

  • Instellen en omstellen: een productielijn schoonmaken, een kleur mengen, een drukraam of mal maken. Dat kost hetzelfde voor 50 of 5.000 stuks.
  • Grondstoffen per partij: stof per rol, verpakking per duizend, ingrediënten per vat. Moet de leverancier een hele partij kopen, dan moet jouw order daar genoeg van gebruiken.
  • Orderafhandeling: picken, inpakken, factureren en betalingsherinneringen kosten bij een kleine order ongeveer evenveel als bij een grote.
  • Transport: een volle doos, laag of pallet is per stuk veel goedkoper dan losse artikelen.
  • Kanaalbescherming: een groothandelsminimum voorkomt dat consumenten tegen inkoopprijzen kopen en scheidt zakelijke accounts van particuliere; in groothandel vs retail lees je de andere verschillen.

Een redelijke MOQ berekenen: voorbeeld met bedrukte mokken

De bedragen hieronder zijn een rekenvoorbeeld. Vul je eigen kosten in; de methode blijft gelijk. Een klein merk verkoopt een bedrukte keramische mok aan winkels voor EUR 5,50 (groothandelsprijs, excl. btw). Maken en bedrukken kost EUR 3,10 per mok. Elke order kost daarnaast EUR 180 aan drukinstelling en zo'n EUR 20 aan orderafhandeling.

Stap 1: tel de vaste kosten van één order op

Vaste kosten per order = instelling + afhandeling = EUR 180 + EUR 20 = EUR 200. Alles wat niet meebeweegt met de hoeveelheid hoort hier: een artwork-check, een proefexemplaar, een palletlabel.

Stap 2: deel door de dekkingsbijdrage per stuk

Dekkingsbijdrage per stuk = prijs min variabele kosten = EUR 5,50 - EUR 3,10 = EUR 2,40. Het break-evenpunt is EUR 200 / EUR 2,40 = 83,3, dus 84 mokken dekken de vaste kosten zonder winst. Wil het merk minstens EUR 100 winst per order, dan wordt het doel (EUR 200 + EUR 100) / EUR 2,40 = 125 mokken. De break-even calculator rekent hetzelfde uit als je liever een formulier invult.

Kosten per mok bij verschillende ordergroottes

Voorbeeld ter illustratie
Stuks per orderKosten per mok (EUR)
24€ 11,43
48€ 7,27
96€ 5,18
144€ 4,49
240€ 3,93
Rekenvoorbeeld: de vaste EUR 200 per order domineert kleine orders; boven zo'n 100 stuks vlakt de lijn af richting de variabele kosten van EUR 3,10.

Stap 3: rond af op de omdoos

De mokken gaan per 12 in een omdoos. 125 wordt dan 132 mokken (11 dozen), en veel leveranciers zouden 144 (12 dozen) publiceren omdat dat netter oogt. Zet tegelijk het bestelveelvoud op 12, zodat een klant die meer wil 144, 156 enzovoort bestelt en nooit een aangebroken doos.

Stap 4: toets hem aan de verkoopsnelheid van de afnemer

Kijk nu vanuit de winkel. Een cadeauwinkel die 40 mokken per maand verkoopt, doet 3,3 maanden over 132 mokken. Voor een vast design is dat prima, voor een seizoensdesign te lang. Een handige maatstaf aan inkoopkant is de economische bestelhoeveelheid (EOQ, economic order quantity): de ordergrootte waarbij bestelkosten en voorraadkosten in balans zijn. EOQ = wortel van (2 x jaarvraag x kosten per bestelling / voorraadkosten per stuk per jaar).

Bij 480 mokken per jaar, EUR 35 per bestelling aan verzending en administratie en voorraadkosten van 25% van de inkoopprijs van EUR 5,50 (EUR 1,375 per mok per jaar, een aanname voor dit voorbeeld) komt de EOQ van de winkel uit op ongeveer 156 mokken. De 132 van de leverancier ligt daaronder, dus de MOQ dwingt de winkel niet tot te veel inkoop. Was de MOQ 500, dan lag er ruim een jaar voorraad, en daar begint de onderhandeling.

Als inkoper over een lagere MOQ onderhandelen

Weet je welke kostenpost het minimum bepaalt, dan weet je aan welke knop je draait. Wat meestal werkt:

  1. Vraag waarop de MOQ gebaseerd is. Per SKU, per kleur of per run? Een minimum per model, verdeeld over maten, haal je veel makkelijker dan een minimum per SKU.
  2. Bied aan de vaste kosten te betalen. Eenmalige instelkosten of een hogere stuksprijs op een kleine eerste order nemen de reden voor het minimum weg.
  3. Kies standaardmaterialen. Standaardkleuren, standaardverpakking en bestaande mallen voorkomen nieuwe instellingen.
  4. Spreek volume over langere tijd af. Een raamorder van 1.000 stuks per jaar, afgeroepen in vier leveringen van 250, levert vaak een lager minimum per levering op.
  5. Combineer SKU's in één run. Hetzelfde basisproduct, verschillende prints, één productieslot.
  6. Accepteer een langere levertijd. Een leverancier kan een kleine order meenemen in een run die al gepland staat voor een andere klant.

Leg de uitkomst schriftelijk vast, inclusief de eenheid (stuks of dozen), de reikwijdte (per SKU of per order) en de prijs onder de standaard-MOQ. Precies die afspraak moet daarna in je productdata terechtkomen.

MOQ, verpakkingseenheid en bestelveelvoud als productvelden

Het meeste MOQ-gedoe in B2B-webshops is een dataprobleem. Het minimum staat in een pdf van de leverancier of in het hoofd van een accountmanager, de webshop accepteert een order van 7 en iemand moet de klant bellen. Behandel aantalregels als attributen op product- of variantniveau, met duidelijke namen en eenheden. Een werkbare set:

Productvelden voor aantalregels

min_order_quantity132Geheel getal, in verkoopeenhedenMinimum in de checkout, line sheets, feeds
order_multiple12Geheel getalStapgrootte of quantity interval
max_order_quantity1.200Geheel getal, optioneelVerdelen van schaarse voorraad
sales_unitstukCodelijst (stuk, doos, pallet)Wat één bestelde eenheid is
units_per_pack12Geheel getalConsumentenstuks per omdoos
pack_gtinGTIN-14 van de omdoosTekst, gevalideerdScannen en EDI op doosniveau
min_order_value250Decimaal plus valutaMinimum per bestelling
moq_scopeper_skuCodelijst (per_sku, per_style, per_order)Hoe het minimum geteld wordt
8 van 8 rijen
Leg ze per variant vast als leveranciers per variant offreren, en maak de eenheid expliciet zodat 10 nooit op de ene plek dozen en op de andere stuks betekent.

Twee regels houden deze velden consistent: het minimum is een veelvoud van het bestelveelvoud (132 = 11 x 12) en staffelprijzen beginnen op of boven het minimum. Een prijslijst die MOQ en verpakkingseenheid naast elke staffelprijs toont, scheelt een vragenronde bij elke nieuwe klant, en dezelfde velden vullen een line sheet voor zakelijke inkopers.

Aantalregels passen in hetzelfde attribuutmodel als elk ander veld: voeg min_order_quantity en order_multiple toe als Number-attributen en de vulgraad laat zien welke producten ze nog missen.

Aantalregels in Shopify B2B, WooCommerce en Magento

Elk platform dwingt aantalregels anders af, en geen enkel platform leest een leveranciers-pdf. Dit biedt elk platform standaard, gecontroleerd in de documentatie.

Shopify B2B. Met aantalregels stel je per variant in een B2B-assortiment een minimum, een optioneel maximum en een stapgrootte in, via Markten > Assortimenten of met een CSV-import. Regels gelden per variant: een klant kan geen 5 grijze en 5 blauwe hoeden combineren om een minimum van 10 te halen. Met staffelprijzen stel je tot 10 prijsstaffels per product in, en elke staffel moet boven het minimum liggen en een veelvoud van de stapgrootte zijn. Shopify wijst erop dat je thema het minimum op de productpagina moet tonen. Volgens Shopify's overzicht per abonnement zijn aantalregels en staffels beschikbaar op Basic, Grow, Advanced en Plus, met maximaal 3 actieve assortimenten voor B2B onder Plus.

WooCommerce. Standaard WooCommerce heeft geen velden voor minimum of stapgrootte. De extensie Min/Max Quantities voegt Minimum quantity, Maximum quantity en Group of (het bestelveelvoud) toe per product, per variatie en per categorie, plus een minimum en maximum aantal en orderwaarde per bestelling. De REST-velden heten min_quantity, max_quantity en group_of_quantity, en de API weigert een minimum dat geen veelvoud is van Group of.

Magento (Adobe Commerce en Open Source). Het paneel Advanced Inventory op een product heeft Minimum Qty Allowed in Shopping Cart, Maximum Qty Allowed in Shopping Cart en Qty Increments. Op winkelniveau kan het minimum per klantgroep verschillen, en het standaardmaximum is 10.000. Staffelprijzen per klantgroep staan onder Advanced Pricing.

Standaard aantalregels per platform

Shopify B2BMinimumStapgrootte (increment)Maximum (optioneel)Per variant, per B2B-assortiment
WooCommerce + Min/Max QuantitiesMinimum quantityGroup ofMaximum quantityProduct, variatie, categorie; ordertotalen
Magento 2Minimum Qty Allowed in Shopping CartQty IncrementsMaximum Qty (standaard 10.000)Product; minimum per klantgroep in de configuratie
BMEcat 2005-feedQUANTITY_MINQUANTITY_INTERVALGeenPer artikel, met ORDER_UNIT en NO_CU_PER_OU
Alle drie dwingen een minimum en een veelvoud af, maar alleen als de waarden als gestructureerde velden binnenkomen.

Voor groothandels die catalogi als bestand ontvangen, draagt BMEcat dezelfde regels in de bestelgegevens van elk artikel: de besteleenheid (ORDER_UNIT), het aantal inhoudseenheden per besteleenheid (NO_CU_PER_OU), het minimum (QUANTITY_MIN) en de stapgrootte (QUANTITY_INTERVAL). Technische groothandels in elektro, installatie en sanitair die met ETIM classificeren, verwachten die velden meestal in hetzelfde bestand.

Vijf MOQ-datafouten die B2B-bestellingen blokkeren

  1. Gemengde eenheden. Bij de ene leverancier staat het minimum in dozen, bij de andere in stuks, en de webshop vraagt om 10 stuks van een artikel dat per 12 in een doos zit.
  2. Een minimum dat geen veelvoud is van de stapgrootte. MOQ 100 met stapgrootte 12 is niet exact te bestellen; de WooCommerce-API weigert het en op andere platforms krijgen klanten verwarrende foutmeldingen.
  3. Regels alleen op het hoofdproduct. Shopify B2B legt aantalregels per variant vast, en in WooCommerce heeft elke variatie eigen regels nodig, tenzij de regel op productniveau ze moet dekken. Een opmerking in de omschrijving van het hoofdproduct doet niets in de checkout.
  4. Staffels onder het minimum. Een staffel vanaf 50 terwijl de MOQ 132 is, is dode data en laat de prijslijst er slordig uitzien.
  5. De MOQ in de omschrijving in plaats van in een veld. Tekst als "minimaal 12" kun je niet afdwingen, niet filteren en niet naar een feed exporteren.

Aantalregels beheren naast de rest van je productdata

WISEPIM dwingt geen bestelhoeveelheden af in de checkout; dat doet de webshop of het inkoopsysteem van de afnemer. Wat WISEPIM wel doet, is de waarden achter die regels compleet en consistent houden. Je voegt MOQ, bestelveelvoud en verpakkingseenheid toe als attributen, vult ze in bulk en controleert met Quality Guard-regels dat elk B2B-product ze heeft. Klantgroepen en volumekortingen staan in hetzelfde project, en de Magento 2-koppeling stuurt volumekortingen door als tier prices in Magento. Feed Hub schrijft QUANTITY_MIN en QUANTITY_INTERVAL in BMEcat-exports op basis van attributen zoals min_order_quantity en order_step. Voor Shopify B2B en WooCommerce vul je de aantalregels nog steeds in het platform of via de CSV-import in, met de waarden uit je productdata.

Volumekortingen hebben staffels, een scope (globaal of categorie) en optioneel een klantgroep; de Magento 2-koppeling exporteert ze als tier prices.

Verkoop je vanuit één catalogus aan zowel zakelijke als particuliere klanten? Begin dan bij het overzicht PIM voor groothandels om te zien hoe aantallen, prijzen en verpakkingsdata samenkomen.

Diego Nijboer

CTO and Co-Founder at WISEPIM, building AI-powered solutions that transform product data management for e-commerce businesses. Over 10 years of experience solving complex technical challenges in e-commerce and PIM systems.

Veelgestelde vragen

Nog vragen?

Kan je het antwoord niet vinden? Neem contact op met ons team.

Contact opnemen

MOQ staat voor minimum order quantity, in het Nederlands de minimale bestelhoeveelheid: de kleinste hoeveelheid die een leverancier in één bestelling verkoopt. Het minimum kan in stuks, in dozen of als minimale orderwaarde gelden, en per SKU, per model of voor de hele order. Check altijd de eenheid en reikwijdte voordat je leveranciers vergelijkt.

Dat verschilt per leverancier. Fabrieken rekenen vaak per SKU of per kleur, omdat elke variant een eigen instelling vraagt. Groothandels met voorraad hanteren vaker een minimale orderwaarde voor de hele bestelling. Staat er alleen "MOQ 500" op de offerte, vraag dan of je kleuren en maten mag combineren.

De MOQ is de ondergrens van de leverancier: minder bestellen kan niet. De economische bestelhoeveelheid (EOQ) is je eigen optimum als inkoper: de ordergrootte waarbij bestelkosten en voorraadkosten in balans zijn. Ligt de MOQ boven je EOQ, dan houd je meer voorraad aan dan ideaal, en dat is een goede reden om te onderhandelen.

Ja, als je het doorrekent. Het netst is een toeslag voor kleine orders of instelkosten die de vaste kosten dekken waartegen de MOQ beschermde. Sommige verkopers rekenen onder het minimum een hogere stuksprijs. Leg die uitzonderingsregel vast, zodat je verkoopteam hem overal hetzelfde toepast.

In Shopify B2B stel je per variant een minimum en een stapgrootte in binnen een B2B-assortiment onder Markten > Assortimenten, of je importeert ze met een CSV-bestand. Shopify vraagt je te controleren of je thema het minimum op de productpagina toont. Buiten B2B-assortimenten heb je voor aantalregels een app nodig.

Verder ontdekken

Zorgvuldig gekozen vervolgstappen om dieper te gaan.

Betere productdata, betere resultaten.Verkoop meer producten.

4,7