Stripe-betalingen automatisch in je boekhouding krijgen
Gids4 maart · 16:479 min leestijd

Stripe-betalingen automatisch in je boekhouding krijgen

Van Stripe-webhook tot nette boeking. In deze praktische gids lees je hoe betalingen, refunds, fees en btw vanzelf in je boekhouding belanden, en wanneer maatwerk de moeite loont.

Je verkoopt online, je klanten rekenen af via Stripe, en het geld stroomt netjes binnen. Maar dan begint het echte werk: elke betaling moet ook in je boekhouding terechtkomen. Als factuur, als boeking, met de juiste btw en de afgetrokken transactiekosten. Doe je dat met de hand, dan ben je elke maand uren kwijt aan exporteren, overtypen en uitzoeken waarom het bedrag op je rekening niet matcht met wat je klant betaalde.

Het kan anders. Een Stripe-betaling kan automatisch een nette factuur en boeking opleveren, inclusief refunds, fees en btw, zonder dat jij er nog naar omkijkt. In deze gids leg ik uit hoe dat onder de motorkap werkt, waar het in de praktijk misgaat, en wanneer een kant-en-klare koppeling volstaat en wanneer maatwerk zich terugverdient.

Waarom Stripe net even lastiger is dan een gewone betaling

Bij een simpele bankoverschrijving krijg je het hele bedrag op je rekening en boek je dat tegen de factuur. Klaar. Stripe werkt anders, en daar zit precies de pijn.

Stripe houdt zijn transactiekosten direct in. Een klant betaalt 100 euro, maar op je Stripe-saldo verschijnt bijvoorbeeld 97,55 euro. Dat verschil zijn de fees. Vervolgens betaalt Stripe niet elke transactie los uit, maar bundelt meerdere betalingen in een payout naar je bank. Op je bankafschrift zie je dus één bedrag dat nooit precies overeenkomt met één factuur.

Wie dit met de hand probeert te boeken, raakt het spoor bijster. Je omzet, je kosten en je daadwerkelijke ontvangst lopen alle drie uit elkaar. Een goede automatisering brengt die drie weer bij elkaar.

Hoe de koppeling werkt: webhook, factuur, boeking

Achter elke nette Stripe-koppeling zit hetzelfde ritme. Stripe stuurt een signaal, jouw systeem vertaalt dat naar een factuur, en daarna sluit je de boeking.

1. De webhook

Stripe stuurt een webhook: een berichtje naar jouw systeem zodra er iets gebeurt. Je luistert niet naar alles, maar naar de paar events die er echt toe doen. De belangrijkste is payment_intent.succeeded (of checkout.session.completed als je Stripe Checkout gebruikt): dat betekent dat een betaling daadwerkelijk geslaagd is.

Belangrijk: hang je boekhouding aan een geslaagde betaling, niet aan een aangemaakte. Een afgebroken afrekening of een mislukte kaartbetaling mag nooit een factuur opleveren.

Eén ding dat je nooit mag overslaan: controleer de handtekening van elke webhook. Stripe ondertekent elk bericht met een geheime sleutel. Sla je die controle over, dan kan in theorie iedereen die je webhook-adres kent neppe betalingen je boekhouding in duwen. Dit is geen detail, dit is je eerste verdedigingslinie.

2. De factuur

Zodra de betaling binnen is, vertaalt de koppeling die naar een factuur in je boekhouding. Goed gedaan gebeurt hier het volgende:

  • De klant wordt opgezocht of aangemaakt, op e-mailadres, zodat je niet drie keer dezelfde klant in je administratie krijgt.
  • Elke regel krijgt het juiste btw-tarief en de juiste grootboekrekening mee.
  • Het Stripe-betaal-ID komt als referentie op de factuur, zodat je later van je boekhouding naar Stripe kunt terugzoeken en andersom.
  • De factuur wordt meteen op betaald gezet, want het geld is immers al binnen.

In Stripe zelf zit ook een factureerfunctie (Stripe Invoicing), maar voor de Nederlandse btw en je grootboek wil je de definitieve factuur meestal in je eigen boekhoudpakket, zoals Moneybird. Op Stripe staat per kant precies wat er wordt uitgewisseld.

3. De boeking en de fees

Hier komt het stukje dat de meeste koppelingen verprutsen. De factuur is honderd euro, maar je ontving 97,55 euro. Die 2,45 euro fee is geen verdwenen geld, het is een kostenpost. Een nette koppeling boekt de fee apart op een grootboekrekening voor betaalkosten, zodat je factuur op honderd euro klopt én je daadwerkelijke ontvangst klopt.

Doe je dit niet, dan staat je omzet of je banksaldo structureel scheef en mag je accountant het elke maand rechttrekken.

Refunds, fees en btw: de drie dingen die het meestal breken

Een Stripe-koppeling die op een rustige dag werkt, is niet hetzelfde als een koppeling die een heel boekjaar netjes blijft. Dit zijn de drie zaken die ik standaard dichttimmer.

Refunds en chargebacks

Een klant krijgt geld terug. In Stripe boek je een refund (event charge.refunded), maar in je boekhouding verandert er niets, tenzij je koppeling daar ook naar luistert. Een goede integratie maakt automatisch een creditnota aan die de oorspronkelijke factuur tegenboekt. Sla je dit over, dan staat je omzet te hoog en klopt je btw-aangifte niet.

Let ook op het btw-deel: bij een refund draai je niet alleen de omzet terug, maar ook de afgedragen btw. En een chargeback (een teruggevorderde betaling via de bank) brengt vaak nog een extra fee mee die je apart wilt kunnen zien.

Fees correct verwerken

Behalve de gewone transactiefee zijn er kleinere posten: valutaomrekening bij buitenlandse kaarten en maandelijkse Stripe-kosten. Wil je je marge echt kennen, dan boek je die op de juiste plek in plaats van ze als ruis te negeren. Het verschil tussen je bruto-omzet en wat er onder de streep overblijft, zit vaak precies in deze hoek.

Btw bij digitale en internationale verkoop

Verkoop je aan Nederlandse particulieren, dan is het simpel: 21% of 9%. Maar Stripe maakt het makkelijk om aan het buitenland te verkopen, en daar wordt btw ingewikkeld. Verkoop je digitale diensten aan particulieren elders in de EU, dan kan de OSS-regeling spelen en moet je het btw-tarief van het land van de klant hanteren. Verkoop je aan een EU-ondernemer met geldig btw-nummer, dan is het vaak btw-verlegd, en dat moet je factuur correct vermelden.

Een domme koppeling plakt overal 21% op en jij betaalt later het verschil. Een goede koppeling weet wat voor klant en wat voor product het betreft, en kiest het juiste tarief.

De valkuil die iedereen onderschat: dubbele boekingen

Webhooks worden soms twee keer afgeleverd. Dat is geen bug, dat is gewoon hoe het internet werkt. Zonder bescherming krijg je dan twee facturen voor één betaling. De oplossing heet idempotentie: de koppeling controleert eerst of er voor dit Stripe-betaal-ID al een factuur bestaat, en zo ja, doet niets. Klinkt als een klein detail, voorkomt een hoop opruimwerk.

Kant-en-klaar of laten bouwen?

Niet elke ondernemer heeft hetzelfde nodig. Eerlijk advies: begin niet groter dan moet.

Een kant-en-klare koppeling is genoeg als:

  • je vooral aan Nederlandse klanten verkoopt met standaard btw-tarieven;
  • je een overzichtelijk product- of dienstenaanbod hebt;
  • je weinig uitzonderingen en weinig refunds hebt;
  • je geen verbinding nodig hebt met andere systemen.

Er zijn prima diensten die Stripe aan een boekhoudpakket knopen voor een vast maandbedrag. Werkt dat voor jou, dan gebruik je dat. Ik bouw niets dat al bestaat en goed genoeg is.

Laten bouwen loont zodra:

  • je internationaal of digitaal verkoopt en OSS, btw-verlegging of valuta correct moet afhandelen;
  • je abonnementen via Stripe Billing draait, met prorata, opzeggingen en mislukte incasso's die allemaal goed geboekt moeten worden;
  • je fees, payouts en je bankafschrift exact wilt laten rondlopen tot op de cent;
  • je Stripe wilt verbinden met je CRM, je facturatie of je interne dashboards;
  • de standaarddienst net dat ene ding niet kan, en jij elke maand alsnog handmatig zit bij te werken.

Het omslagpunt is simpel: zodra je meer tijd kwijt bent aan het corrigeren van een goedkope koppeling dan het overtypen ooit kostte, betaal je voor het slechtste van twee werelden. Dan is een koppeling die precies past goedkoper dan een die bijna past.

Met slim werken, loont hard werken

Het verwerken van betalingen is precies het soort werk dat een computer beter en preciezer doet dan jij. Niet omdat jij het niet kunt, maar omdat jouw tijd te waardevol is om elke maand fees en refunds met de hand bij te boeken. Een koppeling die één keer goed staat, draait jarenlang door zonder klagen, en je btw-aangifte klopt vanzelf.

Een koppeling die één keer goed staat, hoef je nooit meer aan te denken, en dat is precies wat je boekhouding verdient: saai, betrouwbaar en altijd correct.

Veelgestelde vragen

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

Stripe-koppeling die gewoon klopt

Ik denk mee over jouw verkoop en administratie, ontwerp een integratie die fees, refunds en btw correct afhandelt, en realiseer die end-to-end, self-hosted waar het past, zodat je geen black-box abonnement nodig hebt.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Genoemde integraties

Dit artikel noemt deze tools. Ik koppel ze op maat aan je eigen systemen.

Verken verder

In dit artikel

Hoofdonderwerpen

Kort genoemd

Concepten

IdempotentieAutomatische boekhoudingWebhooksAutomatische boekhoudkoppelingBtw-aangifteCreditnotaKostenpostWebhook beveiliging

Gerelateerde artikelen

PrestaShop-chargebacks: aparte geldstroom, bewijs, boeking en menselijke vrijgave
Gids
Uitgebreide gids22 min

5 okt 17:00

PrestaShop-chargebacks: aparte geldstroom, bewijs, boeking en menselijke vrijgave

Bouw in PrestaShop een aparte chargebackstroom met dispute-ID, bewijsdeadline, PSP-fee, boekingspolicy en menselijke vrijgave, zonder refund en chargeback dubbel te verwerken.

No-code workflow vrijgeven voor productie: proefbatch, replay en uitzonderingen testen
Gids
Uitgebreide gids18 min

30 sep 17:00

No-code workflow vrijgeven voor productie: proefbatch, replay en uitzonderingen testen

Een workflow die in testmodus werkt, is nog niet klaar voor productie. Bouw een fixture-set, injecteer timeouts en duplicaten, bewijs replay zonder dubbele side effects en geef alleen vrij met eigenaar, stopregel en KPI.

Verhuursoftware kiezen: test reservering, retour, schade en vrijgave
Gids
Uitgebreide gids22 min

22 sep 17:00

Verhuursoftware kiezen: test reservering, retour, schade en vrijgave

Vergelijk verhuursoftware met één materieelstuk door de hele keten: van reservering, uitgifte en retour tot schade, ontbrekende onderdelen, borg, administratie en menselijke vrijgave, zodat je software kiest op bewezen operationele controle.

SaaS-uitval herstellen: van RTO en RPO tot reconciliatie en vrijgave
Gids
Uitgebreide gids16 min

20 sep 09:00

SaaS-uitval herstellen: van RTO en RPO tot reconciliatie en vrijgave

Een provider is weer online, maar je bedrijf is pas hersteld als gemiste mutaties, dubbele events en financiële verschillen zijn verklaard. Bouw met dit runbook een fallback, herstelrun en menselijke vrijgave.

Single source of truth: per veld eigenaarschap, reconciliatie en herstel
Gids
Uitgebreide gids17 min

16 sep 09:00

Single source of truth: per veld eigenaarschap, reconciliatie en herstel

Maak klant-, voorraad- en orderdata bestuurbaar. Wijs per veld een bronhouder aan, leg sleutels en synchronisatieregels vast en herstel verschillen zonder dubbelen of stille overschrijvingen.

iDEAL wordt Wero: wat je nu controleert in je checkout, contract en boekhoudkoppeling
Gids
Uitgebreide gids13 min

14 aug 09:00

iDEAL wordt Wero: wat je nu controleert in je checkout, contract en boekhoudkoppeling

Je betaaldienstverlener regelt de overgang naar Wero, maar niet de regels eronder. Deze gids loopt de vier lagen langs die echt breken, van je checkout tot je afletterregels, met per laag een controle die je vandaag al doet.