Systemen
e-Boekhouden koppeling met je webshop: facturen, betalingen en relaties in je administratie
Een e-Boekhouden koppeling zet elke webshoporder als factuur of boeking in e-Boekhouden.nl, met een vaste btw-code, de juiste grootboekrekening en de betaling afgeletterd op het factuurnummer. De REST API werkt met een API-token en een kortlevend sessietoken, en heeft eigen regels voor factuurnummers, artikelcodes en afgesloten perioden die een webshop niet kent.
Wat is e-Boekhouden.nl en wie gebruikt het?
e-Boekhouden.nl is een Nederlands online boekhoudprogramma, met een Belgische variant op e-Boekhouden.be. Het richt zich op ondernemers, verenigingen en stichtingen, en op accountants die administraties van klanten voeren. Naast boekhouden heeft het facturatie, relatiebeheer, offertes, urenregistratie en een ledenadministratie.
Voor een webshop is e-Boekhouden de plek waar omzet en betalingen landen. Het pakket kent artikelen, relaties en grootboekrekeningen, maar geen orders en geen voorraadaantallen in de API. Een e-Boekhouden koppeling is dus een stroom van verkoop en betalingen naar de boekhouding. Heb je voorraad uit een centraal systeem nodig, kijk dan op ERP koppeling met je webshop.
Wat je met e-Boekhouden koppelt
| Stroom | Richting | Wat er in e-Boekhouden ontstaat |
|---|---|---|
| Orders | webshop naar e-Boekhouden | factuur (/v1/invoice) met mutatie, of alleen een mutatie van type 2, factuur verstuurd |
| Klanten | webshop naar e-Boekhouden | relatie, type B zakelijk of P particulier |
| Betalingen | webshop of betaalprovider naar e-Boekhouden | mutatie van type 3, factuurbetaling ontvangen, op het factuurnummer |
| Artikelen | webshop naar e-Boekhouden | artikel met code, btw-code en grootboekrekening |
| Openstaande posten | e-Boekhouden naar de koppeling | /v1/mutation/invoice/outstanding, per factuurnummer |
Het verschil tussen factuur en mutatie bepaalt wat je ziet. Een factuur is een document met een sjabloon dat e-Boekhouden kan mailen, met UBL-bijlage als je wilt. Een mutatie is alleen de boeking. Verstuurt de webshop zelf de factuur, dan volstaat een mutatie. Wil je dat de factuur uit e-Boekhouden komt, dan maakt de koppeling een factuur met een mutation-object, zodat hij ook geboekt wordt. Welke stromen bij een order horen staat op orders, klanten en verzending.
Hoe e-Boekhouden data vrijgeeft
Een API-token en een sessietoken
e-Boekhouden heeft een REST API, versie 1, met een openbare OpenAPI-beschrijving. Je maakt een API-token aan in de instellingen van je account. Dat token zie je één keer, bij het aanmaken. De koppeling wisselt het in voor een kortlevend sessietoken:
POST /v1/session HTTP/1.1
Host: api.e-boekhouden.nl
Content-Type: application/json
{"accessToken": "<API-token>", "source": "Webshop"}
Het veld source is verplicht en mag maximaal 10 tekens bevatten, letters, cijfers, liggende streepjes en spaties; een streepje geeft API_SESSION_002. Het antwoord bevat token en expiresIn, het aantal seconden dat de sessie geldig is. Elk volgend verzoek draagt het sessietoken in de header Authorization, zonder het woord Bearer ervoor. Een ontbrekend of ongeldig token geeft SECURITY_010. De koppeling vraagt een nieuwe sessie aan voordat expiresIn om is, vanuit één proces, zodat twee taken elkaars sessie niet ongeldig maken. Naast de REST API draait nog de oudere SOAP-webservice op soap.e-boekhouden.nl; nieuwe koppelingen bouwen we op REST.
Limieten en paginering
| Gegeven | Waarde |
|---|---|
| Per pagina | limit standaard 100, tussen 1 en 2.000 |
| Regels per factuur of mutatie | maximaal 500 |
| Factuurnummer | maximaal 50 tekens, eindigt op een cijfer |
| Relatiecode | maximaal 15 tekens, automatisch als je hem leeg laat |
| Artikelcode | maximaal 20 tekens |
| Rate limit | niet gedocumenteerd in de OpenAPI-beschrijving |
De bron is de API-documentatie van e-Boekhouden.nl, nagelezen op 3 oktober 2026.
Omdat er geen limiet gedocumenteerd is, doseert de koppeling zelf. Met 2.000 per pagina is het inlezen van 4.500 relaties drie verzoeken: 2.000, 2.000 en 500. Een bestaande administratie met 4.500 relaties is dus in seconden bekend, en de koppeling kan daarna lokaal op e-mailadres zoeken in plaats van per order een zoekverzoek te doen.
Foutcodes met een naam
Elke weigering heeft een code, en die code staat in de documentatie. Dat maakt e-Boekhouden prettig om op te bouwen: de koppeling kan per code beslissen wat er gebeurt.
| Code | Betekenis | Wat de koppeling doet |
|---|---|---|
FACT_009 |
factuurnummer eindigt niet op een cijfer | order naar de controlelijst, nummer niet aangepast |
FACT_101 |
factuurnummer al in gebruik | eerst zoeken of de order al geboekt is, geen tweede factuur |
FACT_VERWERK_001 |
factuurdatum in een afgesloten periode | order vasthouden tot jij kiest |
FACT_ITEM_014 |
ongeldige btw-code | order naar de controlelijst met tarief en land |
REL_049 |
relatiecode bestaat al | bestaande relatie gebruiken |
Waar het bij e-Boekhouden op vastloopt
Factuurnummers die op een cijfer eindigen
Een factuurplugin in WooCommerce maakt soms nummers als 10482-B voor een tweede factuur bij dezelfde order, of 2026-0012-NL met een landcode. e-Boekhouden weigert die met FACT_009. Er zijn twee nette oplossingen: het nummerformaat in de plugin aanpassen voordat de koppeling live gaat, of het veld leeg laten zodat e-Boekhouden nummert en de koppeling het nummer terugschrijft. Een nummer stil aanpassen, bijvoorbeeld een cijfer erachter plakken, doen we niet: dan klopt de factuur bij de klant niet meer met de boeking.
Btw-codes en de standaard voor inclusief of exclusief
e-Boekhouden werkt met vaste btw-codes: HOOG_VERK_21 voor 21%, LAAG_VERK_9 voor 9%, VERL_VERK voor verlegd, BU_EU_VERK voor levering buiten de EU en AFST_VERK voor afstandsverkoop binnen de EU. De code LAAG_VERK voor 6% heeft een einddatum van 1 januari 2019. Een webshop die een oude tabel meestuurt, krijgt een order met een code die niet meer geldt.
Het veld inExVat zegt of de bedragen inclusief of exclusief btw zijn. Leeg betekent EX. Een webshopprijs van € 24,20 inclusief btw die als exclusief binnenkomt, wordt € 24,20 x 1,21 = € 29,28. e-Boekhouden geeft daar geen foutmelding op, dus de koppeling stuurt de waarde altijd mee. Meer in bedragen en btw mappen.
Artikelcodes van 20 tekens
Een artikel in e-Boekhouden heeft een code van maximaal 20 tekens. Een webshop met lange SKU's of varianten in de code, zoals SNOEISCHAAR-RVS-PRO-200, komt daar niet in. Voor een orderstroom is een artikel niet nodig: een factuurregel kan ook zonder productId, met alleen omschrijving, btw-code en grootboekrekening. Wil je wel per artikel boeken, dan houdt de koppeling een vertaaltabel bij van SKU naar artikelcode. Hoe je de sleutel kiest staat in SKU of EAN.
Relaties zoeken en het adres
Een relatie heeft één adresveld van maximaal 150 tekens, plus postcode, plaats en land. Straat en huisnummer gaan dus samen in address, zonder splitsing. De koppeling zoekt een bestaande relatie op e-mailadres en maakt pas daarna een nieuwe aan, met type B als er een bedrijfsnaam of btw-nummer is. Hoe dubbele relaties ontstaan staat in dubbele klanten en debiteuren.
Betalingen afletteren op factuurnummer
Een betaling is een mutatie van type 3 met het factuurnummer op de regel. Klopt het nummer niet, dan staat er een betaling zonder factuur en een factuur die open blijft. De koppeling controleert eerst via /v1/mutation/invoice/outstanding?invoiceNumber=10482 of de post openstaat en welk bedrag, en boekt dan de betaling. Zie wat is afletteren.
Platformen die we aan e-Boekhouden koppelen
De koppeling wordt gebouwd op jouw administratie: je grootboekrekeningen per tarief en land, je factuursjabloon, je relaties. Per platform:
- WooCommerce koppeling met je boekhoudpakket, met e-Boekhouden naast Exact Online, Moneybird en SnelStart
- WooCommerce koppeling en Shopify koppeling voor de platformkant
Andere boekhoudpakketten: Moneybird koppeling, SnelStart koppeling en Yuki koppeling. Het overzicht van alle stromen staat op koppelingen.
Wij bouwen de koppeling voor een vaste prijs en hosten, draaien en bewaken hem daarna voor een vast bedrag per maand. Voor de livegang draait hij als dry run: je ziet per order welke relatie, btw-code en grootboekrekening er in e-Boekhouden zouden ontstaan. Vertel welke webshop je hebt en hoe je nu boekt.
Veelgestelde vragen
Komt een factuur via de API ook in mijn boekhouding?
Alleen als hij ook als mutatie wordt verwerkt. Bij POST /v1/invoice hoort daarvoor een mutation-object met een grootboekrekening en een betalingskenmerk. Zonder dat object maakt e-Boekhouden de factuur aan zonder hem als mutatie te verwerken, en dan staat de omzet niet in de boekhouding. De koppeling stuurt het object altijd mee.
Kan het ordernummer uit de webshop het factuurnummer worden?
Ja, als het past. e-Boekhouden accepteert een factuurnummer van maximaal 50 tekens dat op een cijfer eindigt, en weigert een nummer dat al bestaat. Een ordernummer als 10482 of WEB-2026-10482 gaat goed. Laat je het veld leeg, dan geeft e-Boekhouden zelf het volgende nummer uit en schrijft de koppeling dat terug bij de order.
Houdt e-Boekhouden voorraad bij?
Een artikel kan de vlag inStockManagement hebben, maar de API heeft geen endpoint om voorraadaantallen te lezen of te schrijven. Voorraad naar de webshop komt dus uit de webshop zelf, een magazijnsysteem of een ERP. De koppeling met e-Boekhouden gaat over verkoop, betalingen en relaties.
Werkt de koppeling ook met e-Boekhouden.be?
De API kent Belgische btw-codes zoals BE_21_VERK en BE_IC_VERK. Een account hoort wel bij één domein: wie de API op het verkeerde domein aanroept, krijgt SECURITY_011. De koppeling gebruikt het domein en de btw-codes van het land waar je administratie staat.
Wat gebeurt er als mijn boekhouder een periode afsluit?
Dan weigert e-Boekhouden elke factuur en mutatie met een datum in die periode, met FACT_VERWERK_001 of SECURITY_007. Een terugbetaling of een late order uit een afgesloten kwartaal gaat naar de controlelijst. Jij of je boekhouder kiest dan: boeken in de open periode, of de periode heropenen.
Kan ik de koppeling testen in de proefperiode?
Gedeeltelijk. e-Boekhouden heeft aparte foutcodes voor de proefperiode: na een limiet in de boekhoud- of factuurmodule volgt MODULE_001, MODULE_002 of FACT_102. Voor een volledige dry run op echte orders is een actief abonnement nodig.
Vertel wat je nodig hebt
Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.
- Je weet de prijs en de doorlooptijd voordat je iets toezegt
- Wij zoeken uit welke koppeling het werk uit handen neemt
- Wij verzorgen de bouw, hosting, bewaking en het onderhoud
- Je team krijgt minder overtypwerk en minder uitzoekwerk