Kennisbank · Systeemintegratie
Een API-koppeling tussen ERP en andere systemen: wat komt erbij kijken?
Door Yvan de Wert · Bijgewerkt
Het ERP is in veel bedrijven het hart van de administratie, maar zelden het enige systeem. Er is een webshop, een planning, een boekhoudpakket, een klantportaal of een transporteur, en tussen al die systemen worden gegevens met de hand overgezet. Een API-koppeling maakt daar een einde aan. Hieronder staat wat zo'n koppeling is, welke keuzes u maakt en waar het in de praktijk op aankomt.
Wat een API-koppeling is
Een API is de vaste ingang die een systeem biedt aan andere software: een afgesproken manier om gegevens op te vragen of door te geven. Een koppeling gebruikt die ingang om twee systemen automatisch gegevens te laten uitwisselen. Een order uit de webshop komt dan vanzelf in het ERP, en een gewijzigde voorraad gaat terug naar de webshop, zonder dat iemand iets overtypt.
Het klinkt als een technisch detail, maar een koppeling is vooral een afspraak over uw proces: welk systeem is de baas over welke gegevens, wanneer gaat er iets heen en weer, en wat gebeurt er als het misgaat.
Veelvoorkomende koppelingen met een ERP
De vraag naar een koppeling ontstaat meestal op dezelfde plekken:
- Webshop en ERP: orders, klanten, prijzen en voorraad, zodat een order maar één keer wordt ingevoerd.
- Planning en ERP: orders en bewerkingen naar de planning, gereedmeldingen terug naar het ERP.
- Boekhouding en ERP: facturen, betalingen en grootboekboekingen zonder dubbele invoer.
- Klant- of leveranciersportaal: partners die zelf de status van een order of levering inzien.
- Transport en verzending: verzendlabels, track-and-trace en afleverbevestigingen.
De vragen die vooraf beantwoord moeten worden
De meeste problemen met koppelingen ontstaan niet in de code, maar in vragen die niemand vooraf heeft gesteld. Voordat er iets wordt gebouwd, hoort op deze punten een antwoord te liggen:
- Bron van waarheid. Welk systeem is leidend voor klanten, artikelen, prijzen en voorraad? Als twee systemen allebei mogen wijzigen, moet er een regel zijn voor wie wint.
- Richting. Gaan gegevens één kant op, of heen en terug? Tweerichtingsverkeer vraagt meer afspraken.
- Moment. Moet het direct, bij elke wijziging, of is een paar keer per dag genoeg? Niet alles hoeft realtime.
- Velden. Een klant in de webshop is niet hetzelfde als een debiteur in het ERP. Welk veld hoort bij welk veld, en wat als een veld aan één kant ontbreekt?
- Fouten. Wat gebeurt er met een order die niet klopt, of als een systeem even onbereikbaar is? Wie krijgt een melding, en hoe wordt het hersteld?
Wat bepaalt hoeveel werk het is
Hoeveel werk een koppeling is, hangt vooral af van drie dingen: of beide systemen een goed gedocumenteerde API hebben, hoeveel soorten gegevens er heen en weer gaan, en hoe zorgvuldig de foutafhandeling moet zijn.
Twee moderne pakketten met een goede API koppelen is overzichtelijk werk. Een ouder ERP zonder API vraagt meer: dan loopt de uitwisseling bijvoorbeeld via bestanden die op een vaste plek worden neergezet, of rechtstreeks via de database. Dat kan prima werken, maar vraagt extra aandacht voor wat er gebeurt als het ERP wordt bijgewerkt.
Standaardconnector of maatwerkkoppeling?
Voor veel populaire pakketten bestaan kant-en-klare connectoren of integratieplatforms. Die zijn een goede keuze als uw situatie past bij wat de connector aanneemt: standaardvelden, een standaardproces, weinig uitzonderingen.
Een maatwerkkoppeling is zinvol als uw proces afwijkt, als er logica tussen de systemen moet zitten, zoals het splitsen van een order over meerdere vestigingen of het omrekenen van eenheden, of als een van de systemen geen standaardconnector heeft. Vaak is een combinatie het verstandigst: een connector waar het kan, maatwerk waar het moet.
Een koppeling is nooit klaar
Systemen worden bijgewerkt, API's veranderen en uw proces groeit. Een goede koppeling houdt daar rekening mee: ze legt vast wat er is uitgewisseld, meldt het als iets misgaat, en is zo gebouwd dat een wijziging aan één kant niet alles stillegt. Spreek daarom vooraf af wie de koppeling bewaakt en onderhoudt, en hoe u merkt dat er iets hapert voordat een klant het merkt.
Zo pak ik een koppeling aan
Ik begin met in kaart brengen welke gegevens waar vandaan komen en waar ze naartoe moeten, en welk systeem waarvoor leidend is. Daarna ontwerp ik de koppeling, inclusief wat er gebeurt als iets misgaat. U ziet het plan voordat er code wordt geschreven.
Ik bouw de koppeling in stappen en test elke stap voordat ze live gaat, zodat de systemen die goed werken gewoon blijven draaien. Na de oplevering blijf ik beschikbaar voor onderhoud, ook als een van de systemen wordt bijgewerkt.
Veelgestelde vragen
- Mijn ERP heeft geen API. Kan ik het dan toch koppelen?
- Vaak wel. Veel oudere systemen kunnen bestanden importeren en exporteren, of hebben een database die rechtstreeks kan worden uitgelezen. Dat vraagt meer zorg dan een koppeling via een API, maar is in de praktijk goed te doen. Of het bij uw systeem kan, wordt in het eerste gesprek duidelijk.
- Moet een koppeling realtime zijn?
- Niet altijd. Voorraad in een webshop wilt u snel bijwerken, maar facturen naar de boekhouding kunnen prima een paar keer per dag. Hoe vaker en sneller, hoe meer de koppeling moet kunnen opvangen, dus het loont om per soort gegevens te kiezen.
- Wat gebeurt er als een van de systemen een update krijgt?
- Dan kan de koppeling geraakt worden, vooral als de API verandert. Een goede koppeling meldt het direct als er iets misgaat, zodat het snel wordt hersteld. Spreek vooraf af wie dat onderhoud doet.
Welke systemen wilt u laten samenwerken?
In een gratis kennismakingsgesprek van 30 minuten kijk ik met u naar uw systemen en waar nu met de hand wordt overgezet. Het hoeft niet gepolijst te zijn.
Plan een gratis kennismakingsgesprek