1. Home
  2. Kennisbank
  3. Twee systemen aan elkaar koppelen: hoe werkt dat?
Kennisbank

Twee systemen aan elkaar koppelen: hoe werkt dat?

Een koppeling is een klein stuk software dat op vaste momenten bij het ene systeem ophaalt wat er nieuw is, dat vertaalt naar wat het andere systeem verwacht, en het daar neerzet. Het bouwen ervan is zelden het probleem. Het werk zit in de uitzonderingen: dubbele klanten, afwijkende btw-codes en velden die het ene pakket wel kent en het andere niet.

Een boekhoudprogramma, een webshop, een urenapp, een planning: bijna niemand komt met één pakket toe. Dat geldt voor een ZZP’er met twee systemen net zo goed als voor een MKB-bedrijf met vijf. Elk pakket weet iets wat het andere niet weet, en daarom zit er iemand tussen die gegevens overtypt.

Een systeemkoppeling haalt die persoon ertussenuit.

Wat een koppeling eigenlijk is

Een koppeling is een klein programma dat drie dingen doet, steeds opnieuw:

  1. Ophalen. Het vraagt aan systeem A wat er sinds de vorige keer is bijgekomen of veranderd.
  2. Vertalen. Het zet die gegevens om naar de vorm die systeem B verwacht. Een btw-percentage heet in het ene pakket anders dan in het andere, een klantnummer ook, en soms bestaat een veld aan de andere kant helemaal niet.
  3. Wegschrijven. Het zet het resultaat in systeem B, en houdt bij wat er gelukt is en wat niet.

Dat draait op een vast ritme, bijvoorbeeld elk kwartier of elke nacht. Of het draait op het moment zelf, als systeem A kan seinen dat er iets gebeurd is.

De vier manieren, van goedkoop naar duur

Er zit al een koppeling in. Veel pakketten hebben een lijst met kant-en-klare koppelingen. Staat jouw combinatie erbij en doet hij wat je wilt, dan ben je klaar. Kijk hier altijd eerst.

Een tussendienst zoals Zapier of Make. Die kennen honderden pakketten en je klikt de stappen bij elkaar. Goedkoop om te beginnen, maar je betaalt per bericht en je bent afhankelijk van een dienst die je niet beheert. Voor een simpele stroom prima.

Een koppeling op maat via de API. Vrijwel elk fatsoenlijk pakket heeft een API: een ingang waar een ander programma mag ophalen en wegschrijven. Dit is wat wij meestal bouwen. Het kost meer dan de twee opties hierboven en het kan wel precies wat jouw proces vraagt.

Bestandsuitwisseling. Het ene systeem zet een bestand klaar, het andere leest het in. Ouderwets, maar soms de enige weg als een pakket geen API heeft. Trager en foutgevoeliger, dus alleen als het niet anders kan.

Waarom het meer werk is dan het lijkt

De techniek van ophalen en wegschrijven is meestal een paar dagen werk. Wat de tijd kost, zijn de uitzonderingen die in jouw gegevens zitten:

  • Dezelfde klant staat twee keer in het ene systeem, onder net een andere naam.
  • Er is ooit met de hand een factuurnummer overschreven, en nu klopt de reeks niet.
  • Een btw-code is jaren geleden anders gebruikt en dat is nooit rechtgezet.
  • Het ene pakket kent projectnummers, het andere niet, en jij werkt er wel mee.
  • Er is een klant met een afwijkende afspraak die nergens is vastgelegd behalve in iemands hoofd.

Een koppeling maakt dat allemaal zichtbaar. Dat is de eerste week even schrikken en daarna de grootste winst van de hele operatie.

Wat er gebeurt als het misgaat

Een koppeling die stil kapotgaat is erger dan geen koppeling. Systemen veranderen, een inlogsleutel verloopt, een pakket wijzigt zijn API. Vraag daarom altijd, aan ons of aan wie het ook bouwt, hoe je merkt dat er iets niet goed gaat.

Wat wij daarvoor meeleveren: een logboek waarin je kunt teruglezen wat er gebeurd is, en een melding als een ronde mislukt. Geen stilte.

Wat het kost

Een vaste prijs voor een afgebakende koppeling, die je na één gesprek hoort. Wat hem bepaalt: hoeveel systemen erin zitten, of ze allebei een fatsoenlijke API hebben, en hoeveel uitzonderingen jouw proces kent. Die laatste is bijna altijd de grootste, en het is de reden dat we er pas een bedrag op zetten als we het gezien hebben.

Uitgebreider staat dat in wat een koppeling kost.

Deze vraag hoort bij Koppelingen.