Doorgaan naar hoofdinhoud

Essentiële Beancount Native Plugins Die Je Moet Kennen

· 10 min leestijd
Mike Thrift
Mike Thrift
Marketing Manager

De kracht van Beancount schuilt niet alleen in het platte-tekstformaat, maar ook in de uitbreidbaarheid via plug-ins. Native plug-ins zijn ingebouwde modules die de functionaliteit van Beancount verbeteren, tijdrovende taken automatiseren en best practices voor boekhouding afdwingen. In deze uitgebreide gids verkennen we alle native plug-ins die beschikbaar zijn in Beancount en hoe je ze effectief kunt gebruiken.

Wat zijn Beancount-plug-ins?

Beancount-plug-ins zijn Python-modules die je grootboekmutaties verwerken om automatiserings-, validatie- of transformatiemogelijkheden toe te voegen. Ze worden uitgevoerd tijdens de laadfase van je grootboekbestand en kunnen:

  • Automatiseren van repetitieve taken (bijv. het aanmaken van rekeningverklaringen)
  • Valideren van gegevensintegriteit (bijv. controleren op dubbele transacties)
  • Transformeren van mutaties (bijv. het genereren van prijsvermeldingen uit transacties)
  • Afdwingen van boekhoudregels (bijv. één commodity per rekening)

Hoe gebruik je plug-ins

Om een plug-in in te schakelen in je Beancount-bestand, voeg je bovenaan je grootboek een plugin-richtlijn toe:

plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.implicit_prices"

Sommige plug-ins accepteren configuratieopties:

plugin "beancount.plugins.check_commodity" "USD,EUR,CAD"

Categorieën native plug-ins

De native plug-ins van Beancount vallen in vier hoofdcategorieën:

1. Automatisering-plug-ins

2. Validatie-plug-ins

3. Transformatie-plug-ins

4. Meta-plug-ins


1. Automatisering-plug-ins

Deze plug-ins automatiseren repetitieve boekhoudtaken, waardoor je tijd bespaart en handmatige fouten vermindert.

auto_accounts - Automatische rekeningverklaringen

Wat het doet: Voegt automatisch Open-richtlijnen in voor rekeningen die in transacties voorkomen maar niet expliciet zijn gedeclareerd.

Waarom gebruiken: Elimineert de noodzaak om elke rekening handmatig te declareren voor gebruik. Perfect om snel aan de slag te gaan of voor gebruikers die de voorkeur geven aan minimale boilerplate.

Voorbeeld:

plugin "beancount.plugins.auto_accounts"

2026-01-01 * "Koffiebar"
Expenses:Food:Coffee 4.50 USD
Assets:Cash -4.50 USD

Zonder de plug-in zou je handmatig het volgende moeten toevoegen:

2025-12-01 open Expenses:Food:Coffee
2025-12-01 open Assets:Cash

Wanneer te gebruiken: Ideaal voor beginners of degenen die een minder uitgebreid grootboek willen. Expliciete rekeningverklaringen kunnen echter helpen om typefouten te ontdekken.


close_tree - Automatische sluiting van rekeninghiërarchie

Wat het doet: Wanneer je een hoofdrekening sluit, sluit deze plug-in automatisch alle onderliggende rekeningen.

Waarom gebruiken: Behoudt consistentie in je rekeninghiërarchie. Als je Assets:Investments sluit, worden alle subrekeningen zoals Assets:Investments:Stocks and Assets:Investments:Bonds automatisch gesloten.

Voorbeeld:

plugin "beancount.plugins.close_tree"

2025-06-30 close Assets:Investments

; Deze worden automatisch gesloten:
; Assets:Investments:Stocks
; Assets:Investments:Bonds
; Assets:Investments:RealEstate

Wanneer te gebruiken: Bij het herstructureren van je rekeninghiërarchie of het sluiten van volledige categorieën rekeningen.


implicit_prices - Automatische generatie van prijsvermeldingen

Wat het doet: Synthetiseert Price-richtlijnen uit transactieboekingen die kosten (@) of prijzen (@@) bevatten.

Waarom gebruiken: Vult je prijsdatabase automatisch aan vanuit je transacties, wat nauwkeurige rapportages van de marktwaarde mogelijk maakt zonder handmatige prijsvermeldingen.

Voorbeeld:

plugin "beancount.plugins.implicit_prices"

2026-01-02 * "Koop AAPL aandelen"
Assets:Investments:Stocks 10 AAPL @ 150.00 USD
Assets:Cash -1500.00 USD

Dit genereert automatisch:

2026-01-02 price AAPL  150.00 USD

Wanneer te gebruiken: Essentieel voor het bijhouden van investeringen en boekhouding in meerdere valuta's waarbij je automatische prijsgeschiedenis wilt.


2. Validatie-plug-ins

Deze plug-ins dwingen gegevensintegriteit en best practices voor boekhouding af, waardoor fouten worden onderschept voordat ze problemen worden.

noduplicates - Detectie van dubbele transacties

Wat het doet: Controleert of er geen twee transacties identiek zijn door hashes van transactiegegevens te berekenen en te vergelijken.

Waarom gebruiken: Voorkomt per ongeluk dubbele invoer, vooral bij het importeren van transacties uit meerdere bronnen.

Voorbeeld:

plugin "beancount.plugins.noduplicates"

2026-01-02 * "Huurbetaling"
Expenses:Rent 1200.00 USD
Assets:Checking -1200.00 USD

; Dit zou een fout veroorzaken:
2026-01-02 * "Huurbetaling"
Expenses:Rent 1200.00 USD
Assets:Checking -1200.00 USD

Wanneer te gebruiken: Altijd aanbevolen, vooral als je importeert uit bankafschriften of meerdere gegevensbronnen gebruikt.


check_commodity - Validatie van commodity-declaratie

Wat het doet: Zorgt ervoor dat alle commodities die in je grootboek worden gebruikt, bijbehorende Commodity-richtlijnen hebben.

Waarom gebruiken: Dwingt expliciete commodity-declaraties af, wat je helpt een schone lijst van activa en valuta's bij te houden.

Voorbeeld:

plugin "beancount.plugins.check_commodity"

2015-01-01 commodity USD
2020-01-01 commodity AAPL

; Dit zou een fout veroorzaken zonder een commodity-declaratie:
2026-01-02 * "Koop Bitcoin"
Assets:Crypto 0.5 BTC @ 45000 USD
Assets:Cash -22500.00 USD

Wanneer te gebruiken: Aanbevolen voor het bijhouden van strikte commodity-tracking en het voorkomen van typefouten in tickersymbolen.

check_average_cost - Validatie van de kostprijsbasis

Wat het doet: Verifieert dat de kostprijsbasis correct behouden blijft in transacties, vooral bij het gebruik van gemiddelde-kostprijs-boekhouding.

Waarom het gebruiken: Zorgt ervoor dat uw kostprijsadministratie nauwkeurig blijft voor belastingaangiften en berekeningen van vermogenswinst.

Wanneer te gebruiken: Cruciaal voor beleggingsportefeuilles en elk scenario waarbij een nauwkeurige kostprijsregistratie van belang is.


check_closing - Validatie van saldoafsluiting

Wat het doet: Breidt de closing metadata uit naar saldocontroles, waardoor wordt gegarandeerd dat posities op nul staan na het sluiten van trades.

Waarom het gebruiken: Bevestigt dat wanneer u een volledige positie verkoopt, het saldo ook werkelijk nul is (geen resterende fracties van aandelen).

Voorbeeld:

plugin "beancount.plugins.check_closing"

2026-01-02 * "Volledige AAPL-positie sluiten" #closing
Assets:Investments:Stocks -100 AAPL {150.00 USD}
Assets:Cash 15000.00 USD
Income:Investments:Gains -500.00 USD

De #closing tag vertelt de plug-in om te verifiëren dat uw AAPL-positie nul is na deze transactie.

Wanneer te gebruiken: Bij het verkopen van volledige posities om er zeker van te zijn dat er niets achterblijft.


coherent_cost - Consistentiecontrole voor valuta/kosten

Wat het doet: Valideert dat valuta's niet inconsistent worden gebruikt — zowel met als zonder kostenannotaties.

Waarom het gebruiken: Voorkomt het mengen van kale valuta (zoals 100 USD) met valuta voorzien van kosten (zoals 100 USD {1.2 CAD}), wat boekhoudkundige fouten kan veroorzaken.

Wanneer te gebruiken: Aanbevolen voor grootboeken met meerdere valuta's om consistentie te behouden.


leafonly - Afdwingen van bladrekeningen

Wat het doet: Zorgt ervoor dat alleen bladrekeningen (rekeningen zonder subrekeningen) boekingen ontvangen.

Waarom het gebruiken: Dwingt een schone hiërarchie van rekeningen af waarbij hoofdrekeningen zoals Expenses:Food geen directe boekingen hebben, maar alleen hun subrekeningen zoals Expenses:Food:Groceries en Expenses:Food:Restaurants.

Voorbeeld:

plugin "beancount.plugins.leafonly"

; Dit zou een fout veroorzaken:
2026-01-02 * "Boodschappen doen"
Expenses:Food 50.00 USD ; Fout: Moet boeken naar een bladrekening
Assets:Cash -50.00 USD

; Correcte manier:
2026-01-02 * "Boodschappen doen"
Expenses:Food:Groceries 50.00 USD ; Correct: Boeking naar bladrekening
Assets:Cash -50.00 USD

Wanneer te gebruiken: Wanneer u een strikte hiërarchische boekhouding met duidelijke categorisering wilt aanhouden.


nounused - Detectie van ongebruikte rekeningen

Wat het doet: Identificeert rekeningen die geopend zijn, maar nooit daadwerkelijk in transacties zijn gebruikt.

Waarom het gebruiken: Helpt u bij het opschonen van uw rekeningverklaringen en bij het identificeren van mogelijke typefouten of verlaten rekeningen.

Wanneer te gebruiken: Periodiek, om uw rekeningstructuur te controleren en op te schonen.


onecommodity - Eén munteenheid per rekening

Wat het doet: Dwingt af dat elke rekening slechts één type munteenheid bevat.

Waarom het gebruiken: Voorkomt het mengen van verschillende activa op dezelfde rekening, wat over het algemeen een best practice is in de boekhouding.

Voorbeeld:

plugin "beancount.plugins.onecommodity"

2026-01-02 * "Aandelen kopen"
Assets:Investments 10 AAPL @ 150 USD
Assets:Cash -1500.00 USD

; Dit zou een fout veroorzaken:
2026-01-03 * "Meer aandelen kopen"
Assets:Investments 5 GOOGL @ 140 USD ; Fout: Andere munteenheid
Assets:Cash -700.00 USD

Wanneer te gebruiken: Wanneer u de voorkeur geeft aan strikte scheiding van rekeningen (één rekening per aandeel/activum).


sellgains - Validatie van vermogenswinst

Wat het doet: Vergelijkt gedeclareerde vermogenswinsten met de berekende winsten uit de verkoop van lots, waardoor uw winst-/verliesberekeningen nauwkeurig zijn.

Waarom het gebruiken: Spoort fouten op in handmatige berekeningen van vermogenswinst, wat essentieel is voor een nauwkeurige belastingaangifte.

Voorbeeld:

plugin "beancount.plugins.sellgains"

2026-01-02 * "AAPL-aandelen verkopen"
Assets:Investments:Stocks -10 AAPL {140.00 USD}
Assets:Cash 1500.00 USD
Income:Investments:Gains -100.00 USD ; Plug-in valideert dat dit correct is

De plug-in zal verifiëren: Verkoopopbrengst (1500) - Kostprijsbasis (1400) = Winst (100)

Wanneer te gebruiken: Essentieel voor iedereen die handelt in aandelen, crypto of andere activa waarbij vermogenswinst van belang is.


unique_prices - Controle op unieke prijzen

Wat het doet: Zorgt ervoor dat er slechts één prijsinvoer per munteenheid per datum is.

Waarom het gebruiken: Voorkomt tegenstrijdige prijsgegevens die kunnen leiden tot onjuiste waarderingen.

Wanneer te gebruiken: Aanbevolen bij het handmatig invoeren van prijzen of bij het importeren uit meerdere prijsbronnen.


3. Transformatie-plug-ins

Deze plug-ins wijzigen of verbeteren uw grootboekgegevens op nuttige manieren.

currency_accounts - Handelsrekeningen voor valuta

Wat het doet: Implementeert handelsrekeningen voor valuta om forex-conversies expliciet bij te houden.

Waarom het gebruiken: Biedt gedetailleerde registratie van valutaconversietransacties, nuttig voor boekhoudnormen die dit vereisen.

Wanneer te gebruiken: Wanneer u forex-winsten/verliezen afzonderlijk moet bijhouden of aan specifieke boekhoudkundige vereisten moet voldoen.


commodity_attr - Validatie van munteenheidkenmerken

Wat het doet: Valideert dat munteenheid-instructies de vereiste kenmerken hebben (zoals export, name, enz.).

Waarom het gebruiken: Zorgt ervoor dat de metadata van uw munteenheden volledig en consistent is.

Wanneer te gebruiken: Wanneer u gedetailleerde metadata voor munteenheden bijhoudt voor rapportage- of exportdoeleinden.


4. Meta-Plugins

Deze plugins zijn verzamelingen van andere plugins voor het gemak.

auto - Alle automatische plugins

Wat het doet: Schakelt een verzameling "soepele" of automatische plugins in via één directief.

Wanneer te gebruiken: Snelle installatie voor gebruikers die maximale automatisering willen met minimale configuratie.


pedantic - Alle validatieplugins

Wat het doet: Schakelt alle strikte validatieplugins in één keer in.

Waarom het te gebruiken: Dwingt maximale gegevensintegriteit en boekhoudkundige discipline af. Ideaal voor productie-ledgers of wanneer nauwkeurigheid van essentieel belang is.

Voorbeeld:

plugin "beancount.plugins.pedantic"

; Dit is gelijk aan het inschakelen van:
; - check_commodity
; - check_average_cost
; - coherent_cost
; - leafonly
; - noduplicates
; - nounused
; - onecommodity
; - sellgains
; - unique_prices

Wanneer te gebruiken: Voor productie-ledgers waarbij u maximale validatie wilt en bereid bent om strengere boekhoudmethoden te hanteren.


Aanbevolen plugin-configuraties

Voor beginners

plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.noduplicates"
plugin "beancount.plugins.implicit_prices"

Deze minimale set biedt automatisering terwijl veelvoorkomende fouten worden voorkomen.

Voor beleggers

plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.implicit_prices"
plugin "beancount.plugins.sellgains"
plugin "beancount.plugins.check_average_cost"
plugin "beancount.plugins.unique_prices"

Richt zich op het volgen van beleggingen en de nauwkeurigheid van vermogenswinsten.

Voor strikte boekhouding

plugin "beancount.plugins.pedantic"
plugin "beancount.plugins.sellgains"
plugin "beancount.plugins.check_closing"

Maximale validatie voor productie-omgevingen.

Standaardconfiguratie bij Beancount.io

Bij Beancount.io voegen we de auto_accounts-plugin standaard toe aan alle nieuwe ledgerbestanden:

plugin "beancount.plugins.auto_accounts"

Dit biedt een uitstekende balans tussen gebruiksgemak en functionaliteit om snel aan de slag te gaan.


Best Practices

  1. Begin minimaal, voeg toe naar behoefte: Start met auto_accounts en noduplicates, en voeg validatieplugins toe naarmate uw ledger volwassener wordt.

  2. Test plugins individueel: Schakel bij het toevoegen van meerdere plugins deze één voor één in om hun effecten te begrijpen.

  3. Lees foutmeldingen zorgvuldig: Plugin-fouten wijzen vaak op echte boekhoudkundige problemen die moeten worden opgelost.

  4. Gebruik pedantic voor productie: Zodra uw workflow is vastgesteld, kunt u overwegen om strikte validatie in te schakelen.

  5. Combineer met aangepaste plugins: Native plugins werken samen met aangepaste plugins zoals de forecast-plugin voor maximale functionaliteit.


Buiten native plugins

Hoewel native plugins de kernfunctionaliteit bieden, bevat het Beancount-ecosysteem veel door de community ontwikkelde plugins voor gespecialiseerde behoeften:

  • fava.plugins.forecast - Voor het voorspellen van terugkerende transacties
  • fava.plugins.link_documents - Voor het koppelen van transacties aan bewijsstukken
  • Aangepaste importers voor bankspecifieke CSV-formaten
  • Belastingspecifieke rekenmachines en rapporten

Verken het Beancount-ecosysteem voor meer opties.


Conclusie

De native plugins van Beancount transformeren plain-text accounting van een handmatig proces naar een geautomatiseerd, gevalideerd en robuust financieel beheersysteem. Door deze ingebouwde tools te begrijpen en te benutten, kunt u:

  • ✅ Vermoeiende boekhoudtaken automatiseren
  • ✅ Fouten opsporen voordat ze problemen worden
  • ✅ Strikte gegevensintegriteit behouden
  • ✅ Nauwkeurige financiële rapporten genereren
  • ✅ Focussen op financiële inzichten in plaats van gegevensinvoer

Begin vandaag nog met het experimenteren met deze plugins in uw ledger. Start met auto_accounts en implicit_prices, en voeg geleidelijk validatieplugins toe naarmate uw boekhoudpraktijken volwassener worden.

Klaar om deze plugins te proberen? Ga naar Beancount.io en begin ze vandaag nog in uw ledgerbestand te gebruiken!


Bronnen


Heeft u vragen over Beancount-plugins? Neem deel aan de discussie op ons community-forum of bekijk onze documentatie.

References: