Stel dat je elke avond de verkopen uit je kassa overtypt in je boekhouding, of dat je elke maand een export uit het ene programma in het andere inleest. Een koppeling laat die twee programma’s de gegevens zelf uitwisselen. Niemand hoeft nog over te typen, en de software die je al gebruikt, kan blijven staan.
Wat een API is
De meeste koppelingen lopen via een API (de letters staan voor application programming interface). Een API is de afgesproken manier waarop een programma vragen van andere programma’s aanneemt. Je kassasysteem zegt als het ware: vraag me op deze manier naar de verkopen van gisteren, en je krijgt ze in dit formaat terug. De maker beschrijft die afspraken in documentatie, zodat een ontwikkelaar ermee kan werken zonder toegang tot de binnenkant van het systeem.
Wat niet via de API beschikbaar is, kan een koppeling meestal niet bereiken, ook al zie jij het wel op je scherm. Het verschilt ook per pakket, en soms per abonnement, of je de API kan gebruiken. Heeft je pakket er geen, dan kan het soms nog met een exportbestand dat op vaste momenten wordt ingelezen. Dat is eenvoudiger, maar de gegevens lopen dan achter op wat er in het pakket staat.
Hoe een koppeling toestemming krijgt
Meestal log je als beheerder in bij je kassa of je boekhoudpakket, je ziet welke rechten de andere software vraagt, en je bevestigt. De koppeling krijgt dan een eigen toegang. Je hoeft je wachtwoord niet door te geven, en je kan die toegang later meestal weer intrekken. Zoek dus uit wie bij jou de beheerder van het account is, want zonder die persoon raak je hier niet voorbij.
Alleen lezen of ook schrijven
Met alleen-lezen (read-only) kan software je gegevens bekijken, maar niets wijzigen. Met schrijfrechten kan ze ook iets toevoegen of aanpassen, zoals een factuur inboeken of een voorraadaantal veranderen.
Felix is gebouwd om alleen-lezen met de kassa van een boetiek te koppelen. Hij kijkt wie wat wanneer kocht en stelt op basis daarvan voor welke klanten de eigenaar best contacteert. Een kassa die alleen gelezen wordt, blijft zoals ze was, ook als de software die ze leest een fout maakt.
Of zo’n koppeling er komt, hangt niet alleen van de techniek af. De leverancier van het systeem moet ook toegang geven tot de API. Bij Felix is dat vandaag de hindernis voor de eerste pilot: ik weet nog niet of ik bij de kassa van die boetiek binnen geraak. Vraag dat dus na voor je op een koppeling rekent.
Soms heb je schrijfrechten wel nodig. Stel dat je webshop elke verkoop als factuur in je boekhouding moet zetten. Zo’n koppeling vraagt meer zorg. Ze moet bijvoorbeeld herkennen dat een verkoop al ingeboekt is, zodat een onderbroken verbinding geen dubbele factuur oplevert. Je wil ook kunnen nagaan wat ze wanneer geschreven heeft. Biedt het pakket een testomgeving aan, een aparte plek zonder echte gegevens, dan probeer je het daar eerst.
Geef een koppeling in elk geval niet meer rechten dan ze nodig heeft. Moet ze alleen verkopen ophalen, dan hoeft ze niet aan je facturen te kunnen.
Boekhoudpakketten
Bij Eagl bouw en onderhoud ik koppelingen met Exact Online, NetSuite en Business Central. Dat zijn ERP-systemen, pakketten waarin een bedrijf zijn boekhouding bijhoudt, vaak samen met andere administratie zoals aankopen of voorraad.
Op het eerste gezicht doen ze ongeveer hetzelfde werk. Toch heeft elk zijn eigen API, met eigen namen en eigen regels voor toestemming, dus een koppeling voor het ene pakket kan je niet zomaar hergebruiken voor het andere. Ben je ontwikkelaar, dan vind je de verschillen in Koppelen met Exact Online, NetSuite en Business Central.
Wat een koppeling in de praktijk vraagt
Twee programma’s noemen hetzelfde vaak anders. Wat in je kassa een klant is, heet in je boekhouding misschien een relatie, en een btw-tarief kan in elk programma een andere code hebben. Iemand moet die vertaling uitzoeken, en daarvoor moet die persoon begrijpen hoe jij werkt.
Een koppeling brengt ook aan het licht wat er in je gegevens niet klopt, zoals een klant die er twee keer in staat. Reken op wat opruimwerk.
Dan is er de vraag hoe snel het moet gaan. Voor een overzicht aan het einde van de maand volstaat een uitwisseling per nacht. Voor de voorraad in een webshop wil je wellicht dat een verkoop sneller doorkomt, en dat vraagt meer bouwwerk.
Een koppeling heeft ook onderhoud nodig. Makers passen hun API’s aan, en soms is een dienst even onbereikbaar. De koppeling moet het dan later opnieuw proberen en het melden als iets blijft mislukken.
Wat je vooraf kan nakijken
Je hebt hiervoor geen technische kennis nodig. Met deze antwoorden kan een ontwikkelaar al snel inschatten wat er mogelijk is:
- Welk pakket gebruik je, en met welk abonnement?
- Heeft dat pakket een API? De naam van het pakket en het woord API in een zoekmachine brengen je meestal bij de documentatie, en anders kan de leverancier het je zeggen.
- Welke gegevens moeten waarheen, en in welke richting?
- Hoe snel moeten ze er zijn?
- Gaan er klantgegevens naar een andere dienst, en waar komen ze dan terecht? Dat komt aan bod in Wat kan AI vandaag doen in een klein bedrijf?
- Wie is de beheerder van het account?
Lees ook
Wat is jouw idee?
Vertel me wat je wil bouwen. Ik probeer binnen één werkdag te antwoorden.