Zum Hauptinhalt springen

Optionskonfiguration in Beancount

Das Verhalten von Beancount kann mit option-Direktiven angepasst werden, die am Anfang Ihrer Haupt-Ledger-Datei platziert werden. Diese Schlüssel-Wert-Paare steuern alles, von den Namen Ihrer Root-Konten bis hin zur Handhabung von Währungsumrechnungen. Die korrekte Konfiguration dieser Optionen ist entscheidend, um Beancount an Ihre spezifischen Bedürfnisse anzupassen. ⚙️

Kernkonfigurationsoptionen

options-configuration

Diese Optionen steuern die grundlegende Einrichtung Ihres Ledgers.

Grundeinstellungen

Dies sind einige der häufigsten Optionen, die Sie festlegen werden.

option "title" "Persönliches Ledger"
option "render_commas" "TRUE"
option "plugin_processing_mode" "raw"
  • title: Legt den Titel für Berichte und Web-Oberflächen fest.
  • render_commas: Wenn TRUE, werden Zahlen in Berichten mit Tausender-Trennzeichen formatiert (z. B. 1.000.000,00).
  • plugin_processing_mode: Steuert, wie Plugins geladen werden. raw lädt nur die von Ihnen explizit angegebenen Plugins, während default einen Standardsatz hilfreicher Plugins enthält.

Anpassung der Kontonamen

Sie können die fünf grundlegenden Kontoarten von Beancount umbenennen. Dies ist rein kosmetisch und ändert, wie sie in Berichten erscheinen.

option "name_assets" "Aktiva"
option "name_liabilities" "Passiva"
option "name_equity" "Eigenkapital"
option "name_income" "Einnahmen"
option "name_expenses" "Ausgaben"

Eigenkapitalkonto Konfiguration

Beancount erstellt automatisch mehrere spezielle Eigenkapitalkonten, um Anfangssalden und Einkommensberechnungen zu verarbeiten. Sie können benutzerdefinierte Namen für diese Konten festlegen.

option "account_previous_balances" "Eröffnungsbilanz"
option "account_previous_earnings" "Gewinne:Vorherige"
option "account_current_earnings" "Gewinne:Aktuell"
option "account_previous_conversions" "Umrechnungen:Vorherige"
option "account_current_conversions" "Umrechnungen:Aktuell"
option "account_rounding" "Rundung"
  • account_previous_balances: Das Konto, das verwendet wird, um Anfangssalden in Ihr Ledger einzufügen.
  • account_current_earnings: Das Konto, das alle Einnahmen- und Ausgabensummen für die aktuelle Periode ansammelt und effektiv Ihr Nettoeinkommen berechnet.
  • account_rounding: Das Konto, auf dem kleine Abweichungen durch automatisierte Rundung verbucht werden.

Präzisions- und Toleranzeinstellungen

Diese Optionen steuern, wie Beancount mit Rundungen und kleinen Ungleichgewichten in Transaktionen umgeht.

Standardtoleranzkonfiguration

Beancount kann automatisch eine Toleranz für Transaktionen mit mehreren Währungen oder Kosten ableiten, wodurch kleine Rundungsdifferenzen ohne Fehler ermöglicht werden.

option "inferred_tolerance_default" "USD:0.01"
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"
  • inferred_tolerance_default: Legt die Standardtoleranz für eine bestimmte Währung fest. Sie können *:0.5 verwenden, um einen Standardwert für alle Währungen festzulegen.
  • inferred_tolerance_multiplier: Ein Faktor, der auf die Toleranz angewendet wird, um eine etwas größere Fehlerspanne zu gewährleisten.
  • infer_tolerance_from_cost: Wenn True, wird die Toleranz aus der Anzahl der Stellen in den Kosten abgeleitet.

Buchungsmethode

Diese Option definiert, wie Beancount Transaktionen behandelt, bei denen ein Bein abgeleitet wird.

option "booking_method" "SIMPLE"
  • SIMPLE: Erlaubt nur, dass pro Transaktion automatisch ein Rohstoff ausgeglichen wird. Dies ist die empfohlene und gebräuchlichste Methode.
  • FULL: Erlaubt das Ausgleichen mehrerer Rohstoffe, was eine komplexere und seltener benötigte Methode ist.

Währungsmanagement

Die korrekte Währungskonfiguration ist für eine genaue Berichterstattung unerlässlich.

Betriebswährung

Sie können eine oder mehrere "Betriebswährungen" deklarieren. Dies sind die Hauptwährungen, in denen Sie Transaktionen durchführen und die Sie in Berichten sehen möchten.

option "operating_currency" "USD"
option "operating_currency" "EUR"
option "conversion_currency" "NOTHING"

Das Deklarieren von Betriebswährungen weist Beancount an, dedizierte Spalten für diese in Berichten zu erstellen, wodurch es einfach ist, Ihre Finanzlage in Ihren am häufigsten verwendeten Währungen zu sehen. Das Setzen von conversion_currency auf NOTHING deaktiviert die automatische Umrechnungsspalte, was oft für sauberere Berichte bevorzugt wird.

Dokumentenverwaltung

Beancount kann Transaktionen mit externen Dateien wie Quittungen oder Rechnungen verknüpfen. Die Option documents gibt den/die Stammordner an, in dem/denen diese Dateien gespeichert sind.

option "documents" "/pfad/zu/dokumenten/archiv"

Anforderungen:

  • Dateien müssen im Format YYYY-MM-DD.beschreibung.ext benannt sein (z. B. 2025-07-28.amazon-bestellung.pdf).
  • Sie können mehrere documents-Optionen für verschiedene Ordner angeben.
  • Pfade können absolut oder relativ zur Haupt-Ledger-Datei sein.

Plugin-System

Die Funktionalität von Beancount kann mit Plugins erweitert werden.

Plugin-Konfiguration

Sie aktivieren ein Plugin, indem Sie seinen Modulpfad angeben.

option "plugin" "beancount.plugins.modul_name"

Wie bereits erwähnt, steuert die Option plugin_processing_mode, ob Beancount nur Ihre angegebenen Plugins (raw) oder auch einen Standardsatz lädt (default).

Technische Limits und Beschränkungen

Diese Optionen steuern technische Aspekte des Beancount-Parsers.

String-Verarbeitung

Sie können ein Limit für die Anzahl der Zeilen festlegen, die in einem mehrzeiligen String zulässig sind, um Parsing-Fehler zu verhindern.

option "long_string_maxlines" "64"

Experimentelle Funktionen

Beancount enthält manchmal experimentelle Funktionen, die Sie mit einer Option aktivieren können. Um beispielsweise die explizite Toleranzsyntax zu aktivieren:

option "experiment_explicit_tolerances" "True"

Dadurch können Sie die Toleranz direkt in einer Transaktionsbuchung angeben, wie hier: 532.23 ~ 0.001 USD.

Systemverhaltenssteuerung

Diese Optionen dienen der Aufrechterhaltung der Kompatibilität oder bestimmter Systemverhalten.

Legacy-Unterstützung

Diese Option aktiviert die alten, festen Toleranzwerte für die Abwärtskompatibilität mit älteren Ledgern.

option "use_legacy_fixed_tolerances" "True"

Die festen Legacy-Toleranzen waren:

  • Balance/Pad Direktiven: 0.015 Einheiten
  • Transaktionen: 0.005 Einheiten

Empfohlene Konfiguration ✅

Für die meisten Benutzer bietet die folgende Konfiguration einen robusten und sinnvollen Ausgangspunkt.

Grundlegende Einrichtung

option "title" "Persönliches Ledger"
option "operating_currency" "USD" // Ändern Sie dies in Ihre primäre Währung
option "documents" "/home/user/Dokumente/beancount" // Ändern Sie dies in Ihren Dokumentenpfad
option "render_commas" "TRUE"

Präzisionskontrolle

option "inferred_tolerance_default" "USD:0.01" // Ändern Sie dies in Ihre primäre Währung
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"

Kontostruktur

option "account_previous_balances" "Eigenkapital:Eröffnungsbilanz"
option "account_current_earnings" "Eigenkapital:Aktuelle-Gewinne"
option "account_rounding" "Ausgaben:Rundung"

Dieses Setup bietet eine solide Grundlage für ein neues Beancount-Ledger und gewährleistet eine klare Berichterstattung, eine sinnvolle Präzisionskontrolle und eine logische Eigenkapitalkontostruktur.