Stand: 15.09.2026
Die Stärke von Beancount liegt nicht nur in seinem Klartextformat, sondern auch in seiner Erweiterbarkeit durch Plugins. Native Plugins sind integrierte Module, die die Funktionalität von Beancount erweitern, mühsame Aufgaben automatisieren und Best Practices der Buchhaltung durchsetzen. In diesem umfassenden Leitfaden erkunden wir alle nativen Plugins, die in Beancount verfügbar sind, und wie man sie effektiv einsetzt.
Für die Direktivensyntax, auf der diese Plugins basieren, siehe die Beancount-Syntaxreferenz. Für reale Community-Workflows, die Plugins mit Importeuren und Fava kombinieren, siehe die Community-Showcase. Ledger-Optionen, die mit Plugins interagieren, finden Sie in der Optionskonfiguration.
Was sind Beancount-Plugins?
Beancount-Plugins sind Python-Module, die Ihre Ledger-Einträge verarbeiten, um Automatisierungs-, Validierungs- oder Transformationsfunktionen hinzuzufügen. Sie werden während der Ladephase Ihrer Ledger-Datei ausgeführt und können:
- Automatisieren Sie wiederkehrende Aufgaben (z. B. das Erstellen von Kontodeklarationen)
- Validieren Sie die Datenintegrität (z. B. die Prüfung auf doppelte Transaktionen)
- Transformieren Sie Einträge (z. B. das Generieren von Preiseinträgen aus Transaktionen)
- Durchsetzen Sie Buchhaltungsregeln (z. B. ein Wertpapier pro Konto)
So verwenden Sie Plugins
Um ein Plugin in Ihrer Beancount-Datei zu aktivieren, fügen Sie oben in Ihrem Ledger eine plugin-Direktive hinzu:
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.implicit_prices"Einige Plugins akzeptieren Konfigurationsoptionen:
; @m49-fragment dateless
plugin "beancount.plugins.check_commodity" "{'Assets:Trading': '.*'}"Native Plugin-Kategorien
Die nativen Plugins von Beancount lassen sich in vier Hauptkategorien einteilen:
1. Automatisierungs-Plugins
2. Validierungs-Plugins
3. Transformations-Plugins
4. Meta-Plugins
1. Automatisierungs-Plugins
Diese Plugins automatisieren wiederkehrende Buchhaltungsaufgaben, sparen Zeit und reduzieren manuelle Fehler.
auto_accounts – Automatische Kontodeklarationen
Was es tut: Fügt automatisch Open-Direktiven für Konten ein, die in Transaktionen vorkommen, aber nicht explizit deklariert wurden.
Warum es verwenden: Macht die manuelle Deklaration jedes Kontos vor der Verwendung überflüssig. Perfekt für den schnellen Einstieg oder für Nutzer, die einen minimalen Boilerplate bevorzugen.
Beispiel:
plugin "beancount.plugins.auto_accounts"
2026-01-01 * "Café"
Expenses:Food:Coffee 4.50 USD
Assets:Cash -4.50 USDOhne das Plugin müssten Sie manuell hinzufügen:
2025-12-01 open Expenses:Food:Coffee
2025-12-01 open Assets:CashWann verwenden: Ideal für Anfänger oder diejenigen, die ein weniger ausführliches Ledger wünschen. Explizite Kontodeklarationen können jedoch helfen, Tippfehler zu erkennen.
close_tree – Automatisches Schließen der Kontenhierarchie
Was es tut: Wenn Sie ein übergeordnetes Konto schließen, schließt dieses Plugin automatisch alle seine Unterkonten.
Warum es verwenden: Sorgt für Konsistenz in Ihrer Kontenhierarchie. Wenn Sie Assets:Investments schließen, werden alle Unterkonten wie Assets:Investments:Stocks und Assets:Investments:Bonds automatisch geschlossen.
Beispiel:
plugin "beancount.plugins.close_tree"
2025-06-30 close Assets:Investments
; Diese werden automatisch geschlossen:
; Assets:Investments:Stocks
; Assets:Investments:Bonds
; Assets:Investments:RealEstateWann verwenden: Bei der Umstrukturierung Ihrer Kontenhierarchie oder beim Schließen ganzer Kontokategorien.
implicit_prices – Automatische Generierung von Preiseinträgen
Was es tut: Erzeugt Price-Direktiven aus Transaktionsbuchungen, die Kosten (@) oder Preise (@@) enthalten.
Warum es verwenden: Befüllt Ihre Preisdatenbank automatisch aus Ihren Transaktionen und ermöglicht so eine genaue Marktwertberichterstattung ohne manuelle Preiseinträge.
Beispiel:
plugin "beancount.plugins.implicit_prices"
2026-01-02 * "AAPL-Aktien kaufen"
Assets:Investments:Stocks 10 AAPL @ 150.00 USD
Assets:Cash -1500.00 USDDies generiert automatisch:
2026-01-02 price AAPL 150.00 USDWann verwenden: Unverzichtbar für die Anlageverfolgung und die Mehrwährungsbuchhaltung, wenn Sie einen automatischen Preisverlauf wünschen.
2. Validierungs-Plugins
Diese Plugins setzen Datenintegrität und Best Practices der Buchhaltung durch und fangen Fehler ab, bevor sie zu Problemen werden.
noduplicates – Erkennung doppelter Transaktionen
Was es tut: Prüft, dass keine zwei Transaktionen identisch sind, indem Hashes der Transaktionsdaten berechnet und verglichen werden.
Warum es verwenden: Verhindert versehentliche Doppelbuchungen, insbesondere beim Import von Transaktionen aus mehreren Quellen.
Beispiel:
; @m49-fragment expected-failure
plugin "beancount.plugins.noduplicates"
2026-01-02 * "Mietzahlung"
Expenses:Rent 1200.00 USD
Assets:Checking -1200.00 USD
; Dies würde einen Fehler auslösen:
2026-01-02 * "Mietzahlung"
Expenses:Rent 1200.00 USD
Assets:Checking -1200.00 USDWann verwenden: Immer empfohlen, besonders wenn Sie aus Kontoauszügen importieren oder mehrere Datenquellen verwenden.
check_commodity – Validierung der Wertpapierdeklaration
Was es tut: Stellt sicher, dass alle in Ihrem Ledger verwendeten Wertpapiere entsprechende Commodity-Direktiven haben.
Warum es verwenden: Erzwingt explizite Wertpapierdeklarationen und hilft Ihnen, eine saubere Liste von Vermögenswerten und Währungen zu führen.
Beispiel:
; @m49-fragment expected-failure
plugin "beancount.plugins.check_commodity"
2015-01-01 commodity USD
2020-01-01 commodity AAPL
; Dies würde einen Fehler ohne eine Wertpapierdeklaration auslösen:
2026-01-02 * "Bitcoin kaufen"
Assets:Crypto 0.5 BTC @ 45000 USD
Assets:Cash -22500.00 USDWann verwenden: Empfohlen für eine strikte Wertpapierverfolgung und zur Vermeidung von Tippfehlern bei Tickersymbolen.
check_average_cost – Validierung der Anschaffungskosten
Was es tut: Überprüft, dass die Anschaffungskostenbasis in Transaktionen korrekt erhalten bleibt, insbesondere bei Verwendung der Durchschnittskostenbuchung.
Warum es verwenden: Stellt sicher, dass Ihre Kostenrechnung für Steuerberichte und Kapitalgewinnberechnungen genau bleibt.
Wann verwenden: Kritisch für Anlageportfolios und jedes Szenario, in dem eine genaue Kostenverfolgung wichtig ist.
check_closing – Validierung des Saldos bei Kontoschließung
Was es tut: Erweitert die closing-Metadaten um Saldoprüfungen und stellt sicher, dass Positionen nach Abschlussgeschäften null sind.
Warum es verwenden: Bestätigt, dass beim Verkauf einer gesamten Position der Saldo wirklich null ist (keine Bruchstücke übrig bleiben).
Beispiel:
plugin "beancount.plugins.check_closing"
2026-01-02 * "Gesamte AAPL-Position schließen" #closing
Assets:Investments:Stocks -100 AAPL {150.00 USD}
Assets:Cash 15500.00 USD
Income:Investments:Gains -500.00 USDDas #closing-Tag teilt dem Plugin mit, zu überprüfen, dass Ihre AAPL-Position nach dieser Transaktion null ist.
Wann verwenden: Beim Verkauf ganzer Positionen, um sicherzustellen, dass nichts übrig bleibt.
coherent_cost – Konsistenzprüfung von Währung/Kosten
Was es tut: Validiert, dass Währungen nicht inkonsistent verwendet werden – sowohl mit als auch ohne Kostenvermerke.
Warum es verwenden: Verhindert die Vermischung bloßer Währungen (wie 100 USD) mit kostenbehafteten Währungen (wie 100 USD {1.2 CAD}), was Buchhaltungsfehler verursachen kann.
Wann verwenden: Empfohlen für Mehrwährungs-Ledger, um Konsistenz zu wahren.
leafonly – Durchsetzung von Blattkonten
Was es tut: Stellt sicher, dass nur Blattkonten (Konten ohne Unterkonten) Buchungen erhalten.
Warum es verwenden: Setzt eine saubere Kontenhierarchie durch, bei der Sammelkonten wie Expenses:Food keine direkten Buchungen haben, sondern nur deren Unterkonten wie Expenses:Food:Groceries und Expenses:Food:Restaurants.
Beispiel:
; @m49-fragment expected-failure
plugin "beancount.plugins.leafonly"
; Dies würde einen Fehler auslösen:
2026-01-02 * "Lebensmitteleinkauf"
Expenses:Food 50.00 USD ; Fehler: Es sollte auf ein Blattkonto gebucht werden
Assets:Cash -50.00 USD
; Korrekter Weg:
2026-01-02 * "Lebensmitteleinkauf"
Expenses:Food:Groceries 50.00 USD ; Korrekt: Buchung auf Blattkonto
Assets:Cash -50.00 USDWann verwenden: Wenn Sie eine strenge hierarchische Buchhaltung mit klarer Kategorisierung aufrechterhalten möchten.
nounused – Erkennung ungenutzter Konten
Was es tut: Identifiziert Konten, die eröffnet, aber nie tatsächlich in Transaktionen verwendet wurden.
Warum es verwenden: Hilft Ihnen, Ihre Kontodeklarationen zu bereinigen und potenzielle Tippfehler oder verlassene Konten zu identifizieren.
Wann verwenden: Regelmäßig, um Ihre Kontostruktur zu prüfen und zu bereinigen.
onecommodity – Ein Wertpapier pro Konto
Was es tut: Setzt durch, dass jedes Konto nur eine Art von Wertpapier hält.
Warum es verwenden: Verhindert die Vermischung verschiedener Vermögenswerte auf demselben Konto, was allgemein eine Best Practice der Buchhaltung ist.
Beispiel:
; @m49-fragment expected-failure
plugin "beancount.plugins.onecommodity"
2026-01-02 * "Aktien kaufen"
Assets:Investments 10 AAPL @ 150 USD
Assets:Cash -1500.00 USD
; Dies würde einen Fehler auslösen:
2026-01-03 * "Weitere Aktien kaufen"
Assets:Investments 5 GOOGL @ 140 USD ; Fehler: Anderes Wertpapier
Assets:Cash -700.00 USDWann verwenden: Wenn Sie eine strikte Kontotrennung bevorzugen (ein Konto pro Aktie/Vermögenswert).
sellgains – Validierung von Kapitalgewinnen
Was es tut: Gleicht deklarierte Kapitalgewinne mit den berechneten Gewinnen aus Verkäufen aus Losen ab und stellt sicher, dass Ihre Gewinn-/Verlustberechnungen korrekt sind.
Warum es verwenden: Fängt Fehler bei manuellen Kapitalgewinnberechnungen ab, was für eine genaue Steuerberichterstattung entscheidend ist.
Beispiel:
plugin "beancount.plugins.sellgains"
2026-01-02 * "AAPL-Aktien verkaufen"
Assets:Investments:Stocks -10 AAPL {140.00 USD}
Assets:Cash 1500.00 USD
Income:Investments:Gains -100.00 USD ; Das Plugin validiert, dass dies korrekt istDas Plugin wird Folgendes überprüfen: Verkaufserlös (1500) - Anschaffungskosten (1400) = Gewinn (100)
Wann verwenden: Unverzichtbar für alle, die mit Aktien, Kryptowährungen oder anderen Vermögenswerten handeln, bei denen Kapitalgewinne eine Rolle spielen.
unique_prices – Prüfung auf eindeutige Preise
Was es tut: Stellt sicher, dass es nur einen Preiseintrag pro Wertpapier und Datum gibt.
Warum es verwenden: Verhindert widersprüchliche Preisdaten, die zu falschen Bewertungen führen könnten.
Wann verwenden: Empfohlen bei manueller Preiseingabe oder beim Import aus mehreren Preisquellen.
check_drained – Validierung geleerter Konten
Was es tut: Markiert Konten, die nach Transfers oder Schließungen noch einen Saldo aufweisen (einschließlich unbepreister Währungen oder übrig gebliebener Lose), obwohl Sie erwartet haben, dass sie leer sind.
Warum es verwenden: Fängt Restbestände ab, die balance-Prüfungen und #closing-Tags übersehen können – besonders nützlich nach Mehrwertpapier-Transfers.
Status (geprüft am 15.09.2026): Im Beancount-3.x-Baum unter beancount/plugins/check_drained.py auf der aktuellen PyPI-Linie (3.2.3) vorhanden.
Wann verwenden: Nach großen Portfolio-Umstrukturierungen oder beim Schließen von Broker-Konten.
3. Transformations-Plugins
Diese Plugins modifizieren oder verbessern Ihre Ledger-Daten auf nützliche Weise.
currency_accounts – Konten für Währungshandel
Was es tut: Implementiert Konten für den Währungshandel, um Forex-Konvertierungen explizit zu verfolgen.
Warum es verwenden: Bietet eine detaillierte Verfolgung von Währungsumrechnungstransaktionen, nützlich für Rechnungslegungsstandards, die dies erfordern.
Wann verwenden: Wenn Sie Forex-Gewinne/-Verluste getrennt verfolgen oder spezifische Rechnungslegungsanforderungen erfüllen müssen.
commodity_attr – Validierung von Wertpapierattributen
Was es tut: Validiert, dass Wertpapierdirektiven die erforderlichen Attribute haben (wie export, name usw.).
Warum es verwenden: Stellt sicher, dass Ihre Wertpapiermetadaten vollständig und konsistent sind.
Wann verwenden: Wenn Sie detaillierte Wertpapiermetadaten für Berichts- oder Exportzwecke pflegen.
4. Meta-Plugins
Diese Plugins sind Sammlungen anderer Plugins für mehr Komfort.
auto – Alle automatischen Plugins
Was es tut: Aktiviert eine Sammlung von "laxen" oder automatischen Plugins mit einer einzigen Direktive.
Wann verwenden: Schnelle Einrichtung für Benutzer, die maximale Automatisierung mit minimaler Konfiguration wünschen.
pedantic – Alle Validierungs-Plugins
Was es tut: Aktiviert alle strengen Validierungs-Plugins auf einmal.
Warum es verwenden: Setzt maximale Datenintegrität und buchhalterische Strenge durch. Ideal für Produktions-Ledger oder wenn Genauigkeit oberste Priorität hat.
Beispiel:
plugin "beancount.plugins.pedantic"
; Dies entspricht der Aktivierung von:
; - check_commodity
; - check_average_cost
; - coherent_cost
; - leafonly
; - noduplicates
; - nounused
; - onecommodity
; - sellgains
; - unique_pricesWann verwenden: Für Produktions-Ledger, bei denen Sie maximale Validierung wünschen und bereit sind, strengere Buchhaltungspraktiken einzuhalten.
Empfohlene Plugin-Konfigurationen
Für Anfänger
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.noduplicates"
plugin "beancount.plugins.implicit_prices"Dieses minimale Set bietet Automatisierung und verhindert gleichzeitig häufige Fehler.
Für Investoren
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"Fokussiert auf Anlageverfolgung und Genauigkeit der Kapitalgewinne.
Für strenge Buchhaltung
plugin "beancount.plugins.pedantic"
plugin "beancount.plugins.sellgains"
plugin "beancount.plugins.check_closing"Maximale Validierung für Produktionsumgebungen.
Standardkonfiguration bei Beancount.io
Bei Beancount.io fügen wir das auto_accounts-Plugin standardmäßig in alle neuen Ledger-Dateien ein:
plugin "beancount.plugins.auto_accounts"Dies bietet eine gute Balance zwischen Benutzerfreundlichkeit und Funktionalität für den schnellen Einstieg.
Plugin-Status geprüft am 15.09.2026
Gegen den aktuellen beancount/plugins-Baum in Beancount 3.2.3 (PyPI, 15.09.2026):
| Plugin-Modul | Weiterhin vorhanden | Hinweise |
|---|---|---|
auto_accounts, close_tree, implicit_prices | Ja | Automatisierungsset unverändert |
noduplicates, check_commodity, check_average_cost, check_closing, coherent_cost, leafonly, nounused, onecommodity, sellgains, unique_prices | Ja | Validierungsset unverändert |
currency_accounts, commodity_attr | Ja | Transformationsset unverändert |
auto, pedantic | Ja | Meta-Plugins unverändert |
check_drained | Ja | Oben dokumentiert; in älteren Leitfäden leicht zu übersehen |
In diesem nativen Set wurde zwischen dem ursprünglichen Entwurf dieses Leitfadens und dem obigen Datum nichts entfernt. Community- (nicht-native) Plugins gehören weiterhin auf die Awesome-Beancount-Plugins-Liste und in die Community-Showcase – behandeln Sie Repos von Drittanbietern als unabhängig versioniert und prüfen Sie die letzte Veröffentlichung jedes Repos, bevor Sie sie auf einem Produktions-Ledger aktivieren.
Best Practices
-
Minimal starten, bei Bedarf erweitern: Beginnen Sie mit
auto_accountsundnoduplicatesund fügen Sie dann Validierungs-Plugins hinzu, wenn Ihr Ledger reift. -
Plugins einzeln testen: Wenn Sie mehrere Plugins hinzufügen, aktivieren Sie sie einzeln, um ihre Auswirkungen zu verstehen.
-
Fehlermeldungen sorgfältig lesen: Plugin-Fehler weisen oft auf echte Buchhaltungsprobleme hin, die behoben werden müssen.
-
pedanticfür die Produktion verwenden: Sobald Ihr Workflow etabliert ist, erwägen Sie die Aktivierung der strengen Validierung. -
Mit benutzerdefinierten Plugins kombinieren: Native Plugins arbeiten neben benutzerdefinierten Plugins wie dem Forecast-Plugin für maximale Funktionalität.
Über native Plugins hinaus
Während native Plugins Kernfunktionen bereitstellen, umfasst das Beancount-Ökosystem viele Community-entwickelte Plugins für spezialisierte Anforderungen:
- fava.plugins.forecast – Für die Prognose wiederkehrender Transaktionen
- fava.plugins.link_documents – Zum Verknüpfen von Transaktionen mit Belegdateien
- Benutzerdefinierte Importeure für bankspezifische CSV-Formate
- Steuerspezifische Rechner und Berichte
Entdecken Sie das Beancount-Ökosystem für weitere Optionen und die Community-Showcase für Beispiele, wie Menschen native Plugins mit Importeuren und Fava kombinieren.
Fazit
Die nativen Plugins von Beancount verwandeln die Klartext-Buchhaltung von einem manuellen Prozess in ein automatisiertes, validiertes und robustes Finanzverwaltungssystem. Indem Sie diese integrierten Werkzeuge verstehen und nutzen, können Sie:
- ✅ Mühsame Buchhaltungsaufgaben automatisieren
- ✅ Fehler abfangen, bevor sie zu Problemen werden
- ✅ Strikte Datenintegrität aufrechterhalten
- ✅ Genaue Finanzberichte erstellen
- ✅ Sich auf finanzielle Erkenntnisse statt auf Dateneingabe konzentrieren
Beginnen Sie noch heute, mit diesen Plugins in Ihrem Ledger zu experimentieren. Starten Sie mit auto_accounts und implicit_prices und fügen Sie dann nach und nach Validierungs-Plugins hinzu, wenn Ihre Buchhaltungspraktiken reifer werden.
Bereit, diese Plugins auszuprobieren? Besuchen Sie Beancount.io und beginnen Sie noch heute, sie in Ihrer Ledger-Datei zu verwenden!
Quellen
- Beancount-Plugins-API-Referenz
- Beancount Scripting & Plugins-Leitfaden
- Beancount-Plugins und Optionen von Bryan Alves
- Beancount-GitHub-Repository
Haben Sie Fragen zu Beancount-Plugins? Nehmen Sie an der Diskussion in unserem Community-Forum teil oder schauen Sie in unsere Dokumentation.
Entdecken Sie ein Live-Beispiel-Ledger für Kryptowährungen:





