Zum Hauptinhalt springen

Ein Leitfaden zur beancount.io Web-Oberfläche

Die beancount.io Web-Oberfläche (betrieben von Fava) bietet eine umfassende Suite von Tools zum Verwalten, Abfragen und Visualisieren Ihrer Finanzdaten. Dieser Leitfaden behandelt die wichtigsten Funktionen, von der grundlegenden Dateneingabe bis hin zu erweiterten Anpassungen und Fehlerbehebung.

1. Bearbeitung und Dateneingabe

Der integrierte Editor

Die Oberfläche enthält einen leistungsstarken Texteditor, mit dem Sie direkte Änderungen an Ihren Beancount-Dateien vornehmen können. Zu den wichtigsten Funktionen gehören:

  • Auto-Vervollständigung: Drücken Sie Tab, um Kontonamen, Zahlungsempfänger, Tags und Links zu vervollständigen.

  • Tastenkombinationen:

    • Strg+Space: Auto-Vervollständigung auslösen.
    • Strg+/: Zeilen auskommentieren oder einkommentieren.
    • Strg+D: Die aktuelle Zeile duplizieren.
    • Alt+Up/Down: Die aktuelle Zeile nach oben oder unten verschieben.
  • Intelligente Cursorplatzierung: Verwenden Sie die Option $insert-entry$ in Ihrer Datei, um den Cursor automatisch an der letzten Eingabe für ein bestimmtes Konto zu platzieren, wenn der Editor geöffnet wird.

    option "insert-entry" "Expenses:Food:Dining-Out"

Hinzufügen von Transaktionen

Klicken Sie auf die Schaltfläche + (oder drücken Sie n), um das Transaktionsformular zu öffnen.

  • Schnelleingabe: Das Formular schlägt aktuelle Konten vor und merkt sich gängige Beträge für Zahlungsempfänger.

  • Inline-Tags/Links: Fügen Sie Tags und Links direkt im Beschreibungsfeld hinzu (z. B. Mittagessen #essen ^quittung-001).

  • Transaktionsvorlagen: Erstellen Sie zukünftige Einträge mit einem #template-Tag. Sie können dann das Formular verwenden, um sie zu finden und auszufüllen.

    2099-01-01 * "Monatliche Mietzahlung" #template
    Expenses:Housing:Rent 1500.00 USD
    Assets:Checking -1500.00 USD

2. Dokumentenmanagement

Verknüpfen Sie Belege, Kontoauszüge und andere Dateien effizient mit Ihren Transaktionen.

  • Hochladen per Drag-and-Drop:

    • Ziehen Sie eine Datei auf einen Kontonamen, um sie im Ordner dieses Kontos zu speichern.
    • Ziehen Sie eine Datei auf eine Transaktion im Journal, um sie direkt zu verknüpfen.
  • Dokumentenspeicherung: Dateien werden in dem Ordner gespeichert, der durch die Direktive $option "documents" "pfad/zu/ihren/dokumenten"$ in Ihrer Beancount-Datei angegeben wird.

  • Automatisierte Verknüpfung: Beancount kann Dokumente automatisch erkennen und mit Transaktionen verknüpfen. Aktivieren Sie dies mit den folgenden Plugins:

    plugin "fava.plugins.link_documents"
    plugin "fava.plugins.tag_discovered_documents"

3. Abfragen und Analyse mit BQL

Auf der Seite Abfrage können Sie Beancount Query Language (BQL)-Abfragen ausführen, ähnlich wie mit dem Befehlszeilentool bean-query.

  • Visualisierung: Abfrageergebnisse werden automatisch als Tabellen dargestellt. Wenn Ihre Abfrage zwei Spalten zurückgibt (wie ein Datum/String und eine Zahl), generiert die Oberfläche auch ein Linien-, Balken- oder Treemap-Diagramm.
  • Export: Laden Sie jedes Abfrageergebnis als CSV-Datei herunter.

Praktische Abfragebeispiele

  • Monatliche Ausgabenübersicht:

    SELECT account, SUM(position) AS total
    FROM postings
    WHERE account ~ '^Expenses' AND date >= 2024-01-01 AND date < 2024-02-01
    GROUP BY account
    ORDER BY total DESC;
  • Einnahmen vs. Ausgaben nach Monat:

    SELECT YEAR(date) as year, MONTH(date) as month,
    SUM(IIF(account ~ '^Income', -position, 0)) as income,
    SUM(IIF(account ~ '^Expenses', position, 0)) as expenses
    FROM postings
    GROUP BY year, month
    ORDER BY year, month;

4. Anpassung und Workflow

Anpassen der Ansicht

Passen Sie die Anzeige der Oberfläche mit diesen Optionen in Ihrer Beancount-Datei an:

  • Kontosichtbarkeit: Steuern Sie, welche Konten in der Seitenleiste angezeigt werden.

    option "show-closed-accounts" "false"
    option "show-accounts-with-zero-balance" "false"
    option "collapse-pattern" "Assets:Investments:.*"
  • Aktualitätsanzeigen: Farbige Punkte neben den Konten zeigen deren Status an (grün für bestandene Salden, rot für fehlgeschlagene, gelb für keine aktuelle Saldenprüfung). Aktivieren Sie dies in der open-Direktive eines Kontos:

    2020-01-01 open Assets:Checking   fava-uptodate-indication: "TRUE"

Fügen Sie benutzerdefinierte Links zu häufig verwendeten Berichten oder gefilterten Ansichten in der Seitenleiste hinzu.

2024-01-01 custom "fava-sidebar-link" "Die Ausgaben dieses Monats" "/income_statement/?time=month"
2024-01-01 custom "fava-sidebar-link" "Alle Dokumente" "/journal/?show=document"

Allgemeine Konfiguration

  • Mehrere Dateien: Wenn Sie mehrere .beancount-Dateien laden, können Sie mit dem Dropdown-Menü oben links zwischen ihnen wechseln.
  • Externer Editor: Konfigurieren Sie die Benutzeroberfläche, um Dateien direkt in Ihrem lokalen Editor zu öffnen, indem Sie die Option $use-external-editor$ und einen URL-Handler verwenden.
  • Sprache: Stellen Sie die Sprache der Benutzeroberfläche mit der Option $language$ ein oder lassen Sie sie automatisch von Ihrem Browser erkennen.
  • Exportieren: Exportieren Sie jede gefilterte Journalansicht im Beancount-Format über die Schaltfläche Exportieren.

5. Leistung und Fehlerbehebung

Umgang mit großen Dateien

Verbessern Sie die Leistung für Hauptbücher mit Tausenden von Transaktionen, indem Sie:

  • Includes verwenden: Teilen Sie Ihr Hauptbuch in mehrere Dateien nach Jahr oder Monat auf und verwenden Sie die Direktive include.

    include "accounts.beancount"
    include "transactions/2023.beancount"
    include "transactions/2024.beancount"
  • Filtern: Verwenden Sie Zeit- und Filteroptionen, um die Menge der gleichzeitig angezeigten Daten zu begrenzen.

Häufige Probleme und Lösungen

  • Oberfläche wird nicht geladen:

    1. Überprüfen Sie Ihre Datei mit dem Befehlszeilentool bean-check auf Syntaxfehler.
    2. Suchen Sie nach Fehlermeldungen am unteren Rand der Webseite.
    3. Leeren Sie Ihren Browser-Cache.
  • Langsame Leistung:

    1. Reduzieren Sie den aktiven Datumsbereich in der Benutzeroberfläche.
    2. Vereinfachen Sie komplexe BQL-Abfragen.
  • Konfigurationsfehler: Stellen Sie sicher, dass Optionsnamen und benutzerdefinierte Direktiventypen in Anführungszeichen stehen.

    ; Korrekt
    option "documents" "/pfad/zu/docs"
    custom "fava-sidebar-link" "Label" "URL"

    ; Inkorrekt (führt zu Fehlern)
    option documents "/pfad/zu/docs"
    custom fava-sidebar-link "Label" "URL"