ERP-koppeling en datakwaliteit: waarom uw systemen data uitwisselen zonder hetzelfde te bedoelen
Een medewerker klantenservice bij een groothandel krijgt op dinsdagmiddag een klant aan de lijn met de eenvoudigste vraag die er bestaat, namelijk waar zijn order blijft. Zij kijkt in het ERP en leest dat de order is geleverd. Ze kijkt in het magazijnsysteem en ziet dat de pallet vanochtend om tien over acht is klaargezet op het laadperron.
Allebei de schermen hebben gelijk. In het ERP staat “geleverd” omdat de orderadministratie de regel afsluit zodra het magazijn de pallet compleet meldt; vanaf dat moment mag er worden gefactureerd. In het magazijnsysteem staat de zending op “gereed”, omdat het pand nog niet is verlaten. De koppeling ertussen heeft vanochtend gedraaid zoals bedoeld, zonder een enkele foutmelding.
Zij moet nu toch iets zeggen tegen die klant, op basis van twee schermen die elkaar tegenspreken.
Dit artikel gaat over de categorie problemen die hier zichtbaar wordt: gegevens die technisch correct worden uitgewisseld, met een betekenis die onderweg verandert. Het is taai werk, omdat er niemand een fout heeft gemaakt en er dus ook niemand is die iets te herstellen heeft.
De koppelkaart: één begrip door uw systemen heen
Voordat u aan een oplossing denkt, is het nuttig om één gedeeld gegeven helemaal uit te schrijven. Wij noemen dat de koppelkaart. U kiest één begrip dat tussen meerdere systemen reist en beantwoordt er vier vragen over, per systeem waarin het voorkomt: wat de waarde daar betekent, welk systeem erover gaat, op welk moment zij waar is en wie haar mag zetten. Die vier vragen vormen samen de afspraak.
Hieronder staat de kaart ingevuld voor het begrip uit het voorbeeld hierboven. De laatste regel valt buiten de afspraak en laat zien waarom hij ertoe doet. De invulling is een voorbeeld, geen norm: bij u kunnen de antwoorden anders liggen, en dat is precies het punt.
Koppelkaart: het begrip “geleverd”
| Vraag | ERP (order en facturatie) | Magazijnsysteem | Klantportaal |
|---|---|---|---|
| Wat betekent de waarde hier? | De orderregel is administratief afgerond en mag gefactureerd worden | De pallet is compleet, gecontroleerd en klaargezet voor transport | De klant heeft getekend voor ontvangst |
| Welk systeem gaat hierover? | Neemt de waarde over uit het magazijn | Bron voor deze waarde | Neemt de waarde over van de vervoerder |
| Op welk moment is de waarde waar? | Zodra het magazijn de pallet compleet meldt | Bij de laatste scan op het laadperron | Bij aflevering, soms dagen later |
| Wie mag de waarde zetten? | De orderadministratie, op het signaal uit het magazijn | De magazijnmedewerker | De vervoerder |
| Buiten de afspraak: wat loopt er mis als dit uiteenloopt? | Er wordt gefactureerd voordat de zending het pand uit is | De planning rekent op ruimte die nog bezet is | De klant ziet iets anders dan uw medewerker |
Wat u hier ziet gebeuren, is dat drie systemen hetzelfde woord gebruiken voor drie verschillende gebeurtenissen die dagen uit elkaar kunnen liggen. De koppeling brengt de waarde over. De lading verandert bij de grens.
Behandel de kaart als werkstuk. Wat wij bij het invullen zien, is dat er meteen een discussie ontstaat tussen twee afdelingen die allebei dachten dat het duidelijk was. Loopt u vast omdat die twee afdelingen het oneens blijven, dan is dat op zichzelf al een uitkomst. Wij schuiven in zo’n situatie desgewenst een keer aan om mee te lezen.
Wat monitoring van een koppeling meet
Een ERP-koppeling is een transportmiddel voor waarden. De afspraak over wat die waarden betekenen woont ergens anders, bij de mensen die haar ooit hebben gemaakt. Betekenis ontstaat in zo’n afspraak en reist daarna hooguit mee in een bericht.
Dat onderscheid is de kern van dit artikel, en het verklaart waarom de gangbare manier van bewaken hier niets ziet. Wat monitoring doorgaans bewaakt, is of het bericht is verzonden, of het is aangenomen, of het formaat klopt en of de verwerking binnen de tijd bleef. Al die vragen kunnen met ja worden beantwoord bij een uitkomst die onbruikbaar is.
Wij schreven eerder over het moment waarop zo’n landschap breekt, namelijk wanneer er één systeem verandert, in uw ERP-integratielandschap. Dit artikel zit een laag dieper. Hier ligt de oorzaak van uiteenlopende uitkomsten in een landschap dat volledig naar behoren draait.
In de landschappen die wij doorlopen, komen we de definitie van een gedeeld veld zelden tegen in een document. Wel in de mapping van de koppeling zelf: een regel waarin staat dat status 40 aan de ene kant status “gereed” aan de andere kant wordt. Die regel is ooit geschreven door iemand die het toen goed begreep. Hij heeft daarmee, zonder het als besluit te bedoelen, de betekenis vastgelegd voor alle jaren erna.
Daar komt een tweede eigenschap bij. Wanneer uw ERP-leverancier en uw magazijnleverancier ieder hun eigen deel opleveren volgens hun eigen specificatie, ontstaat er soms een verschil dat van geen van beiden is. Allebei kunnen zij aantonen dat zij hebben gedaan wat er was afgesproken. Het verschil valt in de ruimte ertussen. In de contracten die wij lezen, gaat geen van beide over die ruimte.
Waarom gereedschap dit niet voor u beslist
Voor dit vraagstuk bestaat gereedschap. Een datacatalogus is een register waarin per gegeven staat wat het betekent en waar het vandaan komt. Met een canoniek datamodel legt u één gedeelde vorm vast waarnaar alle systemen vertalen. Master data management belegt daarbovenop rollen en beslisregels voor stamgegevens. Wij komen alle drie tegen in de trajecten waar wij werken, en ze doen daar nuttig werk.
De catalogus schiet bij dit vraagstuk als eerste tekort, omdat hij een besluit registreert dat elders is genomen. De andere twee reiken verder. Allebei beantwoorden zij de vraag wie over een gegeven gaat. Zij halen de inhoud van dat gegeven alleen niet op; daarvoor is nog altijd een gesprek nodig met de mensen die ermee werken.
Begint u bij het gereedschap, dan krijgt de bestaande verwarring een nettere vorm.
Waarom een afspraak over betekenis bij ons geen bijproduct is
ERP Company adviseert en detacheert rond ERP-trajecten in Nederland en België, zonder aan een leverancier verbonden te zijn. Aan uw licenties en uw software verdienen wij niets. Een discussie over welk systeem gelijk heeft levert ons dus niets op, en juist dat maakt ons oordeel erover bruikbaar voor u.
Waar het ons echt om gaat, zit een stap daarvoor. Een afspraak over betekenis komt tot stand aan een tafel waar de magazijnmedewerker zit die de laatste scan doet, de orderadministratie die factureert, en de beheerder die de koppeling onderhoudt. Die drie mensen weten samen wat een woord in uw organisatie betekent. Zonder hen blijft het bij een ontwerp dat op de vloer opnieuw ter discussie komt.
Daarom zetten wij bij dit werk mensen in die het gesprek kunnen voeren én de koppeling kunnen lezen. Wij zoeken die combinatie bewust op. Met ruim 265 collega’s hebben wij de ruimte om zo’n tweetal een aantal weken naast uw eigen mensen te zetten. Ons werk is mensenwerk: de kaart is de neerslag van een gesprek dat anders nooit gevoerd zou zijn.
Datzelfde uitgangspunt, eerst vaststellen wat een gegeven betekent en daarna pas bepalen hoe het reist, hanteren wij ook wanneer data tussen systemen wordt overgezet. Wij begeleidden bijvoorbeeld Rotom bij de migratie naar Microsoft Dynamics 365.
Vier zinnen die u in uw eigen organisatie kunt horen
Deze vier uitspraken klinken onschuldig. Alle vier wijzen ze erop dat de betekenis van een gedeeld gegeven los is komen te staan van wat er ooit is afgesproken.
“Dat getal moet je even keer drie doen.” Er bestaat een werkende vertaling die alleen in hoofden zit en die met die mensen mee de deur uit gaat.
“Die afwijking hebben we elke maand, het zit in de boekingsdatum.” Een afwijking die elke maand een verklaring krijgt en daarna opnieuw verschijnt, wijst in onze ervaring op een definitiekwestie.
“Volgens hen is het aan onze kant misgegaan.” Twee leveranciers wijzen naar elkaar en vinden ieder in hun eigen deel niets. Wij lezen dat als een aanwijzing dat het vraagstuk tussen de twee specificaties in valt.
“Wat betekent dit veld eigenlijk?” De vraag van iemand die drie weken binnen is. Het antwoord komt uit het hoofd van een collega en wijkt af van wat een afdeling verderop zou zeggen.
Herkent u deze zinnen uit uw eigen gangen, dan is het zinvol om verder te kijken. Wie eerst de beheerorganisatie eromheen wil beleggen, leest wie eigenaar is van uw koppellandschap; dat artikel gaat over de rollen.
Waar u begint als u er volgende maand aan wilt werken
De verleiding is om alles in kaart te willen brengen. Dat werkt in onze ervaring averechts, want een landschap van enige omvang levert zoveel gedeelde velden op dat een volledige inventarisatie blijft liggen. Er is een kortere weg, in twee stappen.
Stap één: over hoeveel partijen gaat dit begrip? Het gaat hier om het aantal mensen en leveranciers met een eigen lezing van dat begrip; systeemgrenzen wegen daarbij minder zwaar. Een koppeling tussen twee systemen van twee verschillende leveranciers weegt daarom zwaarder dan een koppeling binnen één pakket. Zodra een begrip in drie of meer systemen voorkomt, is er in onze ervaring geen moment aan te wijzen waarop alle betrokkenen tegelijk aan tafel zaten. Die begrippen staan bovenaan.
Stap twee: waar is een afwijking pas achteraf zichtbaar? Sommige fouten vallen dezelfde dag op, omdat iemand in het proces er direct tegenaan loopt. Andere komen pas boven bij een inventarisatie, een afsluiting of een klantvraag. Die tweede groep kost meer, omdat er dan al op is gehandeld, gefactureerd of gepland.
U houdt uit die twee stappen een korte lijst over. Voor elk begrip erop volgt dan één van drie uitkomsten.
De eerste uitkomst is dat de systemen het al eens zijn en u het alleen opschrijft. Dat is snel gedaan en het voorkomt dat de afspraak bij de volgende personeelswisseling opnieuw moet worden uitgevonden.
De tweede uitkomst is dat de definities uiteenlopen en u er één aanwijst die leidend is, met een expliciete vertaalregel voor de andere systemen. Hier zit het echte werk, en hier hoort de business aan tafel.
De derde uitkomst is dat de koppeling zelf het probleem veroorzaakt, doordat zij een waarde overbrengt op een moment waarop die aan de ontvangende kant nog geen betekenis heeft. Dan verandert er iets aan de techniek, en dat is een opdracht die u pas kunt geven als de eerste twee stappen zijn gedaan. Wat er technisch mogelijk is, hangt af van uw integratiearchitectuur en van de ruimte die uw leveranciers daarin hebben.
Een gedeeld gegeven is pas afgesproken als vastligt wat het betekent, welk systeem erover gaat, op welk moment de waarde waar is en wie haar mag zetten.
Wanneer dit bij u geen prioriteit hoeft te zijn
Er zijn situaties waarin dit werk weinig oplevert, en het is eerlijker om die te benoemen.
Draait uw organisatie op één systeem, zonder koppelingen naar een magazijn-, verkoop- of rapportageomgeving, dan bestaat het probleem eenvoudigweg niet. Ook wanneer uw landschap recent is opgeleverd door één partij die alle definities in één ontwerp heeft vastgelegd en dat ontwerp nog actueel is, kunt u dit rustig laten liggen tot de eerste uitbreiding.
Staat u midden in een vervanging van uw ERP, dan is het zinvoller om de betekenisvraag mee te nemen in dat traject dan er nu een apart initiatief van te maken. U legt de afspraken dan vast op het moment dat de nieuwe koppelingen worden ontworpen, wat in onze ervaring minder werk is dan ze achteraf reconstrueren. Datzelfde geldt wanneer u toch al bezig bent met data management en migratie.
En als u de vier uitspraken hierboven langsloopt en er geen enkele herkent, dan zijn uw definities vermoedelijk op orde. Dat komt voor, en het is dan verstandiger om uw aandacht ergens anders te besteden.
Wat u hierna kunt doen
Het kleinste zinvolle begin is de koppelkaart uit dit artikel, ingevuld voor één begrip dat bij u tussen drie systemen reist. U hebt er de mensen voor nodig die er dagelijks mee werken, en een blok tijd waarin zij samen aan tafel zitten. Wat daar boven tafel komt, verrast de deelnemers in onze ervaring.
Blijkt het bij meer dan dat ene begrip te spelen, dan schuiven wij zonder verplichting aan. Een onafhankelijke doorloop van uw gedeelde gegevens levert u een lijst op met de begrippen, de afwijkingen en de keuzes die eronder liggen, vóór uw volgende koppel- of systeembesluit. Wij hebben geen belang bij welke kant die keuzes op vallen.
Wilt u eerst alleen even sparren over de vraag of dit bij u speelt, dan kan dat ook. Onze gegevens staan op de contactpagina van deze site, en een mail of een telefoontje volstaat, zonder dat daar een vervolg uit hoeft te komen.
Veelgestelde vragen over datakwaliteit bij ERP-koppelingen
Waarom kloppen uw cijfers niet als de ERP-koppeling gewoon werkt?
Cijfers uit gekoppelde systemen lopen uiteen zodra beide systemen hetzelfde veld anders hebben gedefinieerd, ook wanneer de overdracht technisch foutloos is verlopen.
Monitoring meldt in dat geval niets, want er is geen technische fout. Het verschil komt pas boven bij een klantvraag, een telling of een afsluiting.
Welk systeem is de bron van waarheid bij een ERP-koppeling?
De bron van waarheid is het systeem dat u per gedeeld gegeven zelf aanwijst en expliciet vastlegt; wij kennen geen algemene regel die het ERP of het magazijnsysteem altijd leidend maakt.
De praktische toets is welk systeem het dichtst bij de gebeurtenis staat die de waarde veroorzaakt. In onze ervaring wijst die toets voor voorraad naar het magazijn en voor facturatie naar het ERP.
Wat legt u vast per gedeeld gegeven?
Een afspraak over een gedeeld gegeven legt vier dingen vast: wat de waarde betekent, welk systeem erover gaat, op welk moment zij waar is en wie haar mag zetten.
Leg dit vast buiten de koppeling, in een document dat leesbaar is voor de business. Wat alleen in de mapping staat, gaat mee als die koppeling wordt vervangen.
Wie moet de betekenis van een gedeeld gegeven vaststellen?
De betekenis van een gedeeld gegeven wordt vastgesteld door de mensen die ermee werken, samen met de beheerder van de koppeling, waarna IT haar naleesbaar vastlegt.
In onze ervaring ontstaat de meeste ruis wanneer dit gesprek binnen één afdeling blijft. De afspraak houdt pas stand als alle systemen die het gegeven gebruiken vertegenwoordigd waren.