B2B webshop met ERP-integratie voor technische groothandel

B2B webshop met ERP-integratie voor technische groothandel

Hoe een B2B bestelportal rechtstreeks met het ERP werd gekoppeld.

  • Klanten kunnen zelfstandig bestellen op elk moment, zonder afhankelijk te zijn van binnendienstmedewerkers.
  • Orders stromen automatisch door naar het ERP zonder manuele invoer of controle.
  • Prijsfouten door verouderde of incorrecte data zijn structureel geëlimineerd.
  • Administratieve verwerking van B2B-orders is significant verminderd.
  • Het ERP blijft de enige bron van waarheid voor prijzen, klanten en voorraad.

Context


Een technische groothandel bediende een breed klantenbestand van professionele kopers met sterk uiteenlopende prijsafspraken, bestelgedrag en kredietlimieten. Het verkoopproces liep grotendeels via telefoon, e-mail en buitendienst.

De vraag was om dit te digitaliseren via een B2B portal waarop klanten zelfstandig kunnen bestellen, met behoud van alle bestaande afspraken en processen.

Standaard e-commerce platformen veronderstellen een generieke prijsstructuur. In dit geval heeft elke klant eigen prijsafspraken die in het ERP-systeem worden beheerd. Die logica extern dupliceren was geen optie.

Orders moesten rechtstreeks in het ERP terechtkomen om de bestaande orderverwerkingsflow, facturatie en stockbeheer niet te doorbreken. Een lossekoppeling via exports of manuele invoer zou te veel frictie en foutrisico meebrengen.

Uitdaging

  • Klantspecifieke prijzen ophalen uit het ERP zonder die te dupliceren of te cachen op een onbetrouwbare manier.
  • Realtime voorraadzichtbaarheid zonder het ERP te overbelasten met te frequente API-calls.
  • Orders correct mappen naar ERP-structuur met juiste klantreferenties, eenheden en orderregels.
  • Foutafhandeling bij ERP-onbeschikbaarheid zonder data te verliezen.
  • Permissies per klantprofiel met kredietlimieten en goedkeuringsflows.
  • Consistentie bewaren bij gelijktijdige bewerkingen of herhalende submits.

Doelstelling

  • Klanten kunnen zelfstandig bestellen via een portal met hun eigen prijzen en productassortiment.
  • Orders stromen automatisch door naar het ERP zonder manuele tussenkomst.
  • Realtime of near-realtime voorraad zodat klanten niet bestellen op producten die niet beschikbaar zijn.
  • Geen duplicatie van bedrijfslogica buiten het ERP.
  • Transparante logging van elke datastroom voor controle en foutopsporing.

Oplossing

Er werd een integratielaag gebouwd tussen de B2B portal en het ERP-systeem. De portal zelf bevat geen prijslogica: elke prijsopvraag gaat via de integratielaag naar het ERP en keert terug met de juiste klantprijs.

De architectuur bestaat uit een frontend portal, een backend API-laag en een connectiemodule naar het ERP. De backend fungeert als de enige toegangspoort: geen directe calls vanuit de browser naar het ERP.

Orders worden in de backend samengesteld, gevalideerd en pas doorgestuurd naar het ERP als ze technisch correct zijn. Bij tijdelijke ERP-onbeschikbaarheid worden orders in een queue gehouden en opnieuw geprobeerd.

Klantspecifieke instellingen zoals kredietlimieten, goedkeuringsflows en assortimentsbeperkingen worden bij login opgehaald en bepalen wat de klant te zien krijgt en wat hij kan doen.

Integraties en datastromen

Prijzen

Prijzen worden nooit opgeslagen in de portal. Bij het openen van een productpagina of het toevoegen aan een winkelwagen wordt een live prijsopvraag gedaan via de integratielaag.

Het ERP retourneert de klantspecifieke prijs op basis van klantnummer, artikel en hoeveelheid. Kortingen, staffels en contractprijzen worden zo correct doorgegeven.

Bij een timeout of fout wordt de klant gevraagd opnieuw te proberen. Er wordt geen fallback-prijs getoond om prijsfouten te vermijden.

Voorraad

Voorraad wordt gecached voor een korte periode om de belasting op het ERP te beperken. De TTL is configureerbaar en afgestemd op de update-frequentie van het ERP.

Bij het plaatsen van een order wordt altijd een finale voorraadcheck uitgevoerd, ongeacht de gecachte waarde. Zo wordt vermeden dat orders worden geplaatst op producten die tussentijds uitverkocht raakten.

Out-of-stock producten worden zichtbaar gehouden in de portal zodat klanten weten dat het artikel bestaat, maar kunnen ze niet bestellen.

Klanten

Klantdata wordt niet apart beheerd in de portal. Bij login wordt het profiel opgehaald uit het ERP op basis van het klantaccount.

De portal synchroniseert geen klantgegevens terug naar het ERP tenzij expliciet gevraagd.

Orders

Een order wordt aangemaakt in de portal, gevalideerd door de backend en doorgestuurd naar het ERP met juiste mapping voor artikelnummers, eenheden en referenties.

Na bevestiging in het ERP ontvangt de klant een orderbevestiging en wordt statusopvolging beschikbaar gemaakt in de portal.

Bij mislukte transmissie wordt de order in behandeling gezet en opnieuw geprobeerd via een retry-mechanisme.

Betrouwbaarheid en beheer


  • Elke API-call naar het ERP wordt gelogd met tijdstip, payload, response en statuscode.
  • Rate limiting voorkomt overbelasting bij piekverkeer.
  • Timeouts zijn configureerbaar per operatietype.
  • Bij herhaalde mislukkingen wordt een melding gegenereerd voor de beheerder.
  • De integratielaag is stateless en gebruikt queueing om dataverlies te vermijden.

Resultaat


  • Klanten kunnen zelfstandig bestellen op elk moment.
  • Orders stromen automatisch door naar het ERP zonder manuele invoer.
  • Prijsfouten door verouderde of incorrecte data zijn structureel geëlimineerd.
  • Administratieve verwerking van B2B-orders is significant verminderd.
  • Het ERP blijft de enige bron van waarheid voor prijzen, klanten en voorraad.