- Mit Beancount wurden persönliche Finanzen 10 Jahre lang in einfachen Textdateien erfasst und dabei rund 45.000 Datenzeilen und 10.000 Transaktionen verwaltet
- Jeden Monat werden 30–45 Minuten investiert, um CSV-Dateien mit Kontoauszügen zu importieren und manuell sowie automatisch zu bereinigen; zur besseren Lesbarkeit werden die Daten in Jahresdateien aufgeteilt
- Eine eigene Python-basierte Importer-Bibliothek für deutsche Banken wurde entwickelt und mit Beancount integriert; ein Teil davon wird bis heute gepflegt
- Weil der Einstieg in Beancount für Anfänger schwierig sein kann, wurde ein Einsteigerleitfaden geschrieben, der in der Community positiv aufgenommen wurde
- Alle Daten werden auf dem lokalen Gerät und in einem Git-Repository gespeichert, was im Vergleich zu bestimmten Apps oder Services mehr Beständigkeit und Kontrolle bietet
Struktur des Beancount-Ledgers über 10 Jahre
- Seit 2016 werden Finanzdaten mit Beancount verwaltet; insgesamt sind 45.011 Zeilen an Einträgen in 16
.beancount-Dateien gespeichert
- Die Datei
main.beancount bildet den Kern, Jahresdateien werden per include eingebunden
- Insgesamt gibt es etwa 9.895 Transaktionen und darin 19.743 Postings (Buchungssätze)
- Es existieren 1.086 Konten (accounts), die jedoch nicht nur reale Bankkonten sind, sondern vor allem virtuelle Klassifizierungskonten
- Beispiel: Konten für Supermarktausgaben, Einnahmen, Abo-Dienste und andere Detailkategorien
- 507 PDF-Dokumente sind an Transaktionen angehängt, sodass sich relevante Belege etwa für die Steuererklärung leicht prüfen lassen
- Die Zahl der Postings pro Jahr stieg von 715 im Jahr 2016 auf 2.651 im Jahr 2023; 2023 war damit das aktivste Jahr
Monatlicher Verwaltungsablauf
- Pro Monat werden etwa 30–45 Minuten aufgewendet, um Kontoauszüge als CSV herunterzuladen und in Beancount zu importieren
- CSV wird verwendet, weil es sich leichter parsen lässt als PDF
- Ein Python-basierter Importer wandelt die CSV-Daten in das Beancount-Format um
- Nach dem Hinzufügen der konvertierten Transaktionen zur
.beancount-Datei werden sie nach dem Prinzip der doppelten Buchführung so angepasst, dass der Saldo 0 ergibt
- Ein Teil wird automatisch kategorisiert, ein Teil manuell angepasst
- Mit Beginn eines neuen Jahres werden die Transaktionen des Vorjahres in die Datei
<year>.beancount verschoben und über main.beancount eingebunden
- Alle Transaktionsdaten sind als Textdateien in einem einzigen Verzeichnis organisiert
Entwicklung von Beancount-Importern für deutsche Banken
- Beancount kennt standardmäßig die Formate von Bankauszügen nicht, daher ist eine Umwandlung über Importer-Klassen nötig
- Da deutsche Bankkonten verwendet werden, wurden mehrere Importer direkt selbst entwickelt
- Die ersten drei Bibliotheken werden weiterhin aktiv gepflegt und genutzt
Vom Nutzer zum Autor
- Die Dokumentation von Beancount ist umfangreich, aber für Einsteiger ist die Einstiegshürde hoch
- Auf Basis der durch Versuch und Irrtum gewonnenen Erfahrungen wurde ein Einsteigerleitfaden geschrieben
- Veröffentlicht auf personalfinancespython.com
- Erwähnt auf der Seite external contributions der offiziellen Beancount-Dokumentation
- Leserrezensionen fielen positiv aus
Fazit
- Alle Finanzdaten sind als lokale Textdateien mit Versionsverwaltung per Git gespeichert
- Die Daten befinden sich auf dem eigenen Gerät und sind nicht an eine bestimmte App oder einen bestimmten Service gebunden
- Mit den Werkzeugen des Beancount-Ökosystems lassen sie sich frei analysieren
- Dieser Ansatz des Plaintext Accounting ist eine leistungsfähige Form der Finanzverwaltung, die länger bestehen kann als jede einzelne App
Noch keine Kommentare.