Naar de inhoud
DataIntegratie.nl dataintegratie.nl

Overselling voorkomen: voorraad synchroniseren tussen webshop en ERP

Overselling ontstaat als je webshop meer verkoopt dan er in het magazijn ligt. Je voorkomt het door één systeem leidend te maken voor voorraad en de beschikbare voorraad te synchroniseren in plaats van de fysieke. Werk die voorraad vaak genoeg bij en houd een kleine buffer aan voor kanalen die achterlopen.

Het is maandagochtend en klantenservice heeft drie mails over hetzelfde product. De webshop toonde nog vijf stuks, maar het magazijn had er geen meer. Iemand belt de klanten, zet de bestellingen op geannuleerd en betaalt het geld terug. Als dat een keer per maand gebeurt, valt het nog mee. Gebeurt het elke week, dan kost het je klanten en je positie op marketplaces.

In dit artikel lees je waarom webshops producten verkopen die er niet zijn en hoe je voorraad goed synchroniseert tussen webshop, ERP en WMS. Aan het eind staat een checklist die je met je team kunt doorlopen.

Waarom verkoopt je webshop producten die er niet zijn?

De oorzaak is bijna nooit één fout. Meestal lopen er een paar kleine vertragingen en misverstanden door elkaar heen. Dit zijn de oorzaken die we het vaakst tegenkomen.

De voorraad loopt achter. Als de koppeling eens per uur de voorraad doorgeeft, kan een populair product in dat uur vaker verkocht worden dan er op de plank ligt. Bij een actie of nieuwsbrief gaat dat extra snel.

De webshop krijgt de fysieke voorraad in plaats van de beschikbare voorraad. Er liggen tien stuks in het magazijn, maar vier daarvan zijn al gereserveerd voor een B2B-order die vanmiddag de deur uitgaat. De webshop ziet tien en verkoopt er zes te veel.

Er verkopen meerdere kanalen uit dezelfde voorraad. Je webshop, bol en een B2B-portaal trekken allemaal aan dezelfde artikelen. Als elk kanaal een eigen voorraadstand heeft die op een ander moment wordt bijgewerkt, verkoopt het traagste kanaal door.

Mutaties in het magazijn komen niet door. Een telling, een beschadigd product of een retour wordt in het WMS verwerkt, maar het ERP en de webshop horen er pas de volgende dag van. Of helemaal niet, als die mutatie geen onderdeel is van de koppeling.

Wat kost overselling je echt?

De directe kosten zie je in de uren van klantenservice en in terugbetalingen. De indirecte kosten zijn groter en minder zichtbaar. Een klant die zijn bestelling geannuleerd ziet, bestelt de volgende keer vaak ergens anders.

Op marketplaces telt het meteen mee. Bol hanteert een norm voor annuleringen: van alle bestelde artikelen mag een verkoper er niet meer dan 2% annuleren. Annuleer je in een week drie of meer artikelen en kom je boven die 2%, dan krijg je een strike en daalt je kwaliteitsscore. Na een annulering zet bol de voorraad van dat artikel bovendien op nul.

Ook de wet stelt grenzen. Volgens de ACM moet een verkoper zonder afgesproken levertijd binnen 30 dagen leveren. Lukt dat niet, dan mag de klant na een extra termijn de koop ontbinden en krijgt hij zijn geld terug. Een product verkopen dat je niet hebt, schuift het probleem dus alleen een paar weken op.

Reken het eens uit voor je eigen webshop. Tel hoeveel orders je vorige maand moest annuleren of nabestellen en hoeveel tijd klantenservice daaraan kwijt was. Dat getal is het startpunt voor het gesprek over een betere koppeling.

Welk systeem is leidend voor je voorraad?

Spreek eerst af welk systeem de waarheid over voorraad bepaalt. Bij de meeste bedrijven is dat het ERP. Werk je met een apart WMS dat de fysieke voorraad per locatie bijhoudt, dan is het WMS vaak leidend voor de fysieke stand en het ERP voor de reserveringen. De webshop is nooit leidend. Die verkoopt alleen wat hij van het ERP of WMS doorkrijgt.

Daarna bepaal je welk getal je doorgeeft. Stuur niet de fysieke voorraad, maar de voorraad die echt verkocht mag worden. Microsoft laat in de Shopify Connector voor Business Central zien hoe dat werkt. De connector stuurt de berekende beschikbaarheid door in plaats van de voorraad die op de plank ligt. Je kiest daarbij tussen twee rekenmethoden: de verwachte beschikbare voorraad op vandaag of de vrije voorraad die nog niet gereserveerd is.

Ook webshopsoftware rekent zelf mee. Adobe Commerce (Magento) houdt een verkoopbare voorraad bij. Bij elke bestelling maakt het systeem een reservering die de voorraad vasthoudt tot de order is verzonden of geannuleerd. Zo verkoopt de webshop geen artikelen die al aan een openstaande order hangen, ook als het ERP de verzending nog niet heeft verwerkt.

Wil je meer weten over het kiezen van een bronsysteem per gegeven, lees dan ook ons artikel over datasilo’s.

Hoe vaak moet je de voorraad synchroniseren?

Zo vaak als je verkoopsnelheid vraagt, en niet vaker dan de API aankan. Microsoft adviseert voor de Shopify Connector een synchronisatie elke 15 tot 30 minuten via de taakwachtrij. Voor de meeste webshops met een gemiddeld assortiment is dat een prima startpunt.

Verkoop je snel lopende producten of draai je acties met beperkte voorraad, dan is een vast interval te traag. Dan werk je beter met signalen: elke keer dat de voorraad van een artikel verandert, stuurt het ERP of WMS alleen dat artikel door. Dat heet ook een event of webhook. De afweging tussen beide methoden lees je in realtime of batch synchroniseren.

Houd rekening met de grenzen van de API. Shopify verwerkt op een standaard abonnement 2 verzoeken per seconde via de REST Admin API en 100 punten per seconde via GraphQL. Wie bij elke synchronisatie de hele catalogus van 20.000 artikelen opnieuw stuurt, loopt daar snel tegenaan. Stuur daarom alleen de artikelen waarvan de voorraad is veranderd. De connector van Microsoft doet dat ook: hij stuurt alleen een update als de berekende voorraad afwijkt van de laatst bekende stand in Shopify.

Draai daarnaast eens per nacht een volledige controle. Die vergelijkt alle voorraadstanden en herstelt verschillen die overdag zijn ontstaan, bijvoorbeeld door een gemiste melding.

Hoe richt je voorraadsync in tussen webshop, ERP en WMS?

Neem een groothandel met Business Central, een WMS en een webshop die ook op bol verkoopt. Het WMS geeft elke mutatie direct door aan het ERP: ontvangsten, tellingen, beschadigingen en retouren. Het ERP berekent de beschikbare voorraad na aftrek van reserveringen. Een integratielaag stuurt die voorraad per artikel naar de webshop en naar bol, elk met een eigen buffer.

Die buffer is een bewuste keuze per kanaal. Bol geeft zelf als tip om bij 50 stuks er 47 aan te bieden. Voor je eigen webshop kun je een kleinere buffer kiezen, omdat je daar zelf de reserveringen bijhoudt. Producten met een lange levertijd krijgen een grotere buffer dan artikelen die je morgen kunt bijbestellen.

Zorg ook dat orders net zo snel terugkomen. Een order die pas na een uur in het ERP staat, telt een uur lang niet mee in de reserveringen. Voor de andere kanalen is dat product dan nog beschikbaar.

Leg tot slot vast wie een melding krijgt als de voorraadsync stilvalt. Een koppeling die drie uur niet draait zonder dat iemand het merkt, veroorzaakt meer overselling dan een koppeling die elk half uur synchroniseert. Een integratieplatform zoals Alumio of een vergelijkbaar pakket geeft je die monitoring standaard. Bij maatwerk moet je die zelf laten bouwen.

Wanneer lost een koppeling overselling niet op?

Een koppeling maakt je voorraad niet nauwkeuriger dan je magazijn. Klopt de stand in het WMS niet omdat er niet goed geteld wordt of omdat locaties door elkaar lopen, dan synchroniseert de koppeling die fout alleen sneller. Begin dan eerst met de processen in het magazijn.

Er zijn ook situaties die extra aandacht vragen. Bundels en sets bestaan vaak niet als eigen voorraadartikel. Microsoft adviseert bundels in Shopify als niet-voorraadartikel te koppelen, omdat Shopify updates van bundelvoorraad via de API blokkeert. Bij dropshipping hangt je voorraad af van de feed van je leverancier. Hoe vaak die feed wordt bijgewerkt, bepaal jij niet.

“Bijna bijna iedere overselling situatie die we onderzoeken heeft een oorzaak buiten de webshop. Meestal is het een reservering of een magazijnmutatie die niemand in de koppeling had opgenomen.”

Zo breng je overselling deze maand omlaag

Je kunt vandaag al beginnen. Loop met je team deze checklist door en noteer bij elk punt wie het regelt:

  1. Welk systeem is leidend voor voorraad en welk getal stuur je door: fysiek of beschikbaar?
  2. Hoe vaak wordt de voorraad nu bijgewerkt en is dat genoeg voor je snelst lopende producten?
  3. Komen alle magazijnmutaties door, ook tellingen, beschadigingen en retouren?
  4. Heeft elk verkoopkanaal een eigen buffer die past bij de levertijd van het product?
  5. Wie krijgt een melding als de voorraadsync stopt?

Stuur de lijst door naar je collega’s van het magazijn en de webshop. Vaak blijkt dat ieder een ander beeld heeft van hoe de voorraad loopt. Dat gesprek alleen lost al een deel van het probleem op.

Wil je weten waar het bij jou lekt? Plan een gratis datascan van 45 minuten. We kijken samen naar je systemen en de voorraadstroom en je krijgt daarna een advies met een vaste prijs. Wat een koppeling kost, zie je op onze pagina met tarieven. Meer over het koppelen van een magazijnsysteem lees je op de pagina over de WMS-koppeling.

Veelgestelde vragen

Vragen over dit onderwerp

Wat is overselling?

Overselling betekent dat je een product verkoopt dat niet meer op voorraad is. De webshop of marketplace toont nog voorraad terwijl het magazijn al leeg is. Het gevolg is een order die je moet annuleren of later moet leveren. Overselling ontstaat meestal door vertraging in de voorraadsync of doordat reserveringen niet worden meegeteld.

Wat is het verschil tussen fysieke en beschikbare voorraad?

Fysieke voorraad is wat er echt in het magazijn ligt. Beschikbare voorraad is wat je nog mag verkopen. Daarvoor trek je reserveringen voor openstaande orders af en soms ook een buffer of beschadigde artikelen. Stuur naar je webshop en marketplaces altijd de beschikbare voorraad, anders verkoop je producten die al aan een andere klant zijn toegezegd.

Kan ik voorraad realtime synchroniseren met Shopify of WooCommerce?

Ja, dat kan met een koppeling die elke voorraadwijziging direct doorstuurt. Het ERP of WMS geeft dan per artikel een signaal door zodra de voorraad verandert. Let op de API-limieten van de webshop en stuur alleen gewijzigde artikelen. Voor de meeste webshops is een synchronisatie elke paar minuten ook voldoende.

Hoe voorkom ik overselling op bol en Amazon?

Koppel alle kanalen aan dezelfde bron, meestal het ERP of WMS, en stuur de beschikbare voorraad per kanaal door. Houd per marketplace een buffer aan, omdat orders daar met enige vertraging binnenkomen. Verwerk orders van marketplaces ook snel in je ERP, zodat de reservering direct meetelt voor de andere kanalen.

Moet ik de voorraad per magazijnlocatie doorgeven aan de webshop?

Alleen als de webshop daar iets mee doet, bijvoorbeeld bij afhalen in de winkel of een levertijd per locatie. In de meeste gevallen is één totaal van de verkoopbare voorraad genoeg. Geef je wel per locatie door, controleer dan of elke locatie in de webshop ook als locatie bestaat. Anders komt de voorraad niet aan.

Wat gebeurt er met de voorraad als een klant een retour stuurt?

Een retour telt pas weer als voorraad mee als het magazijn het product heeft gecontroleerd en goedgekeurd. Zorg dat die goedkeuring in het WMS of ERP wordt verwerkt en dat de koppeling die mutatie doorstuurt. Gebeurt dat niet, dan blijft het product onterecht onzichtbaar in je webshop terwijl het gewoon verkocht kan worden.

Weet je niet waar je moet beginnen?

Vertel ons met welke systemen je werkt en waar het vastloopt. Wij voeren samen een datascan uit en laten zien waar voor jou data-integratie het meeste op kan leveren.

Jesper van den Bogaard, consultant en eigenaar van DataIntegratie.nl
Je spreekt direct met Jesper van den Bogaard Consultant en eigenaar

Ik kijk graag samen naar de mogelijkheden en denk graag met je mee.

Reageert binnen één werkdag