Immobilientransaktionen in Beancount modellieren
Immobilientransaktionen stellen möglicherweise die größte finanzielle Aktivität im Leben einer Familie dar. Dieser Artikel erklärt
Immobilientransaktionen stellen möglicherweise die größte finanzielle Aktivität im Leben einer Familie dar. Dieser Artikel erklärt
Assets:US:BofA:Checking
Assets +
Liabilities -
Income -
Expenses +
Equity -
CNY, EUR, CAD, AUD
GOOG, AAPL, RBF1005
HOME_MAYST, AIRMILES
HOURS
Allgemeine Syntax
YYYY-MM-DD <Directive> <Parameters...>
2001-05-29 open Expenses:Restaurant
2001-05-29 open Assets:Checking USD,EUR ; Währungsbeschränkungen
2015-04-23 close Assets:Checking
1998-07-22 commodity AAPL
name: "Apple Computer Inc."
2015-04-30 price AAPL 125.15 CNY
2015-05-30 price AAPL 130.28 CNY
2013-03-20 note Assets:Checking "Anruf wegen Rabattanfrage"
2013-03-20 document Assets:Checking "path/to/statement.pdf"
2015-05-30 * "Eine Beschreibung dieser Buchung"
Liabilities:CreditCard -101.23 CNY
Expenses:Restaurant 101.23 CNY
2015-05-30 ! "Kabelgesellschaft" "Telefonrechnung" #tag ˆlink
id: "TW378743437" ; Metadaten
Expenses:Home:Phone 87.45 CNY
Assets:Checking ; Sie können einen Betrag weglassen
... 123.45 USD Einfach
... 10 GOOG {502.12 USD} Mit Kosten pro Einheit
... 10 GOOG {{5021.20 USD}} Mit Gesamtkosten
... 10 GOOG {502.12 # 9.95 USD} Mit beiden Kosten
... 1000.00 USD @ 1.10 CAD Mit Preis pro Einheit
... 10 GOOG {502.12 USD} @ 1.10 CAD Mit Kosten & Preis
... 10 GOOG {502.12 USD, 2014-05-12} Mit Datum
! ... 123.45 USD ... Mit Flag
; Bestätigt den Betrag nur für die angegebene Währung:
2015-06-01 balance Liabilities:CreditCard -634.30 CNY
; Automatische Einfügung einer Buchung zur Erfüllung der folgenden Bestätigung:
2015-06-01pad Assets:Checking Equity:Opening-Balances
2015-06-01 event "location" "New York, USA"
2015-06-30 event "address" "May Street 123"
option "title" "Mein persönliches Hauptbuch"
pushtag #trip-to-peru
...
poptag #trip-to-peru
; Kommentare beginnen mit einem Semikolon
Entdecken Sie die Magie der Klartext-Buchhaltung mit Beancount
Willkommen in einer Welt, in der Buchhaltung keine entmutigende Aufgabe mehr ist. Heute stellen wir Ihnen Beancount vor, ein leistungsstarkes, flexibles und intuitives Klartext-Buchhaltungstool. Beancount ermöglicht es Ihnen, die Kontrolle über Ihre Finanzen zu übernehmen, indem es einen transparenten und unkomplizierten Ansatz zur Verwaltung Ihres Geldes bietet.
In diesem umfassenden Leitfaden werden wir uns mit den Grundlagen von Beancount befassen, seine Kernkonzepte erläutern und Sie durch seine einfachen, aber leistungsstarken Funktionen führen. Am Ende dieses Blogs werden Sie ein solides Verständnis von Beancount haben und bereit sein, es zur Organisation und Analyse Ihres Finanzlebens einzusetzen.
Beancount ist ein Open-Source-Klartext-Buchhaltungssystem, das von Martin Blais entwickelt wurde. Inspiriert von John Wiegleys Ledger-System, zielt Beancount darauf ab, eine robuste und zuverlässige Methode zur Verwaltung persönlicher und kleiner Unternehmensfinanzen mithilfe von Klartextdateien bereitzustellen. Mit Beancount können Sie Ihre Einnahmen, Ausgaben, Investitionen und vieles mehr mühelos verfolgen.
Die Klartext-Buchhaltung bietet mehrere Vorteile gegenüber traditionellen Tabellenkalkulations- oder Software-basierten Buchhaltungssystemen:
Um Beancount effektiv nutzen zu können, ist es entscheidend, seine Kernkonzepte zu verstehen:
Um Beancount zu verwenden, folgen Sie diesen einfachen Schritten:
Oder melden Sie sich einfach unter https://beancount.io an. Hier sind einige Beispiele für die Klartext-Buchhaltung -
Beispiel 1: Grundlegende Transaktion
2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries
2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD
In diesem Beispiel eröffnen wir zwei Konten, Assets:Checking und Expenses:Groceries. Am 10. April 2023 erfassen wir eine Transaktion für den Einkauf von Lebensmitteln im Wert von 50 $. Die Transaktion reduziert den Saldo von Assets:Checking um 50 $ (Haben) und erhöht den Saldo von Expenses:Groceries um 50 $ (Soll).
Beispiel 2: Einnahmen- und Ausgaben-Transaktion
2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent
2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD
2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD
In diesem Beispiel eröffnen wir drei Konten: Assets:Checking, Income:Salary und Expenses:Rent. Am 5. April 2023 erfassen wir eine Gehaltszahlungstransaktion von 2000 $. Die Trans
Beancount, das System der doppelten Buchführung, das von Entwicklern und Finanz-Enthusiasten gleichermaßen geschätzt wird, ist in seiner Einfachheit leistungsstark. Doch für diejenigen, die mehr Kontrolle und eine schnellere Navigation innerhalb von Fava, der Weboberfläche von Beancount, wünschen, können benutzerdefinierte Seitenleisten-Links und SQL-Abfragen Ihren Workflow auf die nächste Stufe heben.
In diesem Leitfaden zeigen wir Ihnen, wie Sie:
Fava ist bereits eine schöne Oberfläche zur Ansicht Ihres Beancount-Hauptbuchs, aber wenn Ihr Journal wächst, steigt auch der Bedarf an besseren Verknüpfungen und intelligenteren Abfragen.
Beginnen wir mit der Verbesserung Ihres täglichen Workflows durch einfache Seitenleisten-Verknüpfungen. Diese Links erscheinen in Favas linker Seitenleiste und können Sie direkt zu gefilterten Ansichten führen, wie z. B. den Transaktionen dieses Monats oder den Einnahmen des letzten Monats.
Fügen Sie diese Zeilen zu Ihrer Beancount-Datei hinzu:
2021-01-01 custom "fava-sidebar-link" "Aktueller Monat" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Letzter Monat" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Alle löschen" "/jump?account=&time=&filter="
Diese Verknüpfungen eliminieren die manuelle Zeiteingabe und lassen Ihre Fava-Erfahrung flüssiger und personalisierter wirken.
Für tiefere Einblicke ist Favas SQL-Schnittstelle unglaublich leistungsstark. Hier ist eine Abfrage, die alle negativen Salden in Konten findet, die einem Muster entsprechen – perfekt zum Kennzeichnen ungewöhnlicher oder problematischer Transaktionen.
SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)
account ~ '.*:BCM:.*'
: Filtert Konten, die :BCM:
in ihrem Namen enthalten.number(units(position)) < 0
: Kennzeichnet negative Salden (z. B. überzogene Budgets).Obwohl Fava keine direkten Links zu benutzerdefinierten Abfragen zulässt, können Sie eine monatliche Überprüfungsgewohnheit schaffen, indem Sie:
Diese Kombination hilft Ihnen, Anomalien zu erkennen, bevor sie sich ausbreiten, und sicherzustellen, dass Ihr Hauptbuch sauber bleibt.
Beancount ist minimalistisch im Design, aber kleine Verbesserungen wie diese bringen enorme Effizienzgewinne. Egal, ob Sie Ihr Budget überprüfen, ungewöhnliche Salden beheben oder einfach nur Klicks sparen, benutzerdefinierte Links und SQL-Abfragen geben Ihnen mehr Leistung und weniger Reibung.
Bonus: Wenn Sie Favas benutzerdefinierte Berichte verwenden, können Sie sogar vollständige Dashboards erstellen, die auf Ihre persönlichen Finanzrituale zugeschnitten sind.
Bereit, die Kontrolle zu übernehmen?
Fangen Sie klein an: Fügen Sie den Link „Aktueller Monat“ hinzu. Dann erstellen Sie Ihre eigenen Abfragen. Ihr zukünftiges Ich wird es Ihnen danken.
Möchten Sie weitere Tipps wie diesen? Abonnieren Sie unseren Newsletter oder entdecken Sie weitere Beancount-Rezepte auf Beancount.io.
Es gibt ein Plugin für Beancount, um zukünftige wiederkehrende Transaktionen zu prognostizieren. Wie wendet man es in beancount.io an? Fügen Sie den folgenden Inhalt in Ihre Ledger-Datei ein.
; import the plugin
plugin "fava.plugins.forecast"
; add a monthly HOA fee
2022-05-30 # "HOA fee [MONTHLY]"
Expenses:Hoa 1024.00 USD
Assets:Checking -1024.00 USD
Danach sehen Sie die Prognose im Nettogewinn-Diagramm.
Der Tag [MONTHLY]
oben bedeutet, dass es auf unbestimmte Zeit wiederkehren wird. Wenn Sie weitere Bedingungen anwenden möchten, versuchen Sie [MONTHLY UNTIL 2022-06-01]
, [MONTHLY REPEAT 5 TIMES]
, [YEARLY REPEAT 5 TIMES]
oder [WEEKLY SKIP 1 TIME REPEAT 5 TIMES]
.
Die Amortisation verteilt Zahlungen über die Zeit auf viele Raten. In beancount.io können Sie das Plugin fava.plugins.amortize_over
verwenden, um dies zu erreichen.
Ohne Amortisation müssten Sie, wenn Sie Ihr Auto für 6 Monate zu Kosten von 600 $ versichern möchten, dies als einmalige Ausgabe für ein bestimmtes Datum erfassen.
2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto
2017-06-01 * "Pay car insurance"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses
Mit Amortisation könnten Sie die Ausgabe jedoch über sechs Monate verteilen, indem Sie plugin "fava.plugins.amortize_over"
an den Anfang der Datei setzen und amortize_months: 6
für die Transaktion verwenden.
plugin "fava.plugins.amortize_over"
2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto
2020-06-01 * "Amortize car insurance over six months"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto
Und dann im Journal sehen Sie, dass die Transaktion in 6 Buchungen aufgeteilt ist.
2020-11-01 * Amortize car insurance over six months (6/6) am
2020-10-01 * Amortize car insurance over six months (5/6) am
2020-09-01 * Amortize car insurance over six months (4/6) am
2020-08-01 * Amortize car insurance over six months (3/6) am
2020-07-01 * Amortize car insurance over six months (2/6) am
2020-06-01 * Amortize car insurance over six months (1/6) am
Wir freuen uns, einen wichtigen Meilenstein in der Entwicklung von Beancount bekannt zu geben: die Einführung unserer dedizierten mobilen Apps für iOS- und Android-Plattformen! Diese Veröffentlichung erfüllt direkt eine der häufigsten Anfragen unserer Community – die Möglichkeit, Ihr Ledger effizient auf mobilen Geräten zu verwalten.
Diese Veröffentlichung markiert erst den Anfang unserer mobilen Reise. Wir sind bestrebt, diese Apps basierend auf Ihren Bedürfnissen und Ihrem Feedback weiterzuentwickeln. Treten Sie unserer lebendigen Community auf Telegram unter https://t.me/beancount bei, um Beancount zu diskutieren, Ihre Erfahrungen zu teilen und zukünftige Funktionen mitzugestalten.
Bei Beancount ist es unsere Mission, jeden zu befähigen, eine bessere Finanzkontrolle und ein besseres Verständnis zu erlangen. Diese mobilen Apps stellen einen wichtigen Schritt auf diesem Weg dar, mit vielen weiteren spannenden Funktionen und Tools auf unserer Roadmap.