Naar de inhoud

Koppelingen

Systemen die elkaars gegevens kennen, zonder dat iemand overtypt

Je webshop, je boekhouding en je voorraad weten elk een deel. Een koppeling zorgt dat ze elkaars gegevens krijgen. Bestaat er een standaardkoppeling die volstaat, dan zeggen we dat; zo niet, dan bouwen we er een, met afspraken over wat er gebeurt als iets misgaat.

Een API-koppeling laat twee systemen gecontroleerd gegevens uitwisselen

Een API is de afgesproken ingang van een systeem: wat andere software mag opvragen, wat ze mag wijzigen, en met welke sleutel. Een koppeling gebruikt die ingangen om gegevens van het ene systeem naar het andere te brengen, bijvoorbeeld een betaalde bestelling van je webshop naar je boekhoudpakket.

Deze pagina is voor wie systemen heeft die niet met elkaar praten. Dat merk je aan overtypen, aan exportbestanden die elke week heen en weer gaan, of aan cijfers die in twee systemen net verschillen. Een koppeling kan ook los van een website of app van ons: je hoeft niets anders bij ons af te nemen.

Een standaardkoppeling is vaak genoeg

Een koppeling op maat past als

  • Er bestaat geen standaardkoppeling tussen jouw twee systemen

  • De standaardkoppeling mist velden of regels die voor jou tellen

  • Er zijn meer dan twee systemen betrokken en de volgorde doet ertoe

  • Je wilt kunnen zien wat er niet is doorgekomen, en waarom

Een koppeling op maat past minder goed als

  • Je webshop of je boekhoudpakket biedt al een koppeling die doet wat je nodig hebt

  • Een koppelingsdienst verbindt jouw pakketten al, tegen een abonnement dat past

  • Het gaat om een handvol gegevens per maand, die je sneller met de hand overzet

  • Een van de systemen heeft geen API en ook geen andere manier om gegevens uit te wisselen

Bestaat er een standaardkoppeling, dan helpen we hem kiezen en instellen, en zeggen we waar hij tekortschiet. Heeft een systeem geen API, dan bespreken we of een exportbestand of een ander systeem een uitweg is.

Vier afspraken voordat we een koppeling bouwen

Een koppeling gaat zelden mis op de techniek, vaker op wat niet was afgesproken. Deze vier punten liggen daarom vast voor de bouw.

Welk systeem de bron is

Voor elk gegeven spreken we af welk systeem leidend is. Staat de voorraad zowel in je voorraadsysteem als in je webshop, dan moet vastliggen welke van de twee klopt als ze verschillen. Anders overschrijven ze elkaar.

Welke kant de gegevens op gaan

Sommige gegevens gaan één kant op, zoals een bestelling van de webshop naar de boekhouding. Andere gaan heen en weer, zoals een klantadres dat op twee plekken gewijzigd kan worden. Verkeer in twee richtingen vraagt meer afspraken en meer testwerk.

Hoe je merkt dat er iets misgaat

Een koppeling kan haperen: een systeem is even onbereikbaar, een veld ontbreekt of een sleutel verloopt. We zorgen dat zo’n fout zichtbaar wordt, met een melding of een overzicht van wat niet is doorgekomen, en dat je het waar mogelijk opnieuw kunt laten versturen.

Hoe snel een wijziging doorkomt

Niet elke koppeling is realtime, dus direct op het moment van de wijziging. Sommige systemen melden een wijziging meteen, andere worden op vaste momenten opgevraagd, bijvoorbeeld elk kwartier of eens per nacht. Wat kan, hangt af van beide systemen; wat nodig is, van je proces.

Drie koppelingen die handwerk overbodig maken

Mogelijke toepassingen, geen uitgevoerde opdrachten. Bij elk staat waar het van afhangt.

Bestellingen die vanzelf in de boekhouding komen

Probleem

Na elke bestelling zet iemand het bedrag, de betaling en de btw met de hand over naar het boekhoudpakket. Een tikfout valt pas op bij de aangifte.

Oplossing

Een koppeling die elke betaalde bestelling als boeking of verkoopfactuur in je boekhoudpakket zet, met de juiste btw-code. Terugbetalingen gaan als creditnota mee.

Betrokken gegevens

Bestellingen, klantgegevens, bedragen per btw-tarief, betaalstatus en terugbetalingen.

Nut

Het overtypen verdwijnt, en je webshop en je boekhouding laten dezelfde cijfers zien.

Hangt af van

Of je boekhoudpakket een API heeft en wat die toestaat, of er al een standaardkoppeling is die volstaat, en hoe je boekhouder de boekingen wil ontvangen.

Voorraad uit één systeem, op elke plek dezelfde

Probleem

De voorraad staat in een voorraadsysteem, maar de webshop weet dat pas als iemand een export uploadt. Tussendoor verkoop je wat er niet meer is.

Oplossing

Een koppeling die voorraadwijzigingen uit het voorraadsysteem naar de webshop stuurt, en verkochte aantallen uit de webshop terugmeldt. Het voorraadsysteem blijft de bron.

Betrokken gegevens

Artikelnummers, voorraad per locatie, verkochte aantallen en eventueel verwachte leveringen.

Nut

De webshop toont wat er echt is, en je hoeft geen exportbestanden meer heen en weer te zetten.

Hangt af van

Of beide systemen dezelfde artikelnummers gebruiken, hoe snel het voorraadsysteem wijzigingen doorgeeft, en hoeveel artikelen er zijn.

Bezorgadressen die klaarstaan in de routeplanner

Probleem

Je bezorgt zelf. Elke ochtend kopieert iemand de adressen van de bestellingen van gisteren naar de routeplanner, en een gewijzigd bezorgmoment komt er niet altijd in.

Oplossing

Een koppeling die bestellingen met bezorging op een vast moment naar de routeplanner stuurt, met adres, tijdvak en opmerkingen. Is een rit gepland, dan kan de klant een bericht met het tijdvak krijgen.

Betrokken gegevens

Bestellingen met bezorgadres, gekozen tijdvak, opmerkingen van de klant en de status van de rit.

Nut

De planning begint met een complete lijst, en een wijziging van de klant komt vanzelf mee.

Hangt af van

Of de routeplanner een API heeft, op welk moment de lijst vast moet staan, en welke persoonsgegevens de routeplanner mag ontvangen.

Een koppeling heeft onderhoud nodig

Een koppeling is geen eenmalige klus. De systemen aan beide kanten veranderen, en de koppeling moet mee.

API’s veranderen

Platforms zetten oude ingangen uit en vragen nieuwe. Shopify bijvoorbeeld noemt zijn REST Admin API sinds oktober 2024 legacy en vraagt nieuwe apps de GraphQL Admin API te gebruiken. Wie een koppeling heeft, moet zulke wijzigingen volgen.

Sleutels verlopen of worden ingetrokken

Een koppeling werkt met sleutels of accounts die toegang geven. Worden die vervangen, dan moet de koppeling mee. We leggen vast waar ze staan en wie ze beheert.

Je proces verandert

Een nieuwe verzendmethode, een extra btw-tarief, een tweede magazijn: de koppeling moet het weten. Doorontwikkeling spreken we af, net als de controle of alles nog doorkomt.

Van twee systemen naar één stroom gegevens

  1. Systemen en gegevens in kaart. Welke systemen, welke gegevens, in welke richting en hoe vaak. Aan de hand van echte gevallen.

  2. Standaardkoppelingen nalopen. We kijken wat de systemen zelf aanbieden en welke koppelingsdiensten er zijn, en wat die niet doen.

  3. API’s beoordelen. We lezen de documentatie van beide API’s: wat kan, welke grenzen er zijn, en of er een testomgeving is.

  4. Afspraken vastleggen. Bron, richting, foutafhandeling en tempo, plus wie een melding krijgt als er iets niet doorkomt.

  5. Bouw en test. We bouwen eerst tegen testgegevens, daarna testen we met echte gevallen, ook de lastige: een ontbrekend veld, een dubbele bestelling, een systeem dat even niet reageert.

  6. Livegang en bewaking. De koppeling gaat live met een overzicht van wat er doorkomt en wat niet, en een beschrijving van wat je doet bij een storing.

Wat we nodig hebben voor een voorstel

Voor een koppeling gaat het voorstel over de systemen aan beide kanten.

  • De namen van de systemen, en welk abonnement je bij elk hebt

  • Welke gegevens moeten meegaan, en in welke richting

  • Of je al weet of de systemen een API hebben, of een standaardkoppeling

  • Een paar echte voorbeelden, zoals een bestelling en de boeking die eruit moet volgen

  • Wie bij jou toegang tot de systemen regelt

  • Pas bij de bouw: sleutels of accounts die jij aanmaakt en kunt intrekken. Stuur nooit wachtwoorden of sleutels via het formulier of per mail

Wat een koppeling kost, hangt af van beide kanten

Het pakket Apps & Automatisering op de prijspagina gaat uit van één hoofdproces met één koppeling met een extern systeem. Past je koppeling daar niet in, dan maken we een eigen voorstel. Deze factoren bepalen het bedrag, en de kosten per jaar staan ernaast.

  • Aantal systemen. Twee systemen zijn eenvoudiger dan drie die op elkaar wachten.

  • Richting. Eén richting is eenvoudiger dan gegevens die heen en weer gaan.

  • Kwaliteit van de API’s. Goed beschreven API’s met een testomgeving vragen minder uitzoekwerk dan API’s zonder.

  • Uitzonderingen. Terugbetalingen, deelleveringen, gewijzigde bestellingen: elke uitzondering moet worden afgehandeld en getest.

  • Bestaande gegevens. Of oude gegevens eerst opgeschoond of gelijkgetrokken moeten worden, zoals artikelnummers die niet overeenkomen.

Terugkerende kosten

  • Hosting van de koppeling

  • API- of abonnementskosten van de gekoppelde systemen

  • Kosten van een koppelingsdienst, als die deel uitmaakt van de oplossing

  • Onderhoud: API-wijzigingen volgen, controle en herstel

Bekijk wat er in Apps & Automatisering zit

Vragen over koppelingen

Kan ik een koppeling laten maken zonder website of app van jullie?

Ja. Een koppeling tussen je bestaande webshop en je boekhoudpakket, bijvoorbeeld, kan op zichzelf staan.

Hoe weet ik of mijn systemen een API hebben?

Vaak staat het in de documentatie of het helpcentrum van het pakket, onder woorden als API, ontwikkelaars of integraties. Weet je het niet, noem dan de pakketten; dat zoeken wij uit.

Wat als een van de systemen verandert of wordt vervangen?

Verandert de API, dan past de koppeling zich aan binnen de onderhoudsafspraak. Wordt een systeem vervangen, dan is dat een nieuwe kant van de koppeling en maken we er een voorstel voor.

Waar draait de koppeling?

Op hosting die we samen kiezen, op jouw naam of volgens afspraak. Wat de koppeling bewaart, beperken we tot wat nodig is om fouten te kunnen herstellen.

Koppelingen per platform, en maatwerk

Noem de systemen die niet met elkaar praten

Welke pakketten het zijn en wat er nu met de hand gebeurt, is genoeg om te beginnen. Dan kijken we eerst of er een standaardkoppeling is.