Beancount vs. hledger: Welches Plain-Text-Accounting-Tool ist das richtige für Sie?
Wenn Sie sich entschieden haben, Ihre Finanzen mit Plain-Text-Accounting zu verwalten, haben Sie bereits eine kluge Entscheidung getroffen. Ihre Finanzdaten liegen in menschenlesbaren Dateien vor, die Sie vollständig kontrollieren, mittels Versionskontrolle verfolgen können und die frei von Anbieterabhängigkeit sind. Doch nun stellt sich die nächste Frage: Welches Tool sollten Sie verwenden?
Beancount und hledger sind heute die beiden beliebtesten Plain-Text-Accounting-Tools (PTA). Beide sind Open-Source, werden aktiv gepflegt und sind in der Lage, alles zu bewältigen – von persönlichen Budgets bis hin zu komplexen Investmentportfolios. Dennoch verfolgen sie grundlegend unterschiedliche Ansätze bei der Erfassung, Validierung und Analyse Ihrer Finanzdaten.
Dieser Leitfaden schlüsselt die wichtigsten Unterschiede auf, damit Sie das Tool wählen können, das zu Ihrem Workflow, Ihrem Erfahrungsstand und Ihren Anforderungen an die Finanzverfolgung passt.
Die Grundphilosophie: Strikt vs. Flexibel
Der größte Unterschied zwischen Beancount und hledger ist keine Funktion, sondern eine Denkweise.
Beancount ist der strenge Lehrer. Es geht davon aus, dass Ihnen bei der Dateneingabe Fehler unterlaufen werden, und baut Schutzmechanismen ein, um diese frühzeitig abzufangen. Jedes Konto muss vor der Verwendung explizit eröffnet werden. Jede Transaktion muss auf Null ausgeglichen sein. Währungen müssen einem starren Format folgen. Wenn etwas nicht stimmt, weigert sich Beancount, Ihre Datei zu verarbeiten, bis Sie den Fehler behoben haben.
hledger ist der nachsichtige Freund. Es verwendet eine lockerere Syntax, erlaubt es Ihnen, die Vorab-Deklaration von Konten zu überspringen, und kann sogar Ausgleichsbuchungen ableiten. Sie können die Finanzverfolgung mit minimalem Aufwand starten und die Struktur schrittweise erweitern, wenn Ihre Anforderungen wachsen.
Keiner der beiden Ansätze ist objektiv besser. Wenn Sie Wert darauf legen, Fehler abzufangen, bevor sie zu stundenlanger Fehlersuche führen, ist die Strenge von Beancount ein Vorteil. Wenn Sie schnell loslegen wollen und Flexibilität bevorzugen, ist die Großzügigkeit von hledger ein Pluspunkt.
Syntax und Datenformat
Beide Tools speichern Transaktionen in einfachen Textdateien, aber die Syntaxregeln unterscheiden sich erheblich.
Beancount-Syntax
2026-03-15 * "Whole Foods" "Weekly groceries"
Expenses:Food:Groceries 85.42 USD
Liabilities:CreditCard:Visa
Wichtige Regeln:
- Daten verwenden das ISO-8601-Format (
JJJJ-MM-TT) - Währungen müssen in Großbuchstaben angegeben werden (z. B.
USD,EUR) – keine Symbole wie$oder€ - Kontonamen erfordern mindestens zwei durch Doppelpunkte getrennte Komponenten (z. B.
Expenses:Food) - Beschreibungen müssen in Anführungszeichen stehen
- Alle Konten müssen explizit mit einer
open-Direktive eröffnet werden
hledger-Syntax
2026-03-15 Whole Foods | Weekly groceries
expenses:food:groceries $85.42
liabilities:creditcard:visa
Wichtige Regeln:
- Flexiblere Datumsformate
- Währungssymbole wie
$und€sind erlaubt - Kontonamen können kleingeschrieben und freier gestaltet sein
- Beschreibungen benötigen keine Anführungszeichen
- Keine Notwendigkeit, Konten vorab zu deklarieren
Das Fazit: Die strengere Syntax von Beancount bedeutet mehr Aufwand im Vorfeld, aber weniger Unklarheiten. Die entspannte Syntax von hledger erleichtert den Einstieg, erfordert aber mehr Disziplin, um Konsistenz zu wahren.
Datenintegrität und Validierung
Hier unterscheidet sich Beancount wirklich.
Saldenbestätigungen (Balance Assertions)
Beide Tools unterstützen Saldenbestätigungen – Anweisungen, die überprüfen, ob Ihr erfasster Saldo mit Ihrem Kontoauszug übereinstimmt. Aber sie funktionieren unterschiedlich.
Beancount verwendet datierte Saldenbestätigungen, die reihenfolgeunabhängig sind. Sie können Ihre Transaktionsdateien beliebig umstellen, und die Bestätigungen funktionieren weiterhin korrekt. Die Bestätigungen in hledger sind von der Reihenfolge in der Datei abhängig, was bedeutet, dass das Verschieben von Transaktionen sie ungültig machen kann.
Bestandsführung (Inventory Tracking)
Für jeden, der Investitionen verfolgt, ist dies von großer Bedeutung. Beancount erzwingt eine strikte Bestandsbuchung: Sie können keine Anteile verkaufen, die Sie nie gekauft haben, und es verfolgt die Anschaffungskosten mit Präzision. Dies verhindert „Cost-Basis-Leakage“ – einen subtilen Fehler, bei dem Ihre Berechnungen der Kapitalerträge von der Realität abweichen.
hledger verarbeitet Commodities und Lots, aber mit weniger Kontrolle. Es ist flexibler, was bedeutet, dass es auch fehlerverzeihender gegenüber Fehlern ist, die bis zur Steuererklärung unbemerkt bleiben könnten.
Kontokategorien
Beancount erfordert, dass jedes Konto einer von fünf Kategorien angehört: Assets (Aktiva), Liabilities (Passiva), Income (Einnahmen), Expenses (Ausgaben) oder Equity (Eigenkapital). Diese Einschränkung ermöglicht es dem Tool, automatisch korrekte Bilanzen und Gewinn- und Verlustrechnungen zu erstellen.
hledger erlaubt beliebige Kontohierarchien ohne erforderliche Stammkategorien. Dies gibt Ihnen mehr Freiheit, bedeutet aber auch, dass Sie Konventionen manuell einhalten müssen, um aussagekräftige Finanzberichte zu erhalten.
Benutzeroberfläche und Berichtswesen
Beancount + Fava
Das herausragende Merkmal von Beancount ist Fava, eine ausgereifte Weboberfläche, die Folgendes bietet:
- Interaktive Diagramme und Grafiken (Nettovermögenstrends, Ausgabenaufschlüsselungen, Einnahmen vs. Ausgaben)
- Treemap-Visualisierungen für Ausgabenkategorien
- Leistungsstarke Filterung nach Konto, Tag, Zeitraum und Zahlungsempfänger
- Eine Abfragesprache für benutzerdefinierte Berichte
- Ein integrierter Editor für Ihre Ledger-Dateien
Fava gilt weithin als die beste Benutzeroberfläche im Plain-Text-Accounting-Ökosystem. Wenn Sie ein visueller Mensch sind, der Dashboards und Diagramme wünscht, ist dies ein wichtiges Argument für Beancount.
hledger-Schnittstellen
hledger verfolgt einen Multi-Interface-Ansatz:
- CLI: Umfangreiche Berichterstattung über die Kommandozeile mit Dutzenden von integrierten Befehlen (
balance,register,incomestatement,cashflowund mehr) - hledger-ui: Eine Terminal-basierte Benutzeroberfläche zum interaktiven Durchsuchen von Konten und Transaktionen
- hledger-web: Eine einfachere Web-Schnittstelle für grundlegendes Browsing und Dateneingabe
Die CLI von hledger ist von Haus aus leistungsfähiger als die von Beancount. Wenn Sie hauptsächlich im Terminal arbeiten und schnelle, skriptfähige Berichte wünschen, liefert hledger genau das.
Leistung
hledger ist in Haskell geschrieben und verarbeitet ca. 25.000 Transaktionen pro Sekunde. Für die meisten Nutzer im Bereich der privaten Finanzen sind beide Tools praktisch verzögerungsfrei. Wenn Sie jedoch einen großen Datensatz verwalten – jahrelange Transaktionen über mehrere Einheiten hinweg –, verschafft die reine Geschwindigkeit von hledger dem Tool einen Vorteil.
Beancount (v3) wurde für den Kern-Parser in C++ neu geschrieben, was die Leistung gegenüber der ursprünglichen Python-Implementierung erheblich verbessert hat. Für typische private oder kleingewerbliche Nutzung werden Sie keinen Unterschied bemerken.
Erweiterbarkeit und Plugins
Beancount-Plugins
Beancount verfügt über ein natives Python-Plugin-System, das bemerkenswert leistungsstark ist. Plugins können:
- Transaktionen automatisch aufteilen (z. B. geteilte Ausgaben)
- Wiederkehrende Transaktionen generieren
- Benutzerdefinierte Validierungsregeln erzwingen
- Daten in der Verarbeitungspipeline transformieren
Durch das Python-Ökosystem können Sie jede Python-Bibliothek in Ihren Plugins nutzen. Dies macht Beancount für komplexe Finanzszenarien hochgradig anpassbar.
hledger-Erweiterungen
hledger bietet Erweiterbarkeit durch:
- CSV-Importregeln zur Automatisierung von Kontoauszügen
- Benutzerdefinierte Berichtsskripte unter Verwendung der CLI-Ausgabe
- Eine HTTP-JSON-API zum Erstellen von Integrationen
- Haskell-basierte Zusatzbefehle
Das CSV-Importsystem von hledger ist besonders angesehen – es macht die Automatisierung von Kontoauszugsimporten mit Regeldateien, die CSV-Spalten den Kontobuchungen zuordnen, unkompliziert.
Einstieg und Lernkurve
hledger: Niedrigere Einstiegshürde
hledger ist im Allgemeinen einfacher für den Einstieg:
- Installation einer einzelnen Binärdatei (hervorragende plattformübergreifende Unterstützung, einschließlich Windows)
- Erstellen Sie eine Datei und beginnen Sie sofort mit der Erfassung von Transaktionen
- Keine Notwendigkeit, Konten zu deklarieren oder strenge Namenskonventionen zu befolgen
- Umfassende, gut gepflegte Dokumentation
- Aktive Community mit einsteigerfreundlichen Ressourcen
Beancount: Mehr Einrichtung, mehr Struktur
Beancount erfordert zu Beginn mehr Aufwand:
- Installieren Sie Python und Beancount (und Fava für die Web-Schnittstelle)
- Erstellen Sie Kontodeklarationen, bevor Sie diese verwenden
- Befolgen Sie vom ersten Tag an strenge Syntaxregeln
- Lernen Sie die fünf Kontokategorien kennen
Der Kompromiss besteht darin, dass sich diese Vorab-Investition auszahlt. Ein gut strukturiertes Beancount-Journal ist einfacher zu pflegen, zu validieren und zu prüfen, während es wächst.
Community und Ökosystem
Beide Projekte haben aktive, unterstützende Communities:
- Beancount: Aktive Mailingliste, wachsendes Ökosystem von Drittanbieter-Tools (Importer, Plugins, Fava-Erweiterungen) und eine starke Python-Entwickler-Community
- hledger: Regelmäßige Veröffentlichungen (etwa vierteljährlich), umfangreiche Dokumentation, aktive Chat-Kanäle und die breitere plaintextaccounting.org-Community
Beide Tools profitieren von der breiteren Plain-Text-Accounting-Bewegung, was gemeinsame Ressourcen, Importer und Community-Wissen bedeutet.
Migration zwischen Tools
Wenn Sie mit einem Tool beginnen und später wechseln möchten, ist eine Migration möglich, aber nicht trivial:
- hledger zu Beancount: Verwenden Sie
hledger print -o tmp.beancountals Ausgangspunkt, passen Sie dann die Syntax an (Kontodeklarationen hinzufügen, Währungsformate korrigieren, Kontonamen umstrukturieren) - Beancount zu hledger: Das Tool
bean-reportkann exportieren, wobei in der Regel manuelle Korrekturen erforderlich sind
Die gemeinsame Plain-Text-Philosophie bedeutet, dass Ihre Daten nie eingesperrt sind. Sie können Ihre Dateien jederzeit lesen und konvertieren, auch wenn der Prozess eine gewisse manuelle Bereinigung erfordert.
Kurzer Vergleichstabelle
| Funktion | Beancount | hledger |
|---|---|---|
| Sprache | Python/C++ | Haskell |
| Syntax-Strenge | Strikt | Flexibel |
| Kontodeklaration | Erforderlich | Optional |
| Beste UI | Fava (Web) | CLI + TUI |
| Investitionsverfolgung | Ausgezeichnet | Gut |
| Plugin-System | Python-Plugins | Skripte + API |
| CSV-Import | Über Importer | Integrierte Regeln |
| Lernkurve | Steiler | Flacher |
| Saldenabgleiche | Reihenfolgeunabhängig | Abhängig von Dateireihenfolge |
| Leistung | Schnell (v3) | Sehr schnell |
| Windows-Unterstützung | Gut | Ausgezeichnet |
Welches sollten Sie wählen?
Wählen Sie Beancount, wenn Sie:
- Ein schönes Web-Dashboard zur Visualisierung Ihrer Finanzen wünschen
- Investitionen verfolgen und eine präzise Handhabung der Anschaffungskosten benötigen
- Ein System bevorzugen, das Fehler frühzeitig erkennt und Konsistenz erzwingt
- Mit Python vertraut sind und eine leistungsstarke Plugin-Erweiterbarkeit wünschen
- Wert auf eine reihenfolgeunabhängige Dateiorganisation legen
Wählen Sie hledger, wenn Sie:
- Bevorzugt im Terminal mit schnellen, skriptfähigen Berichten arbeiten
- Schnell mit minimaler Konfiguration starten möchten
- Hervorragende Windows-Unterstützung benötigen
- Eine flexible Syntax bevorzugen, die sich Ihrem Stil anpasst
- Wert auf regelmäßige Veröffentlichungen und aktive Wartung legen
Die ehrliche Wahrheit: Beide Tools sind exzellent. Die Plain-Text-Accounting-Community ist einladend, unabhängig davon, welches Tool Sie verwenden, und die Fähigkeiten, die Sie mit dem einen lernen, lassen sich leicht auf das andere übertragen. Wählen Sie das Tool, das zu Ihrem Workflow passt, testen Sie es einen Monat lang und passen Sie es bei Bedarf an.
Vereinfachen Sie Ihre Finanzverwaltung mit Beancount.io
Ganz gleich, ob Sie sich für Beancount oder hledger entscheiden: Plain-Text-Accounting gibt Ihnen die volle Kontrolle über Ihre Finanzdaten. Wenn Sie die Leistungsfähigkeit von Beancount mit einem gehosteten Fava-Dashboard, automatischen Bankimporten und ohne jeglichen Aufwand für die Infrastrukturverwaltung nutzen möchten, macht Beancount.io dies mühelos möglich. Beginnen Sie kostenlos und erleben Sie Plain-Text-Accounting ohne den Aufwand der Ersteinrichtung.
