Doorgaan naar hoofdinhoud

De Complete Gids voor het Beheren van Rekeningen in Beancount en Fava

· 12 min leestijd
Mike Thrift
Mike Thrift
Marketing Manager

Je rekeningschema is de ruggengraat van je Beancount-grootboek. Een goed ontworpen rekeninghiërarchie maakt elk rapport duidelijker, elke query sneller en elk belastingseizoen minder pijnlijk. In deze gids lopen we door alles wat je moet weten over het aanmaken, bekijken, bijwerken en sluiten van rekeningen in Beancount en Fava -- van de basis voor beginners tot geavanceerde patronen.

De Vijf Rekeningtypen

Beancount gebruikt het standaard dubbel-boekhoudmodel met precies vijf hoofdtypen van rekeningen:

TypeDoelNormaal TekenRapport
AssetsBezittingen die je hebt (contant geld, beleggingen, onroerend goed)Positief (debet)Balans
LiabilitiesSchulden die je hebt (creditcards, leningen, hypotheken)Negatief (credit)Balans
EquityEigen vermogen, ingehouden winst, openingsbalansenNegatief (credit)Balans
IncomeInkomstenbronnen (salaris, rente, dividenden)Negatief (credit)Resultatenrekening
ExpensesKostencategorieën (eten, huur, nutsvoorzieningen)Positief (debet)Resultatenrekening

De fundamentele boekhoudvergelijking geldt altijd:

Assets + Expenses + Equity + Income + Liabilities = 0

Een handige vuistregel: als de bedragen alleen relevant zijn voor een bepaalde periode (bijv. "Hoeveel heb ik deze maand aan eten uitgegeven?"), gebruik dan Income of Expenses. Als ze een doorlopend saldo vertegenwoordigen (bijv. "Hoeveel staat er op mijn betaalrekening?"), gebruik dan Assets of Liabilities.

Naamgevingsconventies voor Rekeningen

Rekeningnamen in Beancount zijn met dubbele punten gescheiden hiërarchische identificatoren. De regels zijn:

  • Moet beginnen met een van de vijf hoofdtypen: Assets, Liabilities, Equity, Income, Expenses
  • Elk onderdeel begint met een hoofdletter of cijfer
  • Onderdelen mogen letters, cijfers en streepjes bevatten (geen spaties of underscores)
  • Er zijn minimaal twee onderdelen vereist (bijv. Expenses:Food, niet alleen Expenses)
  • Dubbele punten (:) scheiden hiërarchieniveaus
; Geldige rekeningnamen
Assets:US:BofA:Checking
Liabilities:CA:RBC:CreditCard
Equity:Retained-Earnings
Income:US:Acme:Salary
Expenses:Food:Groceries
Assets:Crypto:BTC-Holdings

; Ongeldige rekeningnamen
assets:checking ; hoofdtype in kleine letters
Assets:my checking ; spaties niet toegestaan
Expenses ; slechts één onderdeel

Het aanbevolen naamgevingspatroon voor balansrekeningen is:

Type : Land : Instelling : Rekening : Subrekening

Bijvoorbeeld: Assets:US:Vanguard:401k:VTSAX of Liabilities:US:Chase:Sapphire.

Voor uitgaven- en inkomstenrekeningen gebruik je in plaats daarvan op categorieën gebaseerde naamgeving:

Expenses:Food:Groceries
Expenses:Housing:Utilities:Electric
Income:US:Employer:Salary

Hoofdnamen Aanpassen

Je kunt de vijf hoofdtypen hernoemen voor lokalisatie of persoonlijke voorkeur:

option "name_assets"       "Activa"
option "name_liabilities" "Passiva"
option "name_equity" "EigenVermogen"
option "name_income" "Inkomsten"
option "name_expenses" "Uitgaven"

Rekeningen Aanmaken (Open Directive)

Elke rekening moet worden gedeclareerd met een open-directive voordat je er transacties op kunt boeken. De volledige syntax is:

JJJJ-MM-DD open Rekening [BeperktValuta,...] ["BoekingsMethode"]

Eenvoudig Openen

2014-05-01 open Assets:US:BofA:Checking

Met Valutabeperkingen

Het beperken van valuta's voorkomt dat je per ongeluk de verkeerde valuta boekt:

2014-05-01 open Assets:US:BofA:Checking       USD
2014-05-01 open Assets:Cash USD,CAD,EUR
2012-03-01 open Assets:US:ETrade:Main:ITOT ITOT

Met Boekingsmethoden

Voor beleggingsrekeningen geef je aan hoe kavels worden gematcht bij verkoop:

2014-02-11 open Assets:US:ETrade:IVV   IVV   "FIFO"
2014-02-11 open Assets:US:Schwab:AAPL AAPL "LIFO"
2014-02-11 open Assets:US:Fidelity GOOG "STRICT"

Beschikbare boekingsmethoden:

MethodeGedrag
"STRICT"Standaard. Vereist exacte kavelspecificatie; geeft fout bij dubbelzinnigheid
"FIFO"First-In-First-Out -- vermindert oudste kavels eerst
"LIFO"Last-In-First-Out -- vermindert nieuwste kavels eerst
"AVERAGE"Voegt alle kavels samen en herberekent gemiddelde kosten
"NONE"Geen kavelmatching; elke prijs wordt geaccepteerd

Met Metadata

2013-03-14 open Assets:US:BTrade:HOOLI
category: "taxable"
institution: "BTrade Corp"
account-number: "XX-1234-5678"

Strategisch Openingsdatums Kiezen

  • Gebruik je geboortedatum voor universele rekeningen zoals Expenses:Groceries (dit geeft je totalen over je hele leven)
  • Gebruik de startdatum van je dienstverband voor werkgerelateerde inkomstenrekeningen
  • Gebruik de werkelijke aanmaakdatum voor instellingsspecifieke rekeningen (bankrekeningen, creditcards)

Automatisch Openen met een Plugin

Als je handmatige open-directives wilt overslaan tijdens het prototypen:

plugin "beancount.plugins.auto_accounts"

Dit genereert automatisch open-directives voor elke rekening die in transacties wordt gebruikt. Dit vermindert echter de detectie van typefouten, dus het wordt niet aanbevolen voor productiegebruik.

Rekeningen Bekijken en Opvragen

Met bean-query (BQL)

# Alle rekeningen met saldi opvragen
bean-query ledger.beancount "SELECT account, units(sum(position)) GROUP BY 1"

# Alleen uitgavenrekeningen opvragen
bean-query ledger.beancount "SELECT account WHERE account ~ 'Expenses'"

# Rekeningoverzicht met lopend saldo
bean-query ledger.beancount \
"SELECT date, account, position, balance WHERE account ~ 'BofA:Checking'"

# Journaalweergave voor een specifieke rekening
bean-query ledger.beancount "JOURNAL 'Assets:US:BofA:Checking'"

Met bean-report

# Proefbalans (alle rekeningen met eindsaldi)
bean-report ledger.beancount balances

# Balans
bean-report ledger.beancount balsheet

# Resultatenrekening
bean-report ledger.beancount income

# Journaal voor een specifieke rekening
bean-report ledger.beancount journal -a Assets:US:BofA:Checking

Met Fava

Fava biedt een rijke visuele interface voor het verkennen van rekeningen:

  • Balanspagina: interactieve boomstructuur van alle Assets, Liabilities en Equity
  • Resultatenrekeningpagina: interactieve boomstructuur van alle Income en Expenses
  • Rekeningpagina: klik op een rekeningnaam om de tabbladen Journaal, Wijzigingen en Saldi te zien
  • Filterbalk: gebruik regex-patronen om alleen overeenkomende rekeningen te tonen (bijv. Assets:US)

Rekeningen Bijwerken (Hernoemen en Reorganiseren)

Beancount heeft geen ingebouwde hernoem-directive, maar er bestaan verschillende benaderingen.

1. Zoek-en-Vervang

Eenvoudig zoeken-en-vervangen werkt, maar wees voorzichtig -- Assets:Bank zou ook overeenkomen met Assets:Bank:Cash. Gebruik patronen met woordgrenzen:

sed -i 's/Assets:US:OldBank:Checking/Assets:US:NewBank:Checking/g' *.beancount

2. De rename_accounts Plugin

Het beancount_reds_plugins-pakket biedt een krachtige hernoemingsplugin:

plugin "beancount_reds_plugins.rename_accounts.rename_accounts" "{
'Expenses:Taxes' : 'Income:Taxes',
'Assets:House:Capital-Improvements' : 'Expenses:House:Appliances',
}"

Deze plugin:

  • Gebruikt substring-matching (Expenses:Taxes:Federal wordt automatisch Income:Taxes:Federal)
  • Ondersteunt regex met terugverwijzingen
  • Genereert automatisch Open-directives voor hernoemde rekeningen
  • Past je bronbestanden niet aan -- wijzigt alleen de in-memory representatie
  • Kan worden in- of uitgeschakeld door de pluginregel uit te commentariëren

3. Sluiten en Heropenen Patroon

Voor echte rekeningmigraties (bijv. overstappen van bank):

; Oude rekening
2010-01-01 open Assets:US:OldBank:Checking USD

; Sluit oude, open nieuwe
2024-06-15 close Assets:US:OldBank:Checking
2024-06-15 open Assets:US:NewBank:Checking USD

; Maak het resterende saldo over
2024-06-15 * "Overboeking naar nieuwe bank"
Assets:US:OldBank:Checking -5000.00 USD
Assets:US:NewBank:Checking 5000.00 USD

Rekeningen Sluiten

De close-directive markeert een rekening als niet langer actief:

2016-11-28 close Liabilities:CreditCard:CapitalOne

Wat Sluiten Doet

  • Geeft een fout als er boekingen plaatsvinden na de sluitingsdatum
  • Filtert de rekening uit rapporten buiten de actieve periode
  • Geeft Fava de opdracht de rekening te verbergen in boomweergaven (instelbaar)

Wanneer Rekeningen Sluiten

  • Wanneer je een bankrekening of creditcard in de echte wereld sluit
  • Wanneer je van werkgever wisselt
  • Wanneer je je rekeningschema consolideert of reorganiseert
  • Wanneer je een eigendom verkoopt of een beleggingspositie sluit

Controleer Altijd op Nulsaldo Vóór Sluiting

Beancount controleert niet automatisch op een nulsaldo bij sluiting. Voeg een handmatige controle toe:

2023-12-31 balance Assets:US:OldBank:Savings  0.00 USD
2023-12-31 close Assets:US:OldBank:Savings

Je Rekeningschema Organiseren

Begin Eenvoudig, Verfijn Gaandeweg

Je hebt niet het perfecte rekeningschema nodig op dag één. Begin met brede categorieën en splits ze naarmate je rapportagebehoeften groeien. De auteur van Beancount meldt dat hij meer dan 250 uitgavenrekeningen heeft, allemaal in de loop van de tijd organisch ontstaan.

Veelvoorkomende Organisatiepatronen

Patroon 1: Op Instelling (voor balansrekeningen)

Assets:US:BofA:Checking
Assets:US:BofA:Savings
Assets:US:Vanguard:401k:VTSAX
Assets:US:Vanguard:401k:VBTLX
Liabilities:US:Amex:Platinum
Liabilities:US:Chase:Sapphire

Patroon 2: Op Categorie (voor inkomsten- en uitgavenrekeningen)

Expenses:Food:Groceries
Expenses:Food:Restaurant
Expenses:Food:Coffee
Expenses:Housing:Rent
Expenses:Housing:Insurance
Expenses:Housing:Utilities:Electric
Expenses:Housing:Utilities:Water
Expenses:Transport:Subway
Expenses:Transport:Gas
Expenses:Health:Medical
Expenses:Health:Dental

Patroon 3: Op Geografie (voor financiën in meerdere landen)

Assets:US:BofA:Checking
Assets:CA:RBC:Checking
Assets:UK:HSBC:Current
Income:US:Acme:Salary
Income:CA:Freelance:Consulting

Patroon 4: Op Eigendom of Project (voor onroerend goed of bedrijf)

Assets:US:Loft4530:Property
Income:US:Loft4530:Rental
Expenses:Loft4530:Electricity
Expenses:Loft4530:Insurance
Expenses:Loft4530:Maintenance

Patroon 5: Spiegeling van Gerelateerde Rekeningen (zelfde instellingscomponent)

Assets:US:ETrade:Cash
Assets:US:ETrade:AAPL
Income:US:ETrade:Dividends
Income:US:ETrade:PnL
Expenses:US:ETrade:Commissions

Hoe Diep Moeten Hiërarchieën Gaan?

  • 2-3 niveaus is gebruikelijk voor uitgavencategorieën (Expenses:Food:Restaurant)
  • 3-4 niveaus voor gestructureerde balansposten (Assets:US:Vanguard:401k:VTSAX)
  • Ga niet dieper dan 5 niveaus tenzij je een sterke rapportagereden hebt
  • Diepe hiërarchieën werken goed wanneer Fava ze inklapt in boomweergaven

Een Voorbeeld uit de Praktijk

Hier is een praktisch rekeningschema voor persoonlijke financiën:

; ── Bezittingen ──
Assets:US:BofA:Checking USD
Assets:US:BofA:Savings USD
Assets:US:Vanguard:401k:VTSAX VTSAX
Assets:US:Vanguard:Roth:VTSAX VTSAX
Assets:US:ETrade:Cash USD
Assets:US:ETrade:AAPL AAPL
Assets:Cash:Wallet USD

; ── Schulden ──
Liabilities:US:Amex:Platinum USD
Liabilities:US:Chase:Freedom USD
Liabilities:US:BofA:Mortgage USD

; ── Inkomsten ──
Income:US:Employer:Salary
Income:US:Employer:Bonus
Income:US:Employer:Match401k
Income:US:ETrade:Dividends
Income:US:BofA:Interest

; ── Uitgaven ──
Expenses:Food:Groceries
Expenses:Food:Restaurant
Expenses:Food:Coffee
Expenses:Housing:Rent
Expenses:Housing:Insurance
Expenses:Housing:Utilities:Electric
Expenses:Housing:Utilities:Water
Expenses:Transport:Subway
Expenses:Transport:Taxi
Expenses:Transport:Gas
Expenses:Health:Medical
Expenses:Health:Dental
Expenses:Health:Pharmacy
Expenses:Shopping:Clothing
Expenses:Shopping:Electronics
Expenses:Entertainment:Streaming
Expenses:Entertainment:Books
Expenses:Travel:Flights
Expenses:Travel:Hotels
Expenses:Taxes:Federal
Expenses:Taxes:State
Expenses:Taxes:SocialSecurity
Expenses:Taxes:Medicare

; ── Eigen Vermogen ──
Equity:Opening-Balances
Equity:Retained-Earnings

Fava-Specifieke Functies

Actualiteitsindicatoren

Een van de beste functies van Fava voor rekeningbeheer. Voeg deze metadata toe aan elke rekening:

2014-05-01 open Assets:US:BofA:Checking  USD
fava-uptodate-indication: TRUE

Fava toont dan gekleurde stippen naast de rekening:

  • Groene stip: laatste boeking is een geslaagde saldocontrole (rekening is gereconcilieerd)
  • Rode stip: laatste boeking is een mislukte saldocontrole (vereist aandacht)
  • Gele stip: laatste boeking bestaat maar is geen saldocontrole (nog niet gereconcilieerd)
  • Grijze stip: geen activiteit binnen de terugkijkperiode

Configureer de grijze drempel:

2016-06-14 custom "fava-option" "uptodate-indicator-grey-lookback-days" "60"

Boomweergave-instellingen

Bepaal hoe Fava rekeningen weergeeft:

; Gesloten rekeningen tonen in de boom
2016-06-14 custom "fava-option" "show-closed-accounts" "true"

; Rekeningen met nul transacties tonen
2016-06-14 custom "fava-option" "show-accounts-with-zero-transactions" "true"

; Rekeningen met nulsaldo tonen
2016-06-14 custom "fava-option" "show-accounts-with-zero-balance" "true"

Inklappatronen

Diep geneste rekeningen standaard inklappen:

; Alle rekeningen 3+ niveaus diep inklappen
2016-06-14 custom "fava-option" "collapse-pattern" ".*:.*:.*"

; Specifieke subbomen inklappen
2016-06-14 custom "fava-option" "collapse-pattern" "Assets:US:Vanguard:.*"

Subrekeningen Opnemen in Rekeningjournaal

Bij het bekijken van het journaal van een rekening in Fava, boekingen van subrekeningen opnemen:

2016-06-14 custom "fava-option" "account-journal-include-children" "true"

Tekens Omdraaien voor Leesbaarheid

Standaard worden inkomsten en schulden als negatieve getallen weergegeven (hun natuurlijke teken). Om ze als positief weer te geven:

2016-06-14 custom "fava-option" "invert-income-liabilities-equity" "true"

Documentbeheer

Fava integreert documentverwerking met je rekeninghiërarchie. Stel een documentenroot in:

option "documents" "/pad/naar/documenten"

Organiseer bestanden vervolgens op rekeningpad:

/pad/naar/documenten/
Assets/
US/
BofA/
Checking/
2024-01-15.januari-overzicht.pdf
2024-02-15.februari-overzicht.pdf
Liabilities/
US/
Amex/
Platinum/
2024-03-15.maart-factuur.pdf

Bestanden die beginnen met JJJJ-MM-DD worden automatisch ontdekt door Fava en verschijnen in de journaalweergave van de rekening.

Veelgemaakte Fouten en Hoe Je Ze Vermijdt

1. Typefouten in Rekeningnamen

Een enkele typefout zoals Expenses:Grocries maakt een geheel nieuwe, onbedoelde rekening aan.

Oplossing: Gebruik de auto_accounts-plugin niet in productie. Vereist expliciete open-directives. Beancount geeft onmiddellijk een fout bij elke niet-gedeclareerde rekening:

ERROR: Invalid reference to unknown account 'Expenses:Grocries'

2. Valutabeperkingen Vergeten

Zonder valutabeperkingen kun je per ongeluk EUR boeken op een rekening die alleen USD mag bevatten.

Oplossing: Geef altijd valuta's op bij open-directives:

2014-01-01 open Assets:US:BofA:Checking  USD

3. Saldi Niet Regelmatig Controleren

Zonder regelmatige saldocontroles kunnen fouten maandenlang onopgemerkt blijven.

Oplossing: Voeg maandelijkse saldocontroles toe voor elke actieve rekening:

2024-01-01 balance Assets:US:BofA:Checking   5,432.10 USD
2024-02-01 balance Assets:US:BofA:Checking 4,890.55 USD
2024-03-01 balance Assets:US:BofA:Checking 6,123.00 USD

4. Inconsistente Naamgevingsconventies

Het mengen van patronen (bijv. Expenses:Food vs Expenses:US:Food) maakt queries en rapporten verwarrend.

Oplossing: Kies een conventie en houd je eraan. Gebruik landprefixen voor balansrekeningen, op categorieën gebaseerde naamgeving voor inkomsten en uitgaven.

5. Sluiten Zonder Nulsaldo-controle

De close-directive controleert het saldo niet. Je zou een rekening kunnen sluiten waar nog geld op staat.

Oplossing: Combineer sluiting altijd met een saldocontrole:

2023-12-31 balance Assets:US:OldBank:Savings  0.00 USD
2023-12-31 close Assets:US:OldBank:Savings

Geavanceerde Patronen

Tips voor Meerdere Valuta's

Declareer je operationele valuta's voor speciale rapportkolommen:

option "operating_currency" "USD"
option "operating_currency" "EUR"

Voor rekeningen met meerdere valuta's, vermeld alle toegestane valuta's:

2014-01-01 open Assets:Cash  USD,CAD,EUR

Saldocontroles met meerdere valuta's moeten per valuta worden gedaan:

2024-01-01 balance Assets:Cash     562.00 USD
2024-01-01 balance Assets:Cash 210.00 CAD
2024-01-01 balance Assets:Cash 60.00 EUR

Pad en Balance voor Initiële Opzet

Gebruik de pad-directive om openingssaldi vast te stellen zonder handmatig bedragen te berekenen:

2000-05-28 open Assets:US:BofA:Checking  USD
2000-05-28 pad Assets:US:BofA:Checking Equity:Opening-Balances
2024-07-01 balance Assets:US:BofA:Checking 12,345.67 USD

Beancount genereert automatisch de correctietransactie. Een belangrijke kanttekening: saldocontroles controleren het saldo aan het begin van de opgegeven datum. Een pad op 2 januari heeft dus een saldocontrole nodig op 3 januari of later.

Rekeningmetadata voor Categorisering

Gebruik metadata op open-directives voor aangepaste rapportage:

2014-01-01 open Assets:US:BofA:Checking  USD
category: "liquid"
tax-status: "taxable"

2014-01-01 open Assets:US:Vanguard:401k USD
category: "retirement"
tax-status: "tax-deferred"

Bevraag metadata met BQL:

SELECT account, META("category") WHERE META("tax-status") = "taxable"

Notities voor Rekeninggeschiedenis

Koppel gedateerde notities aan het journaal van elke rekening:

2024-03-20 note Assets:US:BofA:Checking "Gebeld over betwiste afschrijving, ref #12345"
2024-06-01 note Liabilities:US:Chase:Sapphire "Jaarlijkse kosten kwijtgescholden na bellen met retentieafdeling"

Deze notities verschijnen in het journaal van de rekening in Fava en bieden een auditspoor.

Trackingrekeningen en Oormerking

Beancount heeft niet de virtuele boekingen van Ledger, maar je kunt subrekeningen gebruiken voor oormerking:

; Noodfonds bijhouden binnen betaalrekening
Assets:US:BofA:Checking:EmergencyFund USD
Assets:US:BofA:Checking:Operating USD

; Declaraties bijhouden
Assets:Receivables:Employer:Travel USD
Assets:Receivables:Friend:SharedDinner USD

Belastingvriendelijke Uitgavencategorieën

Structureer uitgavenrekeningen om de belastingaangifte te vereenvoudigen:

Expenses:Health:Medical:Deductible
Expenses:Charity:Deductible
Expenses:Business:Office
Expenses:Business:Equipment
Expenses:Education:Professional

Snel Naslagwerk

TaakSyntax
Een rekening openen2024-01-01 open Assets:US:BofA:Checking USD
Een rekening sluiten2024-12-31 close Assets:US:OldBank:Savings
Saldo controleren2024-01-01 balance Assets:US:BofA:Checking 5,432.10 USD
Aanvullen tot saldo2024-01-01 pad Assets:Cash Equity:Opening-Balances
Notitie toevoegen2024-01-15 note Assets:US:BofA:Checking "Maandelijkse reconciliatie gedaan"
Document bijvoegen2024-01-15 document Assets:US:BofA:Checking "/pad/naar/overzicht.pdf"
Metadata toevoegenIngesprongen sleutel-waardepaar op de regel na open
Automatisch openen (dev)plugin "beancount.plugins.auto_accounts"
Valuta beperken2024-01-01 open Assets:Cash USD,EUR
Boekingsmethode instellen2024-01-01 open Assets:US:ETrade:AAPL AAPL "FIFO"

Samenvatting

Goed rekeningbeheer is de basis van effectieve Beancount-boekhouding. Dit zijn de belangrijkste punten:

  1. Gebruik altijd expliciete open-directives -- ze vangen typefouten op en handhaven discipline
  2. Voeg valutabeperkingen toe om fouten met verkeerde valuta's te voorkomen
  3. Gebruik een consistente naamgevingsconventie -- op instelling voor balansrekeningen, op categorie voor inkomsten/uitgaven
  4. Begin eenvoudig en verfijn -- splits rekeningen naarmate je rapportagebehoeften groeien
  5. Controleer saldi regelmatig -- maandelijkse reconciliatie vangt fouten vroeg op
  6. Sluit rekeningen correct -- met een nulsaldo-controle
  7. Benut de functies van Fava -- actualiteitsindicatoren, inklappatronen en documentintegratie
  8. Gebruik metadata voor aangepaste categorisering en rapportage

Veel succes met je boekhouding!

References: