Wat een koppeling eigenlijk doet
Een koppeling is een stuk software dat gegevens van het ene systeem naar het andere brengt, en dat op tijd, in het juiste formaat en zonder dubbelingen. Het moeilijke zit niet in het versturen maar in alles eromheen: wat gebeurt er als het andere systeem even niet bereikbaar is, wat als hetzelfde record twee keer binnenkomt, en welk systeem heeft gelijk als ze het niet met elkaar eens zijn.
Die laatste vraag is de belangrijkste en hij wordt het vaakst overgeslagen. Spreek vóór de bouw af welk systeem de bron is van welke gegevens. Het klantadres komt uit het CRM, de factuur uit de boekhouding, de voorraad uit het magazijn. Een koppeling die dat niet weet, maakt van twee bronnen van waarheid drie.
Drie manieren om te koppelen
Welke past hangt af van wat de systemen aanbieden en hoe snel de gegevens over moeten.
- Via een API: het ene systeem vraagt het andere rechtstreeks om gegevens of stuurt ze; direct en actueel, maar alleen als beide kanten een fatsoenlijke API hebben
- Via bestanden: op vaste tijden wordt een bestand klaargezet en opgehaald, bijvoorbeeld elke nacht; ouderwets, maar betrouwbaar en vaak de enige optie bij oudere pakketten
- Via berichten: het ene systeem meldt een gebeurtenis (een nieuwe order) en wie wil kan erop reageren; de meest robuuste vorm als meerdere systemen moeten meeluisteren
Wat het kost
Een koppeling met een goed gedocumenteerde API, één richting op en zonder gegevensmigratie, is een kwestie van dagen tot een paar weken. Het loopt op zodra er geen documentatie is, de gegevens in beide richtingen moeten, er oude records mee moeten verhuizen, of het pakket aan de andere kant alleen via een tussenpartij te benaderen is.
Vraag daarom altijd eerst om een doorlichting van een dag: wat bieden beide systemen, wat staat er gedocumenteerd, en wat moet er geraden worden. Daarna is de prijs geen gok meer.
De koppelingen waar het vaakst om gevraagd wordt
De pakketten waar we het meest op koppelen hebben allemaal een bruikbare API. Exact Online en SnelStart voor de boekhouding: facturen en betalingen de ene kant op, klanten en artikelen de andere. Nmbrs en AFAS voor personeel en salaris: uren en verlof erin, loonstroken eruit. De RDW voor kentekengegevens, bijvoorbeeld bij verhuur of schadeafhandeling. En Power BI, dat meestal de ontvangende kant is: gegevens uit uw eigen systeem naar een dashboard dat de directie zelf opent.
Bij elk van die pakketten is de API gedocumenteerd, en dat is precies waarom zo’n koppeling in dagen kan in plaats van weken.
Waar het misgaat
De koppelingen die wij overnemen hebben bijna altijd een van deze vier problemen.
- Geen foutafhandeling: als het even niet lukt, is het record gewoon weg en merkt niemand het
- Geen dubbelingen afgevangen: dezelfde order komt twee keer binnen en wordt twee keer gefactureerd
- Limieten van de leverancier genegeerd: de API mag maar zoveel verzoeken per minuut, en daarboven stopt alles
- Geen logboek: niemand kan achteraf zien wat er wanneer is overgestuurd, en dus ook niet wat er mis ging
Wat u zelf regelt
Vóór de bouw begint, en het scheelt weken.
- Toegang tot beide systemen, inclusief een testomgeving die niet uw echte gegevens raakt
- De documentatie van de API’s, of het contact bij de leverancier die hem heeft
- Een besluit over de bron van waarheid per soort gegeven
- Iemand die de eerste weken de uitkomst controleert, want een koppeling die stil werkt, wordt pas vertrouwd als iemand het heeft nagekeken
Spreek eerst af welk systeem gelijk heeft, laat een dag doorlichten wat beide kanten aanbieden, en eis foutafhandeling, ontdubbeling en een logboek. Een koppeling die aan die eisen voldoet, hoort u daarna nooit meer over.