Een bestelling lijkt voor een klant één handeling. Achter de schermen kunnen er meerdere systemen bij betrokken zijn: een webshop, betaalprovider, ERP, voorraadadministratie, fulfilmentpartij en verzenddienst. Ieder systeem beheert een deel van het proces.
Een koppeling tussen webshop en ERP moet die onderdelen met elkaar verbinden. Dat betekent meer dan gegevens van A naar B sturen. De integratie moet ook omgaan met vertragingen, dubbele berichten, ontbrekende gegevens en wijzigingen die op verschillende momenten plaatsvinden.
De belangrijkste ontwerpvraag is daarom niet alleen: kunnen de systemen communiceren? De betere vraag is: blijft het bedrijfsproces begrijpelijk wanneer iets anders loopt dan verwacht?
Bepaal welk systeem leidend is
Voor ieder gegeven hoort één duidelijke bron te bestaan. Als zowel de webshop als het ERP vrijelijk een verkoopprijs, voorraadstand of klantadres kan aanpassen, wordt het moeilijk om te bepalen welke waarde juist is.
- het ERP beheert artikelen en beschikbare voorraad;
- de webshop beheert het winkelmandje en de checkout;
- de betaalprovider bevestigt de betaalstatus;
- het ERP kent na verwerking het definitieve ordernummer toe;
- de verzendpartij levert de actuele trackingstatus.
Dit eigenaarschap voorkomt discussies wanneer waarden van elkaar afwijken. Het maakt ook duidelijk in welke richting updates moeten stromen.
Beschrijf statussen als een proces
Een order is niet simpelweg aanwezig of afwezig. Tussen het plaatsen en afronden liggen meerdere statussen. Denk aan ontvangen, betaald, gecontroleerd, in verwerking, verzonden, gedeeltelijk geleverd, geannuleerd of terugbetaald.
Beschrijf vooraf welke overgangen mogelijk zijn en welke gebeurtenis iedere overgang veroorzaakt. Bepaal ook welke status de klant ziet. Een technische melding uit het ERP is niet automatisch een begrijpelijke klantstatus.
Besteed extra aandacht aan uitzonderingen. Wat gebeurt er bij een gedeeltelijke levering? Kan een adres na betaling nog worden gewijzigd? Hoe wordt een retour verwerkt wanneer slechts een deel van de order terugkomt? Juist deze situaties bepalen of de koppeling in dagelijks gebruik beheersbaar blijft.
Voorkom dubbele verwerking
Systemen kunnen een bericht opnieuw aanbieden wanneer een bevestiging uitblijft. Dat is normaal gedrag, maar de ontvangende koppeling moet hetzelfde bericht veilig kunnen herkennen.
Gebruik daarom een uniek kenmerk voor iedere bestelling en relevante gebeurtenis. Wanneer een orderbericht tweemaal binnenkomt, hoort de tweede verwerking geen tweede order aan te maken. Hetzelfde principe geldt voor betalingen, verzendingen en retouren.
Deze eigenschap wordt vaak idempotentie genoemd. De technische term is minder belangrijk dan het praktische resultaat: opnieuw aanbieden mag niet leiden tot dubbel werk of dubbele registraties.
Maak fouten zichtbaar en herstelbaar
Geen enkele integratie voorkomt iedere fout. Een systeem kan tijdelijk niet beschikbaar zijn, een veld kan onverwachte gegevens bevatten of een productcode kan ontbreken. Een betrouwbare koppeling zorgt dat zo’n fout niet stil verdwijnt.
- welke stap niet kon worden uitgevoerd;
- om welke order of welk bericht het gaat;
- wanneer de fout ontstond;
- of automatisch opnieuw wordt geprobeerd;
- welke actie van een medewerker nodig is.
Een bruikbaar foutenoverzicht geeft medewerkers voldoende context om het proces te herstellen. Alleen een technische foutcode is daarvoor meestal niet genoeg. Maak bovendien onderscheid tussen tijdelijke fouten, zoals een time-out, en een inhoudelijk probleem dat om correctie vraagt.
Test het proces, niet alleen de verbinding
Een succesvolle technische verbinding zegt nog weinig over het volledige orderproces. Test daarom herkenbare scenario’s van begin tot eind: een reguliere order, een mislukte betaling, een wijziging, gedeeltelijke verzending, annulering, retour en tijdelijke uitval van een systeem.
Controleer niet alleen of gegevens aankomen, maar ook of medewerkers en klanten daarna de juiste status zien. Leg vast wat het verwachte resultaat is, zodat wijzigingen later opnieuw kunnen worden gecontroleerd.
Een koppeling moet beheerbaar blijven
Een goede webshop-ERP-koppeling ondersteunt niet alleen de lancering. Ze maakt ook zichtbaar wat er gebeurt wanneer assortiment, processen of systemen veranderen.
Yindle Connect verbindt webshops en achterliggende systemen met aandacht voor datastromen, foutafhandeling en beheer. We beginnen bij het bedrijfsproces en bepalen van daaruit welke integratie nodig is.
Werk je specifiek met WooCommerce en AFAS Profit? In onze gids over een WooCommerce–AFAS-koppeling behandelen we de datastromen, connectoren, uitzonderingen en tests die daarbij horen.