De belangrijkste punten
- Een API-koppeling laat je software rechtstreeks facturen, betalingen en relaties uitwisselen met je boekhoudpakket.
- Exact Online, Twinfield, Moneybird en e-Boekhouden hebben elk een eigen API; het ontwerp verschilt per pakket.
- Beveiliging draait om beperkte rechten, veilig opgeslagen sleutels en een logboek van elke wijziging.
- Dubbele boekingen voorkom je met een uniek kenmerk per transactie en een koppeling die veilig opnieuw kan draaien.
- Geen API? Dan zijn bestandsuitwisseling of browser-automatisering vaak een werkbaar alternatief.
In het kort
Je boekhouding koppelen aan je eigen software betekent dat de twee systemen rechtstreeks met elkaar praten via een API: een afgesproken manier om gegevens op te vragen en weg te schrijven. Een verkooporder in je software wordt dan automatisch een factuur in Exact Online, Twinfield, Moneybird of e-Boekhouden, en een betaling in de boekhouding is meteen zichtbaar in je eigen dossier. De koppeling werkt met een autorisatie die je zelf verleent en op elk moment kunt intrekken. Het bouwen vraagt aandacht voor mapping, dubbele boekingen en beveiliging, maar daarna verdwijnt het overtypen en heb je actuele cijfers zonder te wachten op de maandafsluiting.
Hoe een API-koppeling werkt
Een API is niets anders dan een deur met huisregels. Je boekhoudpakket zet die deur open voor software die zich netjes heeft aangemeld, en spreekt af in welk formaat je iets mag vragen of afgeven. Praktisch zijn er vier onderdelen die je in bijna elke koppeling terugziet.
1. Autorisatie
Je logt niet met je eigen wachtwoord in vanuit de software. De meeste pakketten werken met een autorisatiestroom waarbij jij als beheerder eenmalig toestemming geeft, waarna de software een sleutel krijgt voor die ene administratie. Die sleutel verloopt en wordt automatisch vernieuwd. Trek je de toestemming in, dan stopt de koppeling direct.
2. Lezen en schrijven
Lezen is het opvragen van gegevens: relaties, openstaande posten, grootboekrekeningen, betalingen. Schrijven is het aanmaken of wijzigen ervan: een factuur boeken, een relatie toevoegen, een betaling afletteren. Een goede koppeling begint met lezen. Pas als je zeker weet dat je de gegevens goed interpreteert, ga je schrijven.
3. Weten wanneer er iets verandert
Sommige pakketten kunnen je software een seintje geven als er iets wijzigt, een zogenoemde webhook. Andere niet; dan haalt je software periodiek op wat er nieuw is, bijvoorbeeld elke paar minuten. Beide werken, maar het bepaalt hoe actueel je cijfers zijn en hoeveel verkeer je veroorzaakt.
4. Limieten
Elke API heeft een maximum aan verzoeken per minuut of per dag. Een koppeling die daar geen rekening mee houdt, valt op drukke momenten stil. Daarom bouw je wachtrijen en herhaalpogingen in, zodat een tijdelijke weigering geen verloren factuur wordt.
Exact Online, Twinfield, Moneybird en e-Boekhouden
De vier pakketten die wij het vaakst koppelen, hebben elk een eigen karakter. Welk pakket het beste bij je past, hangt af van je accountant, je branche en je wensen, niet van de koppeling.
- Exact Online werkt met administraties (divisies) en een uitgebreid datamodel. Er kan veel, en er is dus ook veel om rekening mee te houden, zoals de precieze btw-codes en dagboeken per administratie.
- Twinfield wordt veel gebruikt door accountantskantoren en werkt met een strak boekhoudkundig model. Je stemt vaak met de accountant af wie welke boekingen aanmaakt.
- Moneybird is gericht op kleinere ondernemers, met een overzichtelijke API die goed aansluit op facturatie en het bijhouden van betalingen.
- e-Boekhouden is eveneens populair in het kleinere MKB en biedt een API voor de basisboekingen, relaties en facturen.
Het verschil zit vooral in hoe ze omgaan met autorisatie, in welke objecten je mag schrijven en of ze webhooks bieden. Dat is het huiswerk dat een bouwer per pakket moet doen. Onze eigen module Dosya Finance praat met alle vier en haalt daarnaast banktransacties op via PSD2, alleen-lezen.
Wat je automatiseert met een boekhoudkoppeling
Een koppeling is pas nuttig als je weet welk werk je ermee weghaalt. Dit zijn de stromen die wij het vaakst automatiseren, in de volgorde waarin ze meestal de meeste tijd besparen.
| Stroom | Van | Naar | Wat je bespaart |
|---|---|---|---|
| Verkoopfacturen | Order of dossier in je software | Factuur in de boekhouding | Overtypen, verkeerde bedragen, vergeten facturen |
| Betalingen | Afgeletterde post in de boekhouding | Status in je software | Handmatig checken of er betaald is |
| Debiteurenbeheer | Openstaande posten | Herinneringen en signalen | Te late opvolging, gemiste betalingen |
| Relaties | Klant in je CRM of portaal | Relatie in de boekhouding | Dubbele klantkaarten, adresverschillen |
| Inkoopfacturen | PDF uit de mailbox | Inkoopboeking met bijlage | Scannen, invoeren, zoeken |
| Rapportage | Grootboek en openstaande posten | Dashboard in je software | Wachten op de maandcijfers |
Facturen: begin hier
Verkoopfacturen zijn bijna altijd de eerste stroom: de gegevens zijn gestructureerd en de winst is direct zichtbaar. Je software stelt de factuur samen, de koppeling boekt hem, en het factuurnummer komt terug in je dossier.
Betalingen: de andere kant op
De boekhouding weet als eerste dat er betaald is. Door die status terug te halen, ziet je team in het eigen systeem dat een dossier is afgerekend. Dat is ook de basis voor geautomatiseerd debiteurenbeheer: een herinnering die pas gaat als er echt niet betaald is.
Inkoopfacturen: combineer met documentverwerking
Inkoopfacturen komen als PDF binnen. Om ze te boeken moet iemand ze eerst lezen. Combineer de koppeling met AI-documentverwerking en de factuur wordt uitgelezen, gecontroleerd en als conceptboeking klaargezet.
Beveiliging en sleutels
Een boekhoudkoppeling raakt aan gevoelige gegevens: omzet, klanten, betalingen. Dit zijn de afspraken die wij standaard maken en die je van elk bureau mag verwachten.
- Zo min mogelijk rechten. Vraag alleen toegang tot wat de koppeling nodig heeft. Een koppeling die alleen facturen boekt, hoeft geen salarisgegevens te kunnen lezen.
- Sleutels nooit in de code. Toegangssleutels staan versleuteld in een aparte kluis op de server, niet in een configuratiebestand dat in de broncode belandt.
- Eén sleutel per administratie. Werk je met meerdere administraties of klanten, dan krijgt elk een eigen autorisatie. Eén lek raakt dan niet alles.
- Logboek van elke schrijfactie. Wie of wat heeft welke boeking aangemaakt, wanneer, met welke gegevens. Dat is je bewijs bij een verschil met de accountant.
- Bankgegevens alleen-lezen. Voor banktransacties werk je via PSD2 met een alleen-lezen machtiging. Je software kan dan zien wat er binnenkomt, maar nooit iets overmaken.
- Hosting in de EU en een verwerkersovereenkomst. De koppeling verwerkt persoonsgegevens van klanten. Leg vast waar die staan en wie ervoor verantwoordelijk is.
Valkuilen die we vaak tegenkomen
De techniek van een koppeling is zelden het probleem. De inhoud wel. Dit zijn de plekken waar we het vaakst iets moeten repareren.
Dubbele boekingen
Een verzoek gaat de deur uit, het antwoord komt door een netwerkfout niet terug, en de software probeert het opnieuw. Resultaat: twee facturen. De oplossing is dat elke transactie een uniek kenmerk uit je eigen software meekrijgt, zodat de koppeling herkent dat de boeking al bestaat en veilig opnieuw kan draaien.
Wie is de bron van waarheid
Als een klantadres zowel in je software als in de boekhouding kan worden aangepast, wint uiteindelijk niemand. Spreek per gegeven af welk systeem leidend is en laat de koppeling maar één kant op schrijven.
Mapping van btw en grootboek
Een factuurregel moet op de juiste grootboekrekening en met de juiste btw-code terechtkomen. Die mapping leg je vast in een tabel die de administratie zelf kan beheren, niet in de code. Verandert er een rekening, dan hoeft er niets gebouwd te worden.
Afgesloten periodes en correcties
Een boeking in een periode die de accountant al heeft afgesloten, wordt geweigerd. Een koppeling moet daar netjes mee omgaan: melden, niet stilletjes falen. Hetzelfde geldt voor creditnota's en correcties; die zijn in elk pakket net anders.
Wat als er geen API is
Niet elk pakket biedt een API, en soms biedt de API net niet wat je nodig hebt. Dan zijn er drie routes, in volgorde van voorkeur.
- Bestandsuitwisseling. Veel pakketten kunnen boekingen importeren uit een bestand, bijvoorbeeld in een vast kolomformaat of als UBL-factuur. Je software maakt het bestand, iemand leest het in. Niet realtime, wel betrouwbaar en goed te controleren.
- E-mail met een gestructureerde bijlage. Sommige pakketten verwerken facturen die je naar een speciaal adres mailt. Handig voor inkoop, minder voor de rest.
- Browser-automatisering. Software die het pakket bedient zoals een medewerker dat zou doen: inloggen, scherm openen, velden invullen. Het werkt, maar is gevoelig voor wijzigingen in het pakket en je moet de gebruiksvoorwaarden controleren. Wanneer het verantwoord is, lees je in wat is browser-automatisering; wij bieden het als aparte dienst: browser-automatisering zonder API.
Zo begin je
Een boekhoudkoppeling begint niet bij de techniek maar bij je administratie. Dit is de volgorde die in onze projecten het beste werkt.
- Schrijf op welke gegevens nu handmatig heen en weer gaan, hoe vaak en door wie. Dat is je lijst met kandidaat-stromen.
- Kies er één, bijna altijd verkoopfacturen. Beschrijf per veld waar het vandaan komt en waar het naartoe moet.
- Betrek je accountant of boekhouder vroeg. Zij weten welke dagboeken, btw-codes en grootboekrekeningen je gebruikt en wat er niet mag.
- Laat de bouwer eerst alleen lezen. Vergelijk een maand lang wat de koppeling ziet met wat er in het pakket staat.
- Zet daarna het schrijven aan voor die ene stroom, met logboek en een dagelijkse controle op verschillen.
- Breid uit per stroom: betalingen, relaties, inkoop. Elke stap moet op zichzelf iets opleveren.
Meer over hoe wij systemen aan elkaar knopen, ook buiten de boekhouding, lees je op koppelingen en API's. Voorbeelden van processen die daarna vanzelf gaan lopen vind je in procesautomatisering: concrete voorbeelden.


