Uw boekhouding koppelen aan uw website of software
Facturen overtypen uit uw webshop of uw urenregistratie is werk dat software kan overnemen. Zo werkt een koppeling met uw boekhoudpakket, en hier let u op voordat u er een laat bouwen.
Wat een API is, in gewone taal
Een API is een ingang die een softwarepakket openzet voor andere software. Waar u inlogt via een scherm, meldt uw webshop of urenregistratie zich via die ingang aan, met een eigen sleutel. Daarna kan die software gegevens opvragen en wegschrijven, binnen de rechten die bij de sleutel horen.
Voor uw boekhouding betekent dat: uw webshop kan zelf een factuur aanmaken in uw pakket, en uw software kan in het pakket zien dat die factuur betaald is. Er hoeft niemand meer over te typen, en overtypen is precies waar de fouten ontstaan.
Elke koppeling tussen twee systemen loopt via zo'n ingang. De vraag is dus vooral of uw pakket de ingang aanbiedt en wat er doorheen mag.
Deze pakketten hebben een API
Vijf pakketten die in het Nederlandse mkb veel voorkomen, bieden allemaal een API met openbare documentatie. Hoe u toegang krijgt, verschilt per pakket.
| Pakket | API | Goed om te weten |
|---|---|---|
| Exact Online | REST-API met webhooks, naast een oudere XML-API | Exact heeft een eigen ontwikkelaarsportaal en een appstore met kant-en-klare koppelingen. |
| Moneybird | REST-API | Voor uw eigen administratie maakt u zelf een persoonlijk token aan; een app voor derden registreert u bij Moneybird. |
| e-Boekhouden.nl | REST-API, naast een oudere SOAP-variant | De technische documentatie staat openbaar online. |
| AFAS | REST-connectoren: GetConnectors lezen, UpdateConnectors schrijven | Een beheerder bepaalt in de AFAS-omgeving zelf welke gegevens een koppeling mag lezen en schrijven. |
| SnelStart | REST-API via een ontwikkelaarsportaal | Toegang vraagt u aan bij SnelStart; voor een productiekoppeling is OAuth verplicht en beoordeelt SnelStart de koppeling eerst. |
Wat zo'n koppeling in de praktijk doet
De meeste koppelingen draaien om een klein aantal stromen. Welke u nodig hebt, hangt af van waar het overtypen nu zit.
Let bij het ontwerp op de richting. Eén kant op is eenvoudig en voorspelbaar. Twee kanten op kan ook, maar dan moet vastliggen welk systeem wint als beide tegelijk iets wijzigen.
- Facturen wegschrijven: een bestelling in uw webshop of een afgerond project in uw software wordt vanzelf een factuur of boeking in uw pakket
- Betaalstatus terug: uw software ziet in het pakket dat een factuur betaald is en werkt de order of het dossier bij
- Klanten en producten synchroniseren: één plek is de bron, zodat een adreswijziging niet op drie plekken hoeft
- Uren exporteren: geschreven uren gaan als factuurregels of boekingen naar het pakket, per periode of per project
Controleer eerst uw abonnement
API-toegang zit niet in elk plan. Sommige pakketten leveren de API in elk abonnement mee, andere alleen in de hogere plannen of als aparte optie, en weer andere geven pas toegang na een aanvraag. Controleer dat voordat er iets gebouwd wordt, want zonder die toegang valt er niets te koppelen.
- Zit API-toegang in uw abonnement, of alleen in een hoger plan of als losse optie
- Wie de administratie beheert: staat die op het abonnement van uw boekhouder, dan regelt u de toegang samen met uw boekhouder
- Hoe u aan een sleutel komt: bij het ene pakket maakt u die zelf aan, bij het andere vraagt u hem aan en wordt de koppeling eerst beoordeeld
- Welke rechten de sleutel krijgt: alleen lezen waar lezen volstaat, zodat een fout in de koppeling geen boekingen kan wijzigen
Wat een koppeling robuust maakt
Een koppeling die alleen werkt als alles meezit, kost meer dan hij oplevert. Het verschil zit in wat er gebeurt als het tegenzit.
Fouten moeten zichtbaar zijn. Een factuur die het pakket weigert, bijvoorbeeld door een ontbrekende btw-code of een onbekende klant, hoort in een lijst te komen die iemand ziet. Een koppeling die fouten stil laat vallen, geeft maandenlang het gevoel dat alles klopt.
Het pakket ligt er soms even uit, en uw eigen software soms ook. Een goede koppeling zet de boeking dan in een wachtrij en probeert het later opnieuw. Er gaat niets verloren en niemand hoeft bij te houden wat er tijdens de storing gebeurde.
En opnieuw proberen mag nooit dubbel boeken. Daarvoor stuurt de koppeling bij elke boeking een eigen kenmerk mee, of controleert hij eerst of de boeking al bestaat. Dubbele facturen vallen pas op als een klant belt of als de btw-aangifte niet klopt, en dan is het uitzoekwerk.
Zelf laten bouwen of een tussenlaag als Zapier
Tussen twee pakketten kunt u ook een tussenlaag zetten, zoals Zapier of Make. U klikt daar een stroom in elkaar zonder te programmeren: als er in systeem A iets gebeurt, doe dan in systeem B dit. Voor een eenvoudige stroom, zoals elke nieuwe bestelling als conceptfactuur klaarzetten, is dat soms de betere keuze en dan zeggen we dat ook.
Er staat wel wat tegenover. Uw gegevens lopen via de servers van die tussenlaag, dus uw klant- en factuurgegevens gaan langs een extra partij. U betaalt per maand en per aantal taken, en dat loopt op met uw volume. En de stroom leunt op elke schakel: wijzigt een van de twee pakketten een veld, dan stopt de stroom en merkt u dat vaak pas later.
Maatwerk legt de logica in uw eigen software, met de foutafhandeling uit het vorige blok en zonder derde partij tussen uw administratie en uw systeem. Dat loont als de stroom meer moet dan doorgeven: controleren, samenvoegen, wachten op een betaling of gegevens uit meerdere bronnen combineren.
Wij bouwen zulke koppelingen als onderdeel van maatwerksoftware en webshops, rechtstreeks tegen de API's hierboven. Dat werkt zoals al ons werk: een vaste prijs na een gratis kennismaking.
Bronnen
Veelgestelde vragen
Welk pakket koppelt het makkelijkst?
Met Moneybird kunt u voor uw eigen administratie snel beginnen: u maakt zelf een token aan. Bij AFAS zet een beheerder eerst connectoren klaar en bij SnelStart vraagt u toegang aan. Kies uw pakket op uw boekhouding en uw boekhouder; alle vijf zijn goed te koppelen.
Onze boekhouder werkt met een van deze pakketten. Moeten we overstappen voor een koppeling?
Meestal niet. Een koppeling bouwt u tegen het pakket dat er al staat, en uw boekhouder houdt de eigen werkwijze. Overleg wel vooraf: de administratie staat vaak op het abonnement van de boekhouder, en dan regelt u de API-toegang samen.
Wat gebeurt er als het boekhoudpakket er even uit ligt?
Bij een goed gebouwde koppeling weinig. De boekingen wachten in een rij en gaan alsnog door zodra het pakket terug is. Vraag daar expliciet naar bij wie uw koppeling bouwt, want dit deel ziet u niet in een demo.
Kan een koppeling dubbele boekingen veroorzaken?
Ja, als hij simpel gebouwd is: een storing halverwege en een nieuwe poging leveren dan twee facturen op. Daarom stuurt een goede koppeling per boeking een eigen kenmerk mee, of controleert hij eerst of de boeking al bestaat.
Is Zapier niet gewoon genoeg?
Voor een eenvoudige stroom in één richting vaak wel, en dan zeggen we dat. Maatwerk loont als de stroom logica nodig heeft, als het volume groeit of als u niet wilt dat uw administratie via een extra partij loopt.
Bouwen jullie ook een koppeling los van een groter project?
Ja. Een koppeling tussen bestaande software en een van deze pakketten kan een project op zichzelf zijn. In een gratis kennismaking kijken we eerst naar uw pakket, uw abonnement en de stroom die u wilt, en daarna krijgt u een vaste prijs.
Ons pakket staat niet in het rijtje. Kan het dan ook?
Als het pakket een API met documentatie heeft, meestal wel. Dat zoeken we in de kennismaking als eerste uit, want daar staat of valt het plan mee.