Naar hoofdinhoud springen

Essentiële Beancount Native Plugins die je moet kennen

Gepubliceerd Laatst bijgewerkt 12 min leestijdMike ThriftMike Thrift
Essentiële Beancount Native Plugins die je moet kennen
Op deze pagina

Actueel per 2026-09-15.

De kracht van Beancount ligt niet alleen in het plain-text-formaat, maar ook in de uitbreidbaarheid via plugins. Native plugins zijn ingebouwde modules die de functionaliteit van Beancount verbeteren, saaie taken automatiseren en boekhoudkundige best practices afdwingen. In deze uitgebreide gids verkennen we alle native plugins die beschikbaar zijn in Beancount en hoe je ze effectief kunt gebruiken.

Voor de directive-syntax waarop deze plugins werken, zie de Beancount-syntaxreferentie. Voor echte community-workflows die plugins combineren met importeurs en Fava, zie de community-showcase. Ledger-opties die met plugins interageren vind je in Opties-configuratie.

Wat zijn Beancount-plugins?

Beancount-plugins zijn Python-modules die je ledger-items verwerken om automatisering, validatie of transformatiemogelijkheden toe te voegen. Ze worden uitgevoerd tijdens de laadfase van je ledgerbestand en kunnen:

  • Automatiseren van repetitieve taken (bijv. het maken van rekeningdeclaraties)
  • Valideren van gegevensintegriteit (bijv. controleren op dubbele transacties)
  • Transformeren van items (bijv. het genereren van prijsitems uit transacties)
  • Afdwingen van boekhoudregels (bijv. één commodity per rekening)

Hoe gebruik je plugins

Om een plugin in je Beancount-bestand in te schakelen, voeg je een plugin-directive toe bovenaan je ledger:

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

Sommige plugins accepteren configuratieopties:

; @m49-fragment dateless
plugin "beancount.plugins.check_commodity" "{'Assets:Trading': '.*'}"

Native plugincategorieën

De native plugins van Beancount vallen uiteen in vier hoofdcategorieën:

1. Automatiseringsplugins

2. Validatieplugins

3. Transformatieplugins

4. Meta-plugins


1. Automatiseringsplugins

Deze plugins automatiseren repetitieve boekhoudtaken, besparen tijd en verminderen handmatige fouten.

auto_accounts - Automatische rekeningdeclaraties

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

Waarom gebruiken: Elimineert de noodzaak om elke rekening handmatig te declareren voordat je deze gebruikt. Perfect voor een snelle start of voor gebruikers die de voorkeur geven aan minimale boilerplate.

Voorbeeld:

plugin "beancount.plugins.auto_accounts"
 
2026-01-01 * "Koffietent"
  Expenses:Food:Coffee        4.50 USD
  Assets:Cash                -4.50 USD

Zonder de plugin zou je handmatig moeten toevoegen:

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

Wanneer gebruiken: Ideaal voor beginners of voor degenen die een minder uitgebreide ledger willen. Expliciete rekeningdeclaraties kunnen echter helpen om typefouten op te sporen.


close_tree - Automatisch afsluiten van rekeninghiërarchie

Wat het doet: Wanneer je een bovenliggende rekening afsluit, sluit deze plugin automatisch al zijn afstammelingen af.

Waarom gebruiken: Handhaaft consistentie in je rekeninghiërarchie. Als je Assets:Investments sluit, worden alle subrekeningen zoals Assets:Investments:Stocks en 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 gebruiken: Bij het herstructureren van je rekeninghiërarchie of het sluiten van hele rekeningcategorieën.


implicit_prices - Automatisch genereren van prijsitems

Wat het doet: Synthetiseert Price-directives uit transactieboekingen met kosten (@) of prijzen (@@).

Waarom gebruiken: Vult automatisch je prijsdatabase met transacties, waardoor een nauwkeurige marktwaarde rapportage mogelijk is zonder handmatige prijsitems.

Voorbeeld:

plugin "beancount.plugins.implicit_prices"
 
2026-01-02 * "AAPL-aandelen kopen"
  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 gebruiken: Essentieel voor het bijhouden van beleggingen en voor multi-valuta-administratie waarbij je een automatische prijsgeschiedenis wilt.


2. Validatieplugins

Deze plugins handhaven gegevensintegriteit en boekhoudkundige best practices, en vangen fouten op voordat ze problemen worden.

noduplicates - Detectie van dubbele transacties

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

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

Voorbeeld:

; @m49-fragment expected-failure
plugin "beancount.plugins.noduplicates"
 
2026-01-02 * "Huur betaling"
  Expenses:Rent              1200.00 USD
  Assets:Checking           -1200.00 USD
 
; Dit zou een fout veroorzaken:
2026-01-02 * "Huur betaling"
  Expenses:Rent              1200.00 USD
  Assets:Checking           -1200.00 USD

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


check_commodity - Validatie van commodity-declaraties

Wat het doet: Zorgt ervoor dat alle commodities die in je ledger worden gebruikt, overeenkomstige Commodity-directives hebben.

Waarom gebruiken: Handhaaft expliciete commodity-declaraties, waardoor je een schone lijst van activa en valuta's behoudt.

Voorbeeld:

; @m49-fragment expected-failure
plugin "beancount.plugins.check_commodity"
 
2015-01-01 commodity USD
2020-01-01 commodity AAPL
 
; Dit zou een fout veroorzaken zonder commodity-declaratie:
2026-01-02 * "Bitcoin kopen"
  Assets:Crypto              0.5 BTC @ 45000 USD
  Assets:Cash             -22500.00 USD

Wanneer gebruiken: Aanbevolen voor strikt commodity-beheer en het voorkomen van typefouten in tickersymbolen.


check_average_cost - Validatie van kostprijsbasis

Wat het doet: Controleert of de kostprijsbasis correct wordt behouden in transacties, vooral bij gebruik van gemiddelde-kostprijsboekingen.

Waarom gebruiken: Zorgt ervoor dat je kostberekening accuraat blijft voor belastingaangiften en berekening van vermogenswinsten.

Wanneer gebruiken: Cruciaal voor beleggingsportefeuilles en elk scenario waarin nauwkeurige kostentracking belangrijk is.


check_closing - Validatie van rekeningafsluiting

Wat het doet: Breidt de closing-metadata uit naar saldocontroles, zodat posities na afsluitende transacties nul zijn.

Waarom gebruiken: Bevestigt dat wanneer je een hele positie verkoopt, het saldo echt nul is (geen resterende fractionele 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                15500.00 USD
  Income:Investments:Gains    -500.00 USD

De #closing-tag vertelt de plugin om te controleren dat je AAPL-positie na deze transactie nul is.

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


coherent_cost - Controle op valuta-/kostenconsistentie

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

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

Wanneer gebruiken: Aanbevolen voor multi-valuta-ledgers om consistentie te behouden.


leafonly - Afdwingen van bladrekeningen

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

Waarom gebruiken: Handhaaft een schone rekeninghiërarchie waarbij samenvattingsrekeningen zoals Expenses:Food geen directe boekingen hebben, alleen hun kinderen zoals Expenses:Food:Groceries en Expenses:Food:Restaurants.

Voorbeeld:

; @m49-fragment expected-failure
plugin "beancount.plugins.leafonly"
 
; Dit zou een fout veroorzaken:
2026-01-02 * "Boodschappen doen"
  Expenses:Food              50.00 USD  ; Fout: Moet 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 gebruiken: Wanneer je een strikt hiërarchische administratie met duidelijke categorisering wilt behouden.


nounused - Detectie van ongebruikte rekeningen

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

Waarom gebruiken: Helpt bij het opschonen van je rekeningdeclaraties en het identificeren van mogelijke typefouten of verlaten rekeningen.

Wanneer gebruiken: Periodiek, om je rekeningstructuur te controleren en op te ruimen.


onecommodity - Eén commodity per rekening

Wat het doet: Handhaaft dat elke rekening slechts één type commodity bevat.

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

Voorbeeld:

; @m49-fragment expected-failure
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 commodity
  Assets:Cash              -700.00 USD

Wanneer gebruiken: Wanneer je de voorkeur geeft aan strikte rekeningenscheiding (één rekening per aandeel/actief).


sellgains - Validatie van vermogenswinsten

Wat het doet: Kruiscontroleert gedeclareerde vermogenswinsten met de berekende winsten uit lotverkopen, zodat je winst/verliesberekeningen nauwkeurig zijn.

Waarom gebruiken: Vangt fouten op bij handmatige berekeningen van vermogenswinsten, cruciaal voor nauwkeurige belastingaangiften.

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  ; Plugin valideert dat dit correct is

De plugin controleert: Verkoopopbrengst (1500) - Kostprijs (1400) = Winst (100)

Wanneer gebruiken: Essentieel voor iedereen die handelt in aandelen, crypto of andere activa waarbij vermogenswinsten belangrijk zijn.


unique_prices - Controle op unieke prijzen

Wat het doet: Zorgt ervoor dat er slechts één prijsitem per commodity en per datum is.

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

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


check_drained - Validatie van lege rekeningen

Wat het doet: Markeert rekeningen die nog een saldo hebben (inclusief niet-geprijsde valuta's of resterende lots) wanneer je verwachtte dat ze leeg zouden zijn na overschrijvingen of afsluitingen.

Waarom gebruiken: Vangt resterende saldi op die balance-assertions en #closing-tags kunnen missen — vooral nuttig na multi-commodity-transacties.

Status (gecontroleerd op 2026-09-15): Aanwezig in de Beancount 3.x-boom op beancount/plugins/check_drained.py op de huidige PyPI-lijn (3.2.3).

Wanneer gebruiken: Na grote portefeuillereorganisaties of bij het sluiten van brokerrekeningen.


3. Transformatieplugins

Deze plugins wijzigen of verbeteren je ledgergegevens op nuttige manieren.

currency_accounts - Valutahandelrekeningen

Wat het doet: Implementeert valutahandelrekeningen voor het expliciet volgen van forexconversies.

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

Wanneer gebruiken: Wanneer je forexwinsten/-verliezen apart moet volgen of moet voldoen aan specifieke boekhoudvereisten.


commodity_attr - Validatie van commodity-attributen

Wat het doet: Valideert dat commodity-directives vereiste attributen hebben (zoals export, name, enz.).

Waarom gebruiken: Zorgt ervoor dat je commodity-metadata compleet en consistent is.

Wanneer gebruiken: Wanneer je gedetailleerde commodity-metadata onderhoudt 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 "losse" of automatische plugins in met één directive.

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


pedantic - Alle validatieplugins

Wat het doet: Schakelt alle strikte validatieplugins tegelijk in.

Waarom gebruiken: Handhaaft maximale gegevensintegriteit en boekhoudkundige nauwkeurigheid. Geweldig voor productieledgers of wanneer nauwkeurigheid van het grootste 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 gebruiken: Voor productieledgers waar je maximale validatie wilt en bereid bent striktere boekhoudpraktijken te handhaven.


Aanbevolen pluginconfiguraties

Voor beginners

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

Deze minimale set biedt automatisering en voorkomt veelvoorkomende fouten.

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 beleggingstracking en nauwkeurigheid van vermogenswinsten.

Voor strikte boekhouding

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

Maximale validatie voor productieomgevingen.

Standaardconfiguratie bij Beancount.io

Bij Beancount.io nemen we de auto_accounts-plugin standaard op in alle nieuwe ledgerbestanden:

plugin "beancount.plugins.auto_accounts"

Dit biedt een goede balans tussen gebruiksgemak en functionaliteit voor een snelle start.


Pluginstatus gecontroleerd op 2026-09-15

Tegen de live beancount/plugins-boom op Beancount 3.2.3 (PyPI, 2026-09-15):

PluginmoduleNog aanwezigOpmerkingen
auto_accounts, close_tree, implicit_pricesJaAutomatiseringsset ongewijzigd
noduplicates, check_commodity, check_average_cost, check_closing, coherent_cost, leafonly, nounused, onecommodity, sellgains, unique_pricesJaValidatieset ongewijzigd
currency_accounts, commodity_attrJaTransformatieset ongewijzigd
auto, pedanticJaMeta-plugins ongewijzigd
check_drainedJaHierboven gedocumenteerd; was makkelijk te missen in oudere handleidingen

Niets in die native set is verwijderd tussen het oorspronkelijke concept van deze handleiding en de bovengenoemde datum. Gemeenschapsplugins (niet-native) horen nog steeds op de Awesome Beancount plugins-lijst en in de community-showcase — behandel externe repositories als onafhankelijk geversioneerd en controleer de laatste release van elke repo voordat je deze inschakelt op een productieledger.


Best practices

  1. Begin minimaal, voeg toe indien nodig: Start met auto_accounts en noduplicates en voeg vervolgens validatieplugins toe naarmate je ledger volwassener wordt.

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

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

  4. Gebruik pedantic voor productie: Zodra je workflow is vastgesteld, overweeg dan strikte validatie in te schakelen.

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


Verder dan native plugins

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

  • fava.plugins.forecast - Voor het voorspellen van terugkerende transacties
  • fava.plugins.link_documents - Voor het koppelen van transacties aan bonbestanden
  • Aangepaste importeurs voor bankspecifieke CSV-formaten
  • Belasting specifieke rekenmachines en rapporten

Verken het Beancount-ecosysteem voor meer opties, en de community-showcase voor hoe mensen native plugins combineren met importeurs en Fava.


Conclusie

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

  • ✅ Vervelende boekhoudtaken automatiseren
  • ✅ Fouten opvangen voordat ze problemen worden
  • ✅ Strikte gegevensintegriteit handhaven
  • ✅ Nauwkeurige financiële rapporten genereren
  • ✅ Je richten op financiële inzichten in plaats van gegevensinvoer

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

Klaar om deze plugins uit te proberen? Ga naar Beancount.io en gebruik ze vandaag nog in je ledgerbestand!


Bronnen


Heb je vragen over Beancount-plugins? Sluit je aan bij de discussie op ons communityforum of bekijk onze documentatie.

Verken een live cryptocurrency-voorbeeldledger:

Cryptocurrency Voorbeeldledger in een nieuw tabblad openen

Dit artikel delen

Volg dit onderwerp

Bron: https://beancount.io/nl/blog/2026/01/02/beancount-plugin-you-should-know

Gepubliceerd: 2 januari 2026

Laatst bijgewerkt: 15 september 2026