API of geen API: hoe koppel je software die dicht zit?

Wij (Jurjen en Albert-Jan, zwagers) bouwen koppelingen tussen softwarepakketten. De eerste vraag is altijd: heeft het pakket een API? Zo ja, dan is het meestal rechttoe rechtaan.
De basis

Wat een API eigenlijk is

Zo nee, dan zoeken we een andere ingang. Die is er bijna altijd.

Een API is de officiële ingang van een softwarepakket. Andere software mag er gegevens ophalen of aanleveren, volgens afspraken die de maker heeft vastgelegd. Moderne pakketten als Exact Online, AFAS en Gripp hebben er een. Voor ons is dat de kortste route: we halen de data op waar die nodig is en er hoeft niemand iets over te typen.

Veel software zit dicht

Vooral oudere branchesoftware heeft vaak geen API. Het pakket draait lokaal of bij een hostingpartij, de data zit erin en komt er alleen uit via het scherm of een export. Overstappen op iets moderns is een groot project, en vaak doet het pakket verder gewoon wat het moet doen. Dan wil je koppelen met wat er is. De afgelopen maanden zagen we dat bij een keukenzaak, een beddenzaak en een houtverwerker: prima pakketten, alleen komt de data er niet vanzelf uit.

Vijf routes

De ingangen die er bijna altijd zijn

Geen API betekent zelden dat er niets kan. Dit zijn de routes die wij in de praktijk gebruiken:

Heeft je pakket een API? Ja: API-koppeling. Nee: exports, imports, inleesmailbox, database of documenten uitlezen. De vijf routes als een pakket geen API heeft.

01
Exports
Lijsten uit het pakket halen.
02
Imports
Bestanden in een vast formaat inlezen.
03
De inleesmailbox
Documenten per e-mail aanleveren.
04
De database
Lokaal en alleen in overleg uitlezen.
05
Documenten uitlezen
PDF's en rapporten verwerken.

Exports. Bijna elk pakket kan lijsten exporteren naar Excel of CSV. Vaak kan dat gepland, elke nacht automatisch. Wij pakken zo'n bestand op en verwerken het verder.

Imports. Veel pakketten kunnen zelf bestanden inlezen, bijvoorbeeld uit een vaste map op de server. Wij maken het bestand precies in het formaat dat het pakket verwacht en zetten het daar automatisch neer. Soms moet de leverancier die importfunctie eerst aanzetten. Bij een pakket op een gedeelde server is dat meestal een klus die zij in rekening brengen; hou daar rekening mee.

De inleesmailbox. Veel boekhoudpakketten hebben een e-mailadres waar je PDF's naartoe stuurt die dan automatisch worden ingelezen. Wij maken het document en mailen het erheen. Zo werkt onze pakbon-naar-factuur-flow bij pakketten zonder API.

De database. Draait het pakket lokaal, dan is er soms rechtstreeks toegang tot de database mogelijk. Dat doen we altijd in overleg met de leverancier.

Het scherm. Zit alles dicht, dan kan een softwarerobot het werk doen zoals een medewerker het doet: inloggen, klikken, typen. Met een controle vooraf en een verificatie achteraf.

Documenten uitlezen. Komt de data alleen als PDF of rapport naar buiten, dan lezen we die documenten uit met AI. Regels waar de uitlezing niet zeker over is, gaan naar een controlelijst in plaats van rechtstreeks je systeem in. Zo werken we ook met leveranciersprijslijsten.

Praktijk

Zo ging dat bij anderen

Winkel van i-Kook Keukens in Leiderdorp

Bij i-Kook Keukens (Simar) leest onze nacalculatie-tool de verkoopregels en de inkoopfacturen uit het pakket en legt die per order naast elkaar. De eerste werkende versie stond er binnen 40 uur.

Bij een beddenzaak komen de prijslijsten van leveranciers als Excel en PDF binnen. Die zetten we om naar één vast bestand dat in een map op de server wordt klaargezet, waarna het pakket het 's nachts inleest.

En voor facturen naar een boekhouding zonder API gebruiken we de inleesmailbox: het systeem maakt de factuur als PDF en mailt hem naar het inleesadres. Niemand wacht op de softwareleverancier.

Wat we ook leerden: vraag het na. Verrassend vaak heeft een pakket of leverancier wél een export of zelfs een API, alleen heeft er nooit iemand om gevraagd.

Vergelijking

Welke route wanneer

RouteGeschikt alsWat je nodig hebtLet op
APIhet pakket er een heefttoegang of een sleutel van de leveranciersoms extra kosten per maand
Exportdata eruit moeteen geplande export naar een mapkolommen die verschuiven na een update
Importdata erin moetimportfunctie aan en een vast formaatde leverancier moet het soms inrichten
Inleesmailboxhet om documenten gaat, zoals facturen of bonnenhet inleesadres van je pakketalleen voor documenten, niet voor losse data
Databasehet pakket lokaal draaittoestemming en toegangalleen lezen, nooit schrijven
Documenten uitlezener alleen PDF's zijnde documenten zelfeen controlelijst voor twijfelgevallen
Zelf controleren

Zo check je zelf wat jouw pakket kan

Menu's

Kijk in de menu's naar "Exporteren", "Importeren" of "Rapporten". Staat het erin, dan is er een ingang.

Leverancier

Vraag je leverancier letterlijk: "Hebben jullie een API, of een importfunctie voor bestanden?" En vraag om de documentatie.

Locatie

Weet waar het pakket draait: op je eigen server, bij een hostingpartij, of in de cloud. Dat bepaalt welke routes open staan.

Inleesmailadres

Check of je boekhouding een inleesmailadres heeft.

Voorbeeldexport

Maak één voorbeeldexport en stuur 'm ons. Daar zien we in tien minuten aan wat er kan.

Betrouwbaarheid

Waar het misgaat

Een koppeling zonder API werkt met bestanden, en bestanden veranderen. Een leverancier voegt een kolom toe, een decimaalpunt wordt een komma, een artikelnummer komt twee keer voor, of de export draait net ná de import. Daarom bouwen we altijd controle in: de flow checkt wat er binnenkomt en stuurt een melding als iets afwijkt van wat we verwachten. Een stille fout is erger dan een foutmelding.

Hoe wij zo'n koppeling aanpakken

We beginnen bij de vraag achter de koppeling: welke informatie moet waar terechtkomen, en hoe vaak. Dan kijken we welke ingang het pakket heeft en overleggen we waar nodig met de leverancier. Daarna bouwen we de koppeling en laten die eerst een tijdje meedraaien naast je huidige manier van werken, zodat je kunt vergelijken of alles klopt voordat je erop vertrouwt.

Meer weten

Een koppeling is zelden het doel op zich. Meestal gaat het om grip op je cijfers of je artikeldata. Lees ook wat is een margelek en offertes automatisch berekenen.

Benieuwd wat er bij jou uit komt?

In 20 minuten laten we het draaien op je eigen cijfers. Vraag naar Jurjen Rijsdijk, jurjen@flowbros.nl.

Jurjen RijsdijkAlbert-Jan van der Meij

Jurjen en Albert-Jan

Bro-owners van Flowbros

Bel of mail Jurjen even:

M+31 6 40 88 93 71Ejurjen@flowbros.nl

Vragen

Veelgestelde vragen