Naar hoofdinhoud springen

Essentiële Beancount Native Plugins Die Je Moet Kennen

11 min leestijdMike ThriftMike Thrift
Essentiële Beancount Native Plugins Die Je Moet Kennen

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.

Verken een live voorbeeld van een cryptocurrency-grootboek:

Dit artikel delen