Stand: 15.09.2026.
Beancount Version 3, veröffentlicht Mitte 2024, markiert eine bedeutende architektonische Weiterentwicklung für das beliebte Klartext-Buchhaltungstool. Während die Abwärtskompatibilität für Benutzerkontenbücher erhalten bleibt, haben sich die zugrunde liegende Struktur und die begleitenden Werkzeuge erheblich geändert. Hier ist eine Aufschlüsselung dessen, was es Neues in Beancount v3 gibt – und was in der 3.1–3.2-Linie gelandet ist, seit dieser Leitfaden erstmals veröffentlicht wurde.
Für Syntax und erste Kontenbücher siehe die Beancount-Syntaxreferenz und Erste Schritte. Für die gehostete CLI, die Prüfung, Abfrage, Import und Berichte umfasst, siehe die Beancount-CLI-Referenz.
Eine Modularere und Schlankere Architektur
Die bedeutendste Änderung in Beancount v3 ist der Übergang zu einem modulareren Ökosystem. Mehrere Schlüsselfunktionen, die zuvor im Kern gebündelt waren, wurden in separate, unabhängige Projekte ausgelagert. Dies macht den Kern von Beancount schlanker und ermöglicht eine fokussiertere Entwicklung einzelner Komponenten.
Die Schlüsselkomponenten, die jetzt separate Pakete sind, umfassen:
- beanquery: Das leistungsstarke SQL-ähnliche Abfragewerkzeug für Ihre Kontenbücher ist jetzt in einem eigenen Paket.
- beangulp: Dies ist die neue Heimat für das Datenimport-Framework und ersetzt das frühere
beancount.ingest-Modul. - beanprice: Ein dediziertes Werkzeug zum Abrufen von Preisen für Rohstoffe und Aktien.
Diese Trennung bedeutet, dass Benutzer diese Pakete zusätzlich zu beancount selbst installieren müssen, um die volle Funktionalität zu erhalten, die sie aus Version 2 gewohnt waren.
Änderungen an Befehlszeilenwerkzeugen und Workflows
Entsprechend der neuen modularen Architektur gibt es einige bemerkenswerte Änderungen an den Befehlszeilenwerkzeugen:
bean-reportist weg: Dieses Werkzeug wurde entfernt. Benutzer werden nun ermutigt,bean-query(aus dem Paketbeanquery) für ihre Berichtsanforderungen zu verwenden.- Neuer Importer-Workflow: Die Befehle
bean-extractundbean-identifywurden aus dem Kern entfernt. Der neue Ansatz mitbeangulpist skriptbasiert. Benutzer erstellen jetzt ihre eigenen Python-Skripte, um den Import von Daten aus externen Quellen wie Kontoauszügen zu handhaben.
Syntax- und Funktionsverbesserungen
Während die Kernbuchhaltungsprinzipien gleich bleiben, führt Beancount v3 einige willkommene Flexibilität in seiner Syntax ein:
- Flexiblere Währungscodes: Die bisherigen Einschränkungen hinsichtlich Länge und Zeichen für Währungsnamen wurden gelockert. Einzelzeichen-Währungssymbole werden jetzt unterstützt.
- Erweiterte Transaktionsflags: Benutzer können jetzt jeden Großbuchstaben von A bis Z als Flag für Transaktionen verwenden, was eine feinere Kategorisierung ermöglicht.
Wichtig ist, dass diese Änderungen abwärtskompatibel sind, sodass Ihre bestehenden Beancount-v2-Kontenbücher ohne Änderungen funktionieren.
Das C++-Umschreiben und die Leistung
Eines der langfristigen Ziele für Beancount war ein Umschreiben seiner leistungskritischen Komponenten in C++. Die erste Veröffentlichung von Beancount v3 enthielt keinen C++-Kern, und Stand 15.09.2026 bleibt das so: Die veröffentlichte PyPI-Linie (bis 3.2.3) ist weiterhin der modulare Python-v3-Zweig. Die historische C++/Bazel-Arbeit lebt auf einem separaten cpp-Zweig und ist nicht Teil der Pakete, die Benutzer von PyPI installieren. Die tägliche Leistung der aktuellen v3-Versionen liegt daher in derselben Klasse wie spätes v2, mit inkrementellen Verbesserungen von Parser und Werkzeugen anstelle eines C++-Umschreibens in Größenordnungen.
Seit diesem Artikel (v3.1 → v3.2.x)
Primärquellen: die Datei CHANGES des Projekts, GitHub-Vergleichsansichten für 3.1.0…3.2.0 und PyPI beancount (aktuellste 3.2.3 Stand 15.09.2026).
- 3.1.x-Linie — Fortgesetzte Paket- und API-Bereinigung nach der modularen Trennung von 3.0 (
beanquery,beangulpundbeanpricebleiben separate Installationen). - 3.2.0 (14.09.2025) — Release-Commit auf
beancount/beancount; bemerkenswerte benutzerorientierte Arbeit in diesem Zeitraum umfasst mehrdatei-bean-format, Toleranz-/Präzisionsverfeinerungen sowie Wartung von Wheels und CI (siehe Vergleichslink oben). - 3.2.1–3.2.3 (2026) — Folge-Binär- und Paketveröffentlichungen (einschließlich Python-3.14-Testabdeckung und Dokumentationsgerüst, die in der 3.2.1-Zusammenfassung auf der Mailingliste erwähnt wurden). Installieren Sie mit
pip install -U beancountund pinnen Sie Begleitpakete (beanquery,beangulp) beim Upgrade auf passende Hauptversionen.
Fava: Fava 1.30 fügte Beancount-3-Unterstützung hinzu (29.12.2024). Fava 1.30.13 (19.05.2026) entfernte Beancount-2-Unterstützung und erwartet beangulp für Importeure. Aktuelle PyPI-Linie Stand 15.09.2026 ist 1.30.16. Kombinieren Sie Fava-Upgrades mit einem Beancount-3-Kontenbuch.
Migration von v2 zu v3
Für die meisten Benutzer ist die Migration von Beancount v2 zu v3 relativ unkompliziert:
- Kontenbücher: Für Ihre
.beancount-Dateien sind keine Änderungen erforderlich. - Installation: Sie müssen die neuen, separaten Pakete wie
beanqueryundbeangulpmitpipinstallieren. - Importer-Skripte: Wenn Sie benutzerdefinierte Importeure haben, müssen Sie diese auf die neue
beangulp-API aktualisieren. Dabei ändern Sie hauptsächlich die Basisklasse, von der Ihre Importeure erben, und passen einige Methodensignaturen an. - Fava: Das beliebte Weboberfläche für Beancount, Fava, wurde aktualisiert, um mit v3 kompatibel zu sein. Stellen Sie sicher, dass Sie die neueste Version von Fava haben, für ein nahtloses Erlebnis.
Im Wesentlichen ist Beancount v3 eine grundlegende Veröffentlichung, die die Architektur des Projekts rationalisiert, modularer macht und langfristig einfacher zu warten und zu erweitern ist. Während es einige Anpassungen an Benutzerworkflows erfordert, insbesondere beim Datenimport, bereitet es die Bühne für die zukünftige Entwicklung dieses leistungsstarken Buchhaltungstools.





