API of geen API: hoe koppel je software die dicht zit?
Jurjen Rijsdijk
Flowbros · automatisering voor het MKB
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. Zo nee, dan zoeken we een andere ingang. Die is er bijna altijd.
Wat een API eigenlijk is
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.
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:
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.
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.
Zo ging dat bij anderen
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.
Welke route wanneer
| Route | Geschikt als | Wat je nodig hebt | Let op |
|---|---|---|---|
| API | het pakket er een heeft | toegang of een sleutel van de leverancier | soms extra kosten per maand |
| Export | data eruit moet | een geplande export naar een map | kolommen die verschuiven na een update |
| Import | data erin moet | importfunctie aan en een vast formaat | de leverancier moet het soms inrichten |
| Inleesmailbox | het om documenten gaat, zoals facturen of bonnen | het inleesadres van je pakket | alleen voor documenten, niet voor losse data |
| Database | het pakket lokaal draait | toestemming en toegang | alleen lezen, nooit schrijven |
| Documenten uitlezen | er alleen PDF's zijn | de documenten zelf | een controlelijst voor twijfelgevallen |
Zo check je zelf wat jouw pakket kan
- Kijk in de menu's naar "Exporteren", "Importeren" of "Rapporten". Staat het erin, dan is er een ingang.
- Vraag je leverancier letterlijk: "Hebben jullie een API, of een importfunctie voor bestanden?" En vraag om de documentatie.
- Weet waar het pakket draait: op je eigen server, bij een hostingpartij, of in de cloud. Dat bepaalt welke routes open staan.
- Check of je boekhouding een inleesmailadres heeft.
- Maak één voorbeeldexport en stuur 'm ons. Daar zien we in tien minuten aan wat er kan.
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.
Verder lezen
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 Rijsdijk
Flowbros — ondernemer & procesdenker
Albert-Jan bouwt de techniek, ik kijk mee waar je tijd weglekt. Even sparren kan altijd.
jurjen@flowbros.nl