Orderverwerking automatiseren is meer dan een webshoporder naar het ERP sturen. Een volledige flow controleert klant- en artikeldata, voorkomt dubbele orders, reserveert voorraad, routeert naar het juiste magazijn en koppelt verzending of fouten terug naar het verkoopkanaal.
De belangrijkste ontwerpkeuze: bepaal per status en gegeven welk systeem eigenaar is. Als webshop, ERP en WMS allemaal een orderstatus of voorraad mogen overschrijven, ontstaan onverklaarbare verschillen.
Breng de volledige orderreis in kaart#
Volg eerst drie echte orders van bestelling tot levering: een normale order, een order met een afwijking en een retour. Noteer bij elke stap wie iets controleert, welke data wordt overgetypt en waar iemand op een ander systeem wacht.
Een typische keten bevat meer overdrachten dan verwacht:
- bestelling en betaling in webshop of marketplace;
- klant-, adres- en artikelvalidatie;
- ordercreatie in ERP;
- voorraadreservering en keuze van magazijn;
- vrijgave naar WMS of fulfilmentpartner;
- picking, packing en verzendlabel;
- tracking en status terug naar het verkoopkanaal;
- factuur, betaling en eventuele retour of annulering.
Automatiseer niet alleen de eerste pijl. Anders verplaatst het handwerk zich naar het magazijn, finance of klantenservice.
Leg eigenaarschap per gegeven vast#
| Gegeven | Vaak logische eigenaar | Belangrijke afspraak |
|---|---|---|
| Commerciële bestelling | Webshop of marketplace | Na acceptatie niet stil overschrijven |
| Debiteur en kredietlimiet | ERP | Wat gebeurt er bij een nieuwe of geblokkeerde klant? |
| Fysieke voorraad | WMS of ERP | Verschil tussen fysiek, gereserveerd en beschikbaar |
| Betalingsstatus | Payment provider/webshop | Wanneer mag fulfilment starten? |
| Pick- en verzendstatus | WMS | Welke statussen ziet de klant? |
| Factuurnummer | ERP of boekhouding | Eén unieke bron en terugkoppeling |
Schrijf ook de statusvertaling uit. shipped, completed en fulfilled betekenen niet in elk systeem hetzelfde. Een expliciete mapping voorkomt dat een technisch geldige status de verkeerde bedrijfsactie triggert.
Valideer vóór u een order vrijgeeft#
De integratie moet een order kunnen weigeren of parkeren zonder hem kwijt te raken. Controleer minimaal:
- uniek ordernummer of idempotency key om duplicaten te voorkomen;
- bekende SKU’s en geldige aantallen;
- volledig lever- en factuuradres;
- betaalstatus of toegestane betaalvoorwaarde;
- btw-land en geldige btw-logica;
- beschikbare of verwachte voorraad;
- gekozen levermethode en magazijn;
- afwijkende prijs, korting of marge buiten toegestane grenzen.
Maak onderscheid tussen een tijdelijke technische fout en een inhoudelijke fout. Een time-out mag automatisch opnieuw geprobeerd worden. Een onbekende SKU wordt niet beter door dezelfde aanvraag twintig keer te herhalen.
Kies realtime alleen waar de klant het merkt#
Niet elke datastroom hoeft onmiddellijk te lopen. Kies de frequentie op basis van risico:
- realtime of event-driven: nieuwe orders, annuleringen vóór fulfilment, kritieke voorraadreservering en tracking;
- korte batch: bulkvoorraad, productupdates en niet-kritieke statussen;
- dagelijkse batch: rapportering en historische data, wanneer actualiteit geen verkoop beïnvloedt.
Realtime klinkt aantrekkelijk, maar verhoogt de technische afhankelijkheid tussen systemen. Wachtrijen kunnen pieken en tijdelijke storingen opvangen. Voor de bredere keuze tussen synchronisatiepatronen leest u de webshop-ERP-integratiegids.
Ontwerp de uitzonderingen vóór het standaardpad#
Het rechte pad is eenvoudig. De kwaliteit van een orderflow blijkt uit wat er gebeurt bij afwijkingen:
Onbekende klant of afwijkend adres#
Maak de order zichtbaar in een werklijst met de ontbrekende velden. Laat een medewerker koppelen of corrigeren en hervat daarna dezelfde flow; laat hem de order niet handmatig opnieuw aanmaken.
Onvoldoende voorraad#
Spreek af of u splitst, wacht op backorder, een andere locatie kiest of annuleert. Geef die beslissing terug aan het verkoopkanaal zodat klantcommunicatie klopt.
Prijsverschil#
Vergelijk de geaccepteerde verkoopprijs met ERP-regels, maar overschrijf een betaalde order niet automatisch. Grote verschillen vragen controle en een auditspoor.
Systeem tijdelijk niet bereikbaar#
Bewaar het bericht in een wachtrij, probeer gecontroleerd opnieuw en alarmeer wanneer de afgesproken doorlooptijd wordt overschreden. Meer hierover in logging en fallback voor workflows.
Voorkom oversells met een expliciete voorraadformule#
“Voorraad” is geen enkel getal. Voor verkoop gebruikt u meestal beschikbare voorraad:
beschikbaar = fysiek − gereserveerd − veiligheidsbuffer
Afhankelijk van uw belofte kan verwachte inkomende voorraad meetellen. Leg vast wanneer een reservering ontstaat en vrijvalt: bij bestelling, succesvolle betaling, annulering of time-out. Voor meerdere locaties en kanalen is voorraadsynchronisatie over meerdere magazijnen de verdiepende gids.
Test met scenario’s, niet alleen met endpoints#
Een API die een 200 OK terugstuurt bewijst alleen dat de aanvraag technisch aanvaard is. Test de bedrijfsuitkomst met herkenbare scenario’s:
- standaardorder met één artikel;
- nieuwe klant en afwijkend factuuradres;
- laatste beschikbare stuk tegelijk op twee kanalen;
- gedeeltelijke backorder;
- betaling mislukt of komt later binnen;
- annulering terwijl picking al gestart is;
- WMS of ERP tijdelijk onbereikbaar;
- dubbele levering van hetzelfde event;
- gedeeltelijke verzending en retour.
Controleer na elk scenario wat de klant ziet, wat medewerkers zien en hoe u herstelt. Doe vóór livegang een beperkte pilot met één kanaal, magazijn of productgroep.
Meet of de flow werkelijk beter wordt#
Gebruik operationele indicatoren die het team begrijpt:
- percentage orders zonder menselijke aanraking;
- tijd van bestelling tot vrijgave voor picking;
- aantal geblokkeerde orders per foutreden;
- dubbele orders en stockcorrecties;
- percentage trackingupdates binnen de afgesproken tijd;
- aantal klantvragen over orderstatus.
Een stijgend automatiseringspercentage is alleen positief als fouten en wachttijd niet meestijgen.
Praktische startvolgorde#
Begin met één verkoopkanaal naar één ERP en één fulfilmentroute. Automatiseer achtereenvolgens ordercreatie, zichtbare foutafhandeling, voorraadreservering en status-terugkoppeling. Voeg pas daarna extra marketplaces, magazijnen en retourlogica toe.
Zo bouwt u geen ondoorzichtige keten van losse koppelingen, maar één controleerbare orderflow waarin mensen alleen ingrijpen waar hun oordeel echt nodig is.