Begrijpen van journaalposten in Beancount
Journaalposten vormen de ruggengraat van dubbele boekhouding, en in Beancount is elke *
transactie die je schrijft een journaalpost. Deze gids legt de essentie uit — debet en credit, correctieposten en omkeerposten — en laat zien hoe ze netjes overeenkomen met de platte‑tekst syntaxis van Beancount. Je leert hoe je nauwkeurige boeken bijhoudt met minimale ceremonie.
Een snelle opfrisser: wat is een journaalpost?
Een journaalpost is de formele, gedateerde registratie van een financiële transactie. Hij wordt uitgedrukt in termen van debet en credit die de fundamentele boekhoudkundige vergelijking in balans houden:
In een dubbel‑postingssysteem beïnvloedt elke transactie minstens twee rekeningen, en het totaal van debet moet gelijk zijn aan het totaal van credit. Deze eenvoudige regel maakt downstream‑rapporten zoals de winst‑en‑verliesrekening en de balans betrouwbaar en accuraat.
Debet en credit in één minuut
De concepten debet en credit kunnen in het begin verwarrend zijn, maar ze komen neer op een paar eenvoudige regels. Denk eraan: “waar kwam de waarde vandaan?” (credit) en “waar ging de waarde naartoe?” (debet).
Hier is een cheat‑sheet voor hoe ze de vijf kernrekeningtypen verhogen:
Rekeningtype | Verhoogt met |
---|---|
Activa | Debet |
Kosten | Debet |
Passiva | Credit |
Eigen vermogen | Credit |
Opbrengsten | Credit |
Hoe een journaalpost eruitziet in Beancount
Beancount gebruikt eenvoudige, menselijk leesbare tekst‑directieven om transacties vast te leggen. Elke transactie moet voor elke commodity (bijv. USD, EUR, AAPL‑aandelen) op nul balanceren. Beancount geeft een foutmelding als dat niet het geval is.
Hier is een basis‑transactie voor het kopen van koffie:
2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD
Let op hoe de twee boekingen (regels met rekeningen) optellen tot nul: $18.00 + (-$18.00) = 0
.
Je kunt krachtige context direct in de narratie opnemen met tags (bijv. #clientX
) voor filteren en links (bijv. ^INV-2025-001
) om gerelateerde posten te verbinden.
Bijvoorbeeld, zo kun je een factuur koppelen aan de betaling:
; Eerst, registreer de factuur die je naar de klant hebt gestuurd
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD
; Later, registreer de betaling en koppel deze terug aan de oorspronkelijke factuur
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD
De #clientX
‑tag laat je gemakkelijk alle transacties voor deze klant filteren, en de ^INV-2025-001
‑link creëert een verbinding tussen de twee posten die je in rapporten kunt volgen.
Veelvoorkomende journaalposten (klaar om te plakken)
Hieronder staan verschillende gangbare zakelijke transacties geformatteerd voor Beancount.
Eigenaar brengt contant geld in
Een eigenaar draagt persoonlijke middelen bij om het bedrijf te starten.
2025-01-01 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD
Contante verkoop met omzetbelasting
Een klant betaalt contant voor een product, inclusief 8 % omzetbelasting die je later aan de overheid moet afdragen.
2025-01-05 * "Walk-in Customer" "Cash sale with 8% tax"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD
Verkoop op rekening (factuur) en incasso
Je levert een dienst en factureert de klant, waarna je later de betaling ontvangt.
2025-01-10 * "Acme Corp" "Consulting invoice ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD
2025-01-30 * "Acme Corp" "Payment on ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD
Kosten op creditcard
Je koopt kantoorbenodigdheden met een bedrijfscreditcard.
2025-01-12 * "OfficeMax" "Supplies on credit card"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD
Loonadministratie (eenvoudig model)
Je verwerkt de loonlijst, registreert de brutoloonkosten, de door de werknemer ingehouden belastingen, en de netto‑betaling van je bank.
2025-01-31 * "Payroll" "January wages and withholdings"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD
Maandelijkse afschrijving
Je boekt de maandelijkse afschrijvingskosten voor een activum, zoals een laptop.
2025-01-31 * "Depreciation" "Laptop, straight-line"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD
Vooruitbetaalde kosten & maandelijkse amortisatie
Je betaalt een heel jaar verzekering vooruit, en erkent vervolgens één maand van de kosten.
; 1. Betaling van de jaarlijkse polis
2025-01-01 * "InsureCo" "Annual insurance premium"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD
; 2. Erken één maand kosten aan het einde van januari
2025-01-31 * "InsureCo" "Amortize 1/12 of insurance"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD
Nog te ontvangen omzet & maandelijkse erkenning
Een klant betaalt vooraf voor een abonnement van 3 maanden. Je registreert het geld en erkent daarna één maand omzet.
; 1. Klant betaalt vooraf voor de dienst
2025-02-01 * "Subscriber" "3-month plan prepaid"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD
; 2. Erken één maand omzet na levering van de dienst
2025-02-28 * "Recognition" "Recognize month 1 of 3"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD
Oninbare vorderingen & afschrijving
Je reserveert een voorziening voor mogelijk oninbare facturen en schrijft later een specifieke slechte vordering af.
; 1. Voorziening aanmaken op basis van 2 % van debiteuren
2025-03-31 * "Provision" "2% of A/R for doubtful accounts"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD
; 2. Specifieke factuur afschrijven die niet betaald zal worden
2025-04-15 * "Write-off" "Customer XYZ invoice"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD
Periodieke voorraad & COGS‑aanpassing
Aan het einde van een periode bereken je de kostprijs van verkochte goederen (COGS) door je voorraadrekening aan te passen.
2025-03-31 * "COGS adjustment" "Periodic inventory method"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD
Correctieposten vs. omkeerposten
Correctieposten worden aan het einde van een boekhoudperiode (bijv. een maand of kwartaal) vastgelegd om opbrengsten en kosten correct toe te wijzen aan de periode waarin ze daadwerkelijk zijn verdiend of gemaakt. Dit omvat accruals, deferrals en schattingen zoals afschrijvingen.
Omkeerposten zijn optionele boekingen die op de eerste dag van een nieuwe periode exact de vorige correctiepost terugdraaien. Het doel is de boekhouding te vereenvoudigen. Door een accrual om te keren, kun je de daaropvolgende kastransactie op een standaard manier boeken zonder te hoeven onthouden dat je tegen de passivarekening moet boeken.
Voorbeeld: accrual en omkering van nutsvoorzieningen
Stel, je moet de nutskosten van januari boeken, maar de factuur komt pas in februari.
; 1. Accrue de geschatte kosten aan het einde van januari
2025-01-31 * "Accrual" "Estimate January utilities expense"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD
; 2. (Optioneel) Keer de accrual om op de eerste dag van de volgende periode
2025-02-01 * "Reversal" "Undo January utilities accrual"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD
; 3. Boek de daadwerkelijke factuurbetaling wanneer deze in februari binnenkomt
; De werkelijke factuur bedraagt $520. Door de omkering kun je
; het volledige bedrag naar de kostenrekening boeken zonder problemen.
; De netto‑kosten voor feb zijn $520 - $500 = $20.
2025-02-10 * "City Utilities" "Payment for January bill"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD
Opmerking: Het voorbeeld in de outline laat zien hoe de uiteindelijke betaling wordt opgesplitst. De omkeerpost‑methode is een alternatief dat de uiteindelijke betaling vereenvoudigt.
Checklist voor elke Beancount‑journaalpost
Volg deze stappen om te zorgen dat je posten schoon en correct zijn:
- Begin met de datum (JJJJ‑MM‑DD) en een transactie‑vlag (
*
). - Voeg een begunstigde en een beschrijvende narratie toe. Gebruik
#tags
en^links
voor doorzoekbaarheid. - Neem minimaal twee boekingsregels op die voor elke commodity op nul balanceren.
- Gebruik juiste rekeningsnamen onder de vijf typen:
Assets
,Liabilities
,Equity
,Income
,Expenses
. - Optioneel, voeg metadata toe zoals
document: "invoices/INV-2025-001.pdf"
voor traceerbaarheid.
Veelvoorkomende valkuilen (en hoe Beancount helpt)
- Ongebalanceerde boekingen: Als je debet en credit niet op nul uitkomen, zal Beancount de post weigeren. Dit is een kernfunctie die fouten voorkomt. Je kunt één bedrag zelfs leeg laten, en Beancount berekent het automatisch.
- Verkeerd teken bij een rekening: Het is makkelijk te vergeten dat
Income
,Equity
enLiabilities
toenemen met credits (meestal negatieve getallen in Beancount). Als je het fout doet, zien je rapporten er vreemd uit, maar de balanceringsregel biedt nog steeds een vangnet. - Ontbrekende links tussen posten: Het vergeten om een factuur te koppelen aan de betaling maakt het lastiger om uitstaande bedragen te volgen. Consistent gebruik van
^links
lost dit op door een controleerbaar spoor te creëren.
Waar ga je daarna heen
- Beancount‑taal & balanceringsregels: Duik dieper in de officiële documentatie.
- Syntax‑cheatsheet: Een handige referentie voor alle Beancount‑directieven.
- Debet/Credit‑primer: Een uitstekend startpunt als je nieuw bent met boekhoudregels.
- Correctie‑/omkeerposten: Meer gedetailleerde artikelen over de boekhoudkundige theorie.
Bijlage: Accounting Talk → Beancount‑map
Deze snelle vertaalgids helpt je om boekhoudkundige instructies naar Beancount‑syntaxis te vertalen.
Boekhoudkundige instructie | Beancount‑actie |
---|---|
Debiteer een kostenpost | Positief bedrag naar een Expenses: ‑rekening |
Crediteer een passiva | Negatief bedrag naar een Liabilities: ‑rekening |
Accrue opbrengst | Assets:AccountsReceivable + Income:* - |
Defere opbrengst | Assets:Bank:* + Liabilities:Unearned:* - |
Erken uitgestelde opbrengst | Liabilities:Unearned:* + Income:* - |
Met deze patronen en voorbeelden kun je vrijwel elk zakelijk evenement in Beancount modelleren, zodat je financiële rapporten zonder verrassingen kloppen.