Belastingen registreren in Beancount (De pragmatische manier)
Belastingen kunnen aanvoelen als een speciaal, ingewikkeld beest in de wereld van persoonlijke financiën. Maar wat als dat niet zo was? Wat als je ze net als elke andere geldstroom in je grootboek kunt behandelen? Goed nieuws: dat kan. Door belastingen te zien als eenvoudige waardeverplaatsingen blijft je Beancount‑grootboek schoon, gemakkelijk te bevragen en – vooral – begrijpelijk.
Hieronder vind je een praktisch, no‑nonsense patroon dat je in een persoonlijk of klein‑zakelijk Beancount‑bestand kunt opnemen. Het is een simpel systeem voor het verwerken van salarissen, belastingbetalingen en zelfs die vervelende terugbetalingen die over het nieuwe jaar heen gaan. We behandelen de essentiële rekeningen die je nodig hebt, lopen door real‑world voorbeelden, en laten je de exacte queries zien die je moet draaien om de antwoorden te krijgen die je zoekt.
De kernprincipes
Voordat we in de code duiken, laten we een paar eenvoudige regels afspreken. Deze principes houden alles logisch en voorkomen toekomstige hoofdpijn.
-
Scheid “wat het is” van “wanneer het geld beweegt.” 🗓️
Dit is het belangrijkste concept. Een belastingkost behoort tot het jaar waarin je de inkomsten hebt verdiend (bijv. 2024), zelfs als je de rekening bij de Belastingdienst in april 2025 betaalt. Als je de timing van de kost niet scheidt van de timing van de cash‑betaling, worden je jaar‑over‑jaar rapporten rommelig en misleidend. -
Houd je rekeningshiërarchie saai en simpel. 📁
Geef je rekeningen duidelijke namen op basis van het type belasting (bijv.IncomeTax
,SocialSecurity
). Dit maakt je queries ongelooflijk eenvoudig. Rommel geen rekeningnamen met leveranciersnamen of formuliernummers zoals “W‑2” of “1099”; gebruik metadata en tags voor die details. -
Omarm accrual voor einde‑jaar aanpassingen. ⚖️
Zelfs voor een persoonlijk grootboek is een eenvoudige accrual‑boeking aan het einde van het jaar de schoonste manier om je rapporten accuraat te maken. Het betekent dat je een kost of terugbetaling in het juiste jaar erkent, zelfs als het geld pas later beweegt. Het is één kleine extra stap die je later mentale gymnastiek bespaart. -
Schrijf voor je toekomstige zelf. 🧠
Je doel is duidelijkheid. Voeg alleen extra details toe, zoals het belastingjaar, aan een rekeningnaam als dat echt je queries makkelijker maakt. Vermijd het creëren van een nieuwe set rekeningen elk jaar (Expenses:Taxes:2024:Federal
,Expenses:Taxes:2025:Federal
, enz.) tenzij je een dwingende reden hebt. Een platte structuur is vaak makkelijker te beheren.
Een minimale rekeningsstructuur
Hier is een basisset rekeningen om je op weg te helpen. Deze structuur is gericht op de VS, maar je kunt de namen eenvoudig aanpassen aan het belastingstelsel van je eigen land. Voeg deze open
‑directieven gewoon toe aan je Beancount‑bestand.
; --- US Federal Income & Payroll Taxes ---
; Voor geld dat van je salaris wordt ingehouden
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Withheld USD
; Voor geschatte betalingen of belasting‑dag rekeningen die je direct betaalt
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Payments USD
; Voor belasting‑terugbetalingen die je ontvangt
2024-01-01 open Expenses:Taxes:Federal:IncomeTax:Refunds USD
; Je FICA‑bijdragen
2024-01-01 open Expenses:Taxes:Federal:SocialSecurity USD
2024-01-01 open Expenses:Taxes:Federal:Medicare USD
; --- Andere veelvoorkomende belastingen ---
; Voor omzet‑/gebruikstaks die je betaalt bij aankopen
2024-01-01 open Expenses:Taxes:Sales USD
; --- Rekeningen voor einde‑jaar aanpassingen (optioneel maar aanbevolen!) ---
; Een tijdelijke holding‑rekening voor belastingen die je verschuldigd bent maar nog niet hebt betaald
2024-01-01 open Liabilities:AccruedTaxes:Federal:Income USD
; Een tijdelijke holding‑rekening voor een terugbetaling die je nog moet ontvangen
2024-01-01 open Assets:Tax:Receivable USD
Deze opzet scheidt ingehouden belastingen van directe betalingen en terugbetalingen, waardoor je in één oogopslag ziet waar je geld naartoe is gegaan. De Liabilities
‑ en Assets
‑rekeningen zijn ons geheime wapen om einde‑jaar rapportage accuraat te houden.
Voorbeeld 1: Het salaris
Boek een typisch salaris waarbij belastingen automatisch worden ingehouden. De sleutel is eerst je brutosalaris te registreren, daarna laten zien hoe het wordt opgesplitst tussen belastingen en het geld dat daadwerkelijk op je bankrekening terechtkomt.
2025-07-15 * "Employer Inc." "Salary for first half of July"
Income:Work:Salary -6,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Withheld 1,200.00 USD
Expenses:Taxes:Federal:SocialSecurity 372.00 USD
Expenses:Taxes:Federal:Medicare 87.00 USD
Assets:Cash:Checking 4,341.00 USD
Deze enkele transactie vertelt het hele verhaal:
- Je hebt $6.000 bruto verdiend.
- $1.200 daarvan is naar de IRS gestuurd voor federale inkomstenbelasting.
- 87 naar Medicare.
- De resterende $4.341 is wat je netto hebt ontvangen.
Pro‑tip: Je kunt metadata van je loonstrookje (bijv. pay_period_end: "2025-07-15"
) aan de transactie toevoegen voor een eenvoudig audit‑pad.
Voorbeeld 2: Je aangifte indienen (Het jaar‑overstijgende probleem)
Hier is het scenario dat mensen vaak in de war brengt: Het is april 2025 en je doet je 2024‑aangifte. Je ontdekt dat je, na al het ingehouden, nog een extra $3.000 moet betalen.
Hoe registreer je dit? Je wilt de kost laten meetellen in 2024, maar de cash‑betaling gebeurt in 2025. Hieronder twee uitstekende manieren.
Optie A: Handmatige twee‑stappen accrual
Deze methode is pure Beancount, geen plugins nodig. Het is een duidelijke, twee‑stappen aanpak.
Stap 1: Erken de kost aan het einde van het belastingjaar.
Op de laatste dag van 2024 maak je een “true‑up” entry. Er beweegt nog geen cash; je erkent alleen de kost en parkeert deze in een tijdelijke liability‑rekening.
2024-12-31 * "Federal income tax true-up for 2024"
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
Liabilities:AccruedTaxes:Federal:Income -3,000.00 USD
Nu toont je resultatenrekening van 2024 deze $3.000 kost correct.
Stap 2: Registreer de cash‑betaling wanneer deze plaatsvindt.
In april 2025, wanneer je het geld daadwerkelijk naar de IRS stuurt, maak je de liability leeg.
2025-04-15 * "IRS" "Payment for 2024 tax return"
Liabilities:AccruedTaxes:Federal:Income 3,000.00 USD
Assets:Cash:Checking -3,000.00 USD
Je 2024‑rapporten zijn correct, en je cash‑flow van 2025 ook. Perfect! Ditzelfde patroon werkt omgekeerd voor een terugbetaling — gebruik dan Assets:Tax:Receivable
in plaats van de liability‑rekening.
Optie B: Automatiseren met een plugin
Wil je de betaling in één enkele transactie houden, dan kun je de community‑plugin beancount_reds_plugins.effective_date
gebruiken. Hiermee kun je een andere “effective date” toekennen aan een regel.
Eerst de plugin inschakelen in je hoofd‑Beancount‑bestand:
plugin "beancount_reds_plugins.effective_date"
Daarna kun je één transactie schrijven; de plugin splitst deze achter de schermen zodat je rapporten accuraat blijven.
; Eén entry; de plugin doet de rest
2025-04-15 * "IRS" "Payment for 2024 tax return"
Assets:Cash:Checking -3,000.00 USD
Expenses:Taxes:Federal:IncomeTax:Payments 3,000.00 USD
effective_date: 2024-12-31
Hier wordt het cash‑gedeelte op 15 april 2025 geboekt, maar de kost wordt retroactief toegepast op 31 december 2024. Het resultaat is hetzelfde als Optie A, maar met een andere workflow.
Wat te doen met omzetbelasting?
Voor de meeste persoonlijke grootboeken is omzetbelasting simpel. Als je het niet terugvordert, splits je het gewoon uit als een eigen kost tijdens een aankoop.
2025-07-19 * "Local Grocery Store"
Expenses:Groceries 12.32 USD
Expenses:Taxes:Sales 1.28 USD
Assets:Cash:Checking -13.60 USD
Zo kun je gemakkelijk bijhouden hoeveel je aan omzetbelasting uitgeeft gedurende het jaar. Als je een bedrijf runt dat met btw werkt, gebruik je een formeler systeem met betaal‑ en vorderingsrekeningen, maar het principe blijft hetzelfde.
Queries die je echt zult uitvoeren
Het hele punt van deze structuur is om antwoorden makkelijk te krijgen. Hieronder enkele BQL‑queries om je belastingbeeld te zien.
1. Wat was mijn totale federale inkomstenbelasting voor 2024?
SELECT cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01;
2. Hoe splitst dat totaal zich op tussen ingehouden, betalingen en terugbetalingen?
SELECT account, cost(sum(position))
WHERE account "Expenses:Taxes:Federal:IncomeTax"
AND date >= 2024-01-01 AND date < 2025-01-01
GROUP BY account
ORDER BY account;
3. Heb ik nog openstaande belasting‑schulden of vorderingen? (Handig om je werk te controleren!)
SELECT account, units(sum(position))
WHERE account "Liabilities:AccruedTaxes" OR account "Assets:Tax"
GROUP BY account
ORDER BY account;
Als deze query niet‑nul saldi oplevert, betekent dat dat je nog accruals hebt die je niet hebt afgehandeld.
Snelle FAQ
-
Moet ik echt per‑jaar rekeningen hebben zoals
Expenses:Taxes:2024
?
Waarschijnlijk niet. De accrual‑methode (of de plugin) houdt een platte rekeningsstructuur schoon en leesbaar. Maak alleen per‑jaar rekeningen als je merkt dat je specifieke queries daardoor makkelijker worden. -
Kan Beancount mijn belastingen voor me berekenen?
Niet rechtstreeks, maar het kan de data voorbereiden. Gevorderde gebruikers schrijven scripts die BQL‑resultaten naar belasting‑calculatiesoftware sturen, wat handig is voor een schatting gedurende het jaar. -
Is dit belastingadvies?
Nee. Dit is een boekhoudpatroon voor het organiseren van je data. De boekhouding is solide, maar raadpleeg altijd een belasting‑professional voor advies dat specifiek op jouw situatie is afgestemd.
Je kant‑klaar checklist
Klaar om te beginnen?
- ✅ Voeg de rekeningsstructuur toe aan je Beancount‑bestand (en pas namen aan voor jouw land).
- ✅ Boek salarissen door te beginnen met bruto‑inkomen en vervolgens de belastingposten af te splitsen.
- ✅ Accrue aan het einde van het jaar eventuele true‑ups voor betalingen of terugbetalingen via een liability/asset‑rekening (of gebruik de
effective_date
‑plugin). - ✅ Volg terugbetalingen als vorderingen en maak ze leeg zodra het geld binnenkomt.
- ✅ Draai de bovenstaande BQL‑queries om je totalen te verifiëren voordat je aangifte doet.
Houd het saai, houd het consistent, en je belastingseizoen voelt eindelijk als een gewoon onderdeel van je financiële verhaal — niet als een mysterie dat je moet oplossen.