Zum Hauptinhalt springen

90 Posts getaggt mit „Accounting“

Alle Tags anzeigen

Korrekturbuchungen in Beancount: Ihr Monatsabschluss

· 5 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Buchhaltung ist nicht abgeschlossen, wenn der letzte Umsatz auf dem Konto eingegangen ist. Um ein wahrheitsgetreues Bild von der Gesundheit Ihres Unternehmens zu erhalten, müssen Sie einen Monatsabschluss durchführen. Bei jedem Periodenabschluss nehmen Sie Korrekturbuchungen vor – Anpassungen im Journal, die Erträge und Aufwendungen korrekt im richtigen Zeitfenster platzieren und Ihre Bilanz korrekt halten.

In einem Beancount-Ledger im Klartextformat sind diese wichtigen Einträge transparent, versionskontrolliert und leicht zu prüfen, wodurch eine mühsame Aufgabe in einen klaren und wiederholbaren Prozess verwandelt wird.

2022-01-25-korrekturbuchungen-in-beancount-ihr-monatsabschluss


Warum Korrekturbuchungen wichtig sind

Diese Anpassungen sind grundlegend für eine solide Buchhaltung. Sie stellen sicher, dass Ihre Abschlüsse korrekt und zuverlässig sind.

  • Genauigkeit der Periodenabgrenzung: Korrekturbuchungen sind der Motor der Periodenabgrenzung. Sie verschieben Einnahmen und Kosten in die Periode, in der sie tatsächlich verdient oder angefallen sind, unabhängig davon, wann der Zahlungsverkehr stattgefunden hat. Dies erfüllt die zentralen Grundsätze der Umsatzrealisierung und des Matching-Prinzips, die die Grundlage der modernen Rechnungslegung bilden (AccountingCoach.com).

  • Zuverlässige KPIs: Key Performance Indicators sind nur so gut wie die Daten, die ihnen zugrunde liegen. Kennzahlen wie Bruttomarge, Nettoergebnis und Cashflow-Prognosen geben erst dann die Wahrheit wieder, wenn Rückstellungen, Abgrenzungen und Schätzungen korrekt verbucht sind (Corporate Finance Institute).

  • Sauberer Audit-Trail: Explizite Monatsabschlussanpassungen schaffen eine klare Aufzeichnung Ihrer finanziellen Argumentation. Dies hilft Wirtschaftsprüfern (und Ihrem zukünftigen Ich) leicht nachzuvollziehen, was sich geändert hat und warum, und schafft Vertrauen in Ihre Zahlen (Accountingverse).


Sechs häufige Kategorien (mit Beancount-Snippets)

Hier sind die sechs häufigsten Arten von Korrekturbuchungen, mit Beispielen, wie Sie sie in Ihrem Beancount-Ledger erfassen können. Beachten Sie die Verwendung von Metadaten wie adj:"abgrenzung" , um diese Einträge später leicht finden und analysieren zu können.

1. Erträge abgrenzen

Dies gilt für Erträge, die Sie verdient, aber noch nicht in Rechnung gestellt oder erhalten haben.

2025-07-31 * "Beratung – Juli Stunden"
Assets:Forderungen 12000.00 USD
Income:Beratung
; adj:"abgrenzung" period:"Jul-25"

2. Kosten abgrenzen

Eine Ausgabe, die Sie getätigt haben, aber noch nicht bezahlt haben, wie z. B. eine Stromrechnung, die nächsten Monat eintrifft.

2025-07-31 * "Anwalt – Juli Honorar"
Expenses:Rechtskosten 2500.00 USD
Liabilities:Rueckstellungen
; adj:"abgrenzung"

3. Ertrag rückstellen (passive Rechnungsabgrenzung)

Dies trifft zu, wenn ein Kunde Sie im Voraus bezahlt. Sie realisieren einen Teil dieses Ertrags, sobald er im Laufe der Zeit verdient wird.

2025-07-31 * "Jährliche SaaS-Vorauszahlung (1/12 realisieren)"
Liabilities:PassiveRechnungsabgrenzung 833.33 USD
Income:SaaS
; adj:"rueckstellung"

4. Kosten rückstellen (aktive Rechnungsabgrenzung)

Wenn Sie eine Ausgabe im Voraus bezahlen (z. B. eine jährliche Versicherungspolice), schreiben Sie jeden Monat einen Teil davon ab.

2025-07-31 * "Versicherung – 1 Monat Aufwand aus Vorauszahlung"
Expenses:Versicherung 400.00 USD
Assets:AktiveRechnungsabgrenzung
; adj:"rueckstellung"

5. Abschreibungen

Dieser Eintrag verteilt die Kosten eines langfristigen Vermögenswerts (wie eines Computers oder Fahrzeugs) über seine Nutzungsdauer.

2025-07-31 * "Mac Studio Abschreibung"
Expenses:Abschreibungen 1250.00 USD
Assets:Computer:Abschreibungen
; asset_id:"MAC-03" adj:"schaetzung"

6. Wertberichtigung auf Forderungen

Eine Schätzung der Forderungen, die Sie voraussichtlich nicht eintreiben werden, die als Aufwand für uneinbringliche Forderungen verbucht wird.

2025-07-31 * "Wertberichtigung (2% der Forderungen)"
Expenses:UneinbringlicheForderungen 700.00 USD
Assets:Wertberichtigung
; basis:"Forderungen" rate:0.02 adj:"schaetzung"

Ein wiederholbarer Workflow

Um Ihren Monatsabschluss effizient und fehlerfrei zu halten, sollten Sie einen konsistenten Workflow verwenden.

  • Verwenden Sie eine separate Datei. Bewahren Sie alle Anpassungen für einen Zeitraum an einem Ort auf, z. B. korrekturen-2025-07.bean. Verwenden Sie in Ihrer Haupt-Ledger-Datei eine include-Direktive, um sie zuletzt zu importieren. Dadurch wird sichergestellt, dass Anpassungen unmittelbar vor der Erstellung der endgültigen Berichte angewendet werden.

  • Standardisieren Sie Ihre Metadaten. Verwenden Sie immer konsistente Metadatenschlüssel und -werte, wie z. B. adj:"abgrenzung|rueckstellung|schaetzung" und period:"Jul-25". Dies macht das Abfragen und Überprüfen bestimmter Arten von Anpassungen zum Kinderspiel.

  • Führen Sie eine Vorprüfung durch. Bevor Sie Ihre Änderungen an Git übertragen, führen Sie bean-check für Ihre Anpassungsdatei aus, um Tippfehler oder unausgeglichene Buchungen zu erkennen.

  • Führen Sie eine einzeilige Plausibilitätsprüfung durch. Diese Abfrage bestätigt, dass alle Ihre Anpassungen für den Zeitraum ausgeglichen sind, was Ihnen die Gewissheit gibt, dass Sie keine Fehler eingeführt haben.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('period') = 'Jul-25' GROUP BY account"

Schnelle Tipps zur Fehlerbehebung 🤔

  • Steigt Ihr Saldo Liabilities:PassiveRechnungsabgrenzung? Überprüfen Sie Ihre Vertragsmeilensteine. Möglicherweise realisieren Sie Erträge zu langsam im Vergleich zu der Arbeit, die Sie leisten.

  • Ist Ihr Saldo Assets:AktiveRechnungsabgrenzung negativ? Sie schreiben ihn wahrscheinlich schneller ab, als der Plan des Vermögenswerts zulässt. Überprüfen Sie Ihren Abschreibungsplan.

  • Verschlechtert sich Ihre Debitorenlaufzeit (DSO) nach Abgrenzungen? Ihre abgegrenzten Erträge könnten zugrunde liegende Inkassoprobleme verschleiern. Kombinieren Sie diesen KPI mit einem Bericht über das Alter der Forderungen, um säumige Kunden zu erkennen, bevor es zu einem Cashflow-Problem wird.


Schlussgedanken

Korrekturbuchungen können sich mühsam anfühlen, aber ihr Wert wird kristallklar, wenn Sie Ihre Gewinn- und Verlustrechnungen "vorher" und "nachher" vergleichen – der Unterschied ist oft wesentlich. Mit Beancount werden diese Anpassungen zu kleinen, durchsuchbaren Patches, die Sie wie Code automatisieren und überprüfen können.

Gewöhnen Sie sich an den Monatsabschluss, und Ihre Zahlen bleiben so genau wie Ihre Technik.

Viel Spaß beim Bilanzieren!

Revolutionierung des persönlichen Finanzmanagements mit Beancount.io

· 4 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Beancounter nutzen traditionell Befehlszeilentools oder hosten Server in privaten Netzwerken selbst, wo sie über einen Computer oder einen allgemeinen Texteditor auf mobilen Geräten arbeiten müssen. Beancount.io reduziert den Aufwand, indem es quelloffene Android- und iOS-Mobil-Apps sowie eine gesicherte Cloud bereitstellt, sodass Ihr Hauptbuch nun nur wenige Fingertipps von Ihrem Fingerabdruck entfernt ist.

Beancount ist eine Computersprache, die die doppelte Buchführung in Textdateien ermöglicht. Sobald Sie Finanztransaktionen in der Datei definieren, werden verschiedene Berichte generiert. Martin Blais, der Entwickler dieser Sprache, argumentiert, dass die Befehlszeilen-Buchführung viele Vorteile hat – sie ist schnell, portabel, offen und anpassbar.

Wir stimmen diesem Argument voll und ganz zu und teilen das Gefühl der Ermächtigung, das die Beancount-Sprache mit sich bringt. Und wir wollten mehr tun – die Technologie mehr Menschen zugänglich machen. Das bedeutet, dass wir die Benutzerfreundlichkeit verbessern und sie einem breiteren Publikum zugänglicher machen müssen.

2022-01-08-instant-access-to-your-beancount-cloud-ledger-anytime-anywhere

Nicht jeder ist ein Befehlszeilen-Enthusiast, und deshalb haben wir Beancount.io entwickelt – den persönlichen Finanzmanager für jedermann. So funktioniert es:

Für anspruchsvolle Aufgaben können Beancounter weiterhin ihre Computer nutzen, um das Hauptbuch mit ihren Browsern unter https://beancount.io zu bearbeiten oder anzuzeigen oder mit Dropbox zu synchronisieren. Dies bewahrt die Flexibilität der Befehlszeilentools, ohne den geräteübergreifenden Zugriff der Cloud-basierten Lösung zu verlieren.

Für leichte tägliche Vorgänge, wie das sofortige Hinzufügen eines Eintrags, können Beancounter die mobile App verwenden, um sich mit der gesicherten Cloud zu verbinden.

Mike Thrift, ein Backend-Entwickler, der an diesem Produkt arbeitet, sagt:

Früher habe ich mir jeden Tag eine Erinnerung eingerichtet, meinen Laptop zu öffnen und Einträge in meine Beancount-Dateien einzugeben. Mit Beancount.io ist es jetzt viel einfacher für mich, mein Hauptbuch zu ändern, wann immer ich es brauche, selbst wenn ich unterwegs etwas im Laden kaufe.

Zhi Li, ein Software-Ingenieur von Facebook, erzählt uns:

Ich habe alle meine Beancount-Dateien zu Beancount.io migriert, und jetzt funktioniert es perfekt für meinen täglichen Gebrauch. Ich habe für Pro-Funktionen wie die automatische Datensicherung bezahlt, aber ich denke, ihr könntet noch mehr tun, um den Dienst zu verbessern.

Sie können sich jetzt unter https://beancount.io/sign-up/ anmelden oder die iOS- oder Android-App herunterladen. Wir haben die Registrierung optimiert, um so wenig Informationen wie möglich von Ihnen zu sammeln, um den Dienst zu starten. Dann erhalten Sie ein voreingestelltes leeres Hauptbuch, das sofort bereit ist, damit Sie einen Eintrag hinzufügen können.

FAQs

Würde beancount.io meine Hauptbuchdaten an Dritte verkaufen?

  • Nein. Wir verpflichten uns, Ihre Daten sicher und privat zu halten, und wir werden Ihre Hauptbuchdaten niemals verkaufen.

Sind meine Daten gesichert?

  • Ja. Wir schützen Ihre E-Mail und Ihr Hauptbuch mit AES256, Ihr Passwort mit BCrypt und Ihre Netzwerkanfragen mit SSL.

Sind meine Hauptbuchdaten Ende-zu-Ende verschlüsselt?

  • Nein. Aufgrund technischer Einschränkungen müssen wir Ihre Daten immer noch im Speicher entschlüsseln, wenn die Hauptbuchdatei auf den Produktionsservern indiziert wird. Daher beschränken wir den direkten Zugriff unserer Teammitglieder. Leider können wir dies aufgrund hoher Kosten nicht in Intels SGX oder einem Sicherheitstresor tun.

Ist dies ein zuverlässiger Dienst, dem ich für die nächsten Jahre vertrauen kann?

  • Ja. Wir haben Beancount.io ursprünglich am 4. Juli 2019 gestartet, und seit mehr als zwei Jahren betreiben wir den Dienst sicher und zuverlässig. Daher haben wir keinen Grund, den Dienst in Zukunft nicht fortzusetzen.

Kann ich neue Funktionen anfragen und das Projekt sponsern?

Leitfaden für die Migration von QuickBooks zu Beancount

· 30 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Phase 1: Datenexport aus QuickBooks

Die Migration von fünf Jahren Daten beginnt damit, alle QuickBooks-Datensätze in einem nutzbaren Format zu extrahieren. QuickBooks Desktop und QuickBooks Online haben unterschiedliche Exportoptionen:

2021-12-01-from-quickbooks-to-plain-text-a-migration-playbook

1.1 QuickBooks Desktop – Exportoptionen

IIF (Intuit Interchange Format): QuickBooks Desktop kann Listen (wie Kontenplan, Kunden, Lieferanten) in .IIF-Textdateien exportieren. Gehen Sie in QuickBooks Desktop zu Datei → Dienstprogramme → Exportieren → Listen in IIF-Dateien, und wählen Sie dann die benötigten Listen aus (z. B. Kontenplan, Kunden, Lieferanten). Dies erzeugt eine Textdatei, die Kontonamen, -typen und Listendaten enthält. IIF ist ein proprietäres, aber reines Textformat, das relativ einfach zu parsen ist. Nutzen Sie es, um Ihren Kontenplan und Ihre Kontaktlisten als Referenz in Beancount zu erfassen.

Hauptbuch/Journal via CSV: Für Transaktionsdaten bietet QuickBooks Desktop keinen Ein-Klick-Voll-Export, aber Sie können Berichte verwenden. Die empfohlene Methode ist der Export des Journals (alle Buchungen) über den gewünschten Zeitraum. Öffnen Sie in QuickBooks Desktop Berichte → Buchhalter & Steuern → Journal, stellen Sie die Daten vom frühesten Vorgang bis heute ein und klicken Sie auf Exportieren → Excel. Speichern Sie das Ergebnis als CSV, nachdem Sie alle Berichtskopf-/Fußzeilen und leeren Spalten entfernt haben. Stellen Sie sicher, dass die numerischen Daten sauber sind: Geben Sie Cents an (z. B. 3.00, nicht 3), keine zusätzlichen Anführungszeichen und keine Währungssymbole oder doppelten Negativzeichen in der CSV-Datei. Die CSV-Datei sollte Spalten wie Datum, Transaktions-Nr., Name, Konto, Memo, Soll, Haben, Saldo enthalten (oder eine einzelne Betragsspalte, je nach Berichtsformat).

Tipp: QuickBooks Desktop 2015+ kann Transaktionen auch über den Suchen-Dialog exportieren. Verwenden Sie Bearbeiten → Suchen → Erweitert, stellen Sie den Datumsbereich auf fünf Jahre ein und exportieren Sie die Ergebnisse dann als CSV. Warnung: Einige Versionen begrenzen den Export auf 32.768 Zeilen. Wenn Sie sehr große Datenmengen haben, exportieren Sie jahrweise (oder in kleineren Blöcken), um eine Kürzung zu vermeiden, und führen Sie sie später zusammen. Stellen Sie sicher, dass sich die Datumsbereiche nicht überschneiden, um Duplikate zu vermeiden.

Andere Formate (QBO/QFX/QIF): QuickBooks Desktop kann Banktransaktionen über .QBO (Web Connect) oder .QFX/.OFX-Dateien importieren, aber für den Export aus QuickBooks sind diese nicht typisch. Wenn Ihr Ziel darin besteht, nur Banktransaktionen zu extrahieren, haben Sie diese möglicherweise bereits im QBO/OFX-Format von Ihrer Bank. Für einen vollständigen Hauptbuchexport bleiben Sie jedoch bei IIF und CSV. QuickBooks Desktop kann ohne Drittanbieter-Tools nicht direkt in QIF (Quicken Interchange Format) exportieren. Wenn Sie einen Weg finden, QIF zu erhalten, beachten Sie, dass einige Ledger-Tools (ältere Ledger 2.x) QIF lesen konnten, es aber besser ist, in unserer Pipeline mit CSV zu arbeiten.

1.2 QuickBooks Online – Exportoptionen

Integrierter Excel/CSV-Export: QuickBooks Online (QBO) bietet ein Daten exportieren-Tool. Gehen Sie zu Einstellungen ⚙ → Tools → Daten exportieren. Im Exportdialog verwenden Sie den Tab Berichte, um Daten auszuwählen (z. B. Hauptbuch oder Transaktionsliste) und den Tab Listen für Listen (Kontenplan usw.), wählen Sie Alle Daten und exportieren Sie nach Excel. QuickBooks Online lädt eine ZIP-Datei herunter, die mehrere Excel-Dateien für die ausgewählten Berichte und Listen enthält (z. B. Gewinn- und Verlustrechnung, Bilanz, Hauptbuch, Kunden, Lieferanten, Kontenplan usw.). Sie können diese Excel-Dateien dann zur Verarbeitung in CSV konvertieren.

Transaktionsdetailbericht: Wenn der Standard-Export von QBO keine einzelne Hauptbuchdatei enthält, können Sie manuell einen detaillierten Bericht erstellen:

  1. Navigieren Sie zu Berichte und suchen Sie Buchungsdetails nach Konto (oder Hauptbuch in einigen QBO-Versionen).
  2. Stellen Sie den Berichtszeitraum auf den gesamten Fünfjahreszeitraum ein.
  3. Setzen Sie unter den Berichtsoptionen Gruppieren nach = Keine (um einzelne Transaktionen ohne Zwischensummen aufzulisten).
  4. Passen Sie die Spalten an, um mindestens Folgendes einzuschließen: Datum, Transaktionstyp, Nummer, Name (Zahlungsempfänger/Kunde), Memo/Beschreibung, Konto, Soll, Haben (oder eine einzelne Betragsspalte) und Saldo. Fügen Sie Klasse oder Standort hinzu, falls verwendet.
  5. Führen Sie den Bericht aus und exportieren Sie ihn nach Excel.

Dies liefert ein detailliertes Hauptbuch aller Transaktionen. Speichern Sie es als CSV. Jede Zeile repräsentiert einen Buchungssatz (Split) einer Transaktion. Sie müssen später die Zeilen nach Transaktionen gruppieren, um sie zu konvertieren.

Kontenplan und andere Listen: QuickBooks Online kann den Kontenplan über Buchhaltung → Kontenplan → Stapelaktionen → Nach Excel exportieren exportieren. Tun Sie dies, um Kontonamen und -typen zu erhalten. Exportieren Sie ebenfalls Kunden, Lieferanten usw., wenn Sie die Namen für Metadaten übernehmen möchten.

QuickBooks Online API (Optional): Für einen programmatischen Ansatz bietet Intuit eine REST-API für QBO-Daten. Fortgeschrittene Benutzer können eine QuickBooks Online-App erstellen (erfordert ein Entwicklerkonto) und die API verwenden, um Daten im JSON-Format abzurufen. Zum Beispiel könnten Sie den Account-Endpunkt für den Kontenplan und die JournalEntry- oder GeneralLedger-Berichtsendpunkte für Transaktionen abfragen. Es gibt Python-SDKs wie python-quickbooks, die die API umschließen. Die Verwendung der API erfordert jedoch eine OAuth-Authentifizierung und ist für eine einmalige Migration übertrieben, es sei denn, Sie bevorzugen die Automatisierung. In den meisten Fällen ist der manuelle Export nach CSV/Excel einfacher und weniger fehleranfällig.


Phase 2: Transformation und Bereinigung der Daten

Sobald Sie QuickBooks-Daten im CSV- (und/oder IIF-)Format haben, besteht der nächste Schritt darin, sie in das reine Textformat von Beancount zu konvertieren. Dies umfasst das Parsen der Exporte, das Zuordnen von QuickBooks-Konten zu einem Beancount-Kontenplan und das Formatieren von Transaktionen in der Beancount-Syntax.

2.1 Parsen von QuickBooks-Exporten mit Python

Die Verwendung von Python gewährleistet Genauigkeit und Reproduzierbarkeit bei der Transformation. Wir skizzieren Skripte für zwei Hauptaufgaben: Importieren des Kontenplans und Konvertieren von Transaktionen.

Kontenimport und -zuordnung: Es ist entscheidend, Ihre Konten in Beancount einzurichten, bevor Sie Transaktionen hinzufügen. QuickBooks-Konten haben Typen (Bank, Forderungen, Aufwand usw.), die wir den Hierarchien von Beancount (Assets, Liabilities, Income, Expenses usw.) zuordnen werden. Zum Beispiel können wir eine Zuordnung wie diese verwenden:

# Zuordnung von QuickBooks-Kontotyp zu Beancount-Stammkategorie
AccountTypeMap = {
'BANK': 'Assets',
'CCARD': 'Liabilities',
'AR': 'Assets', # Forderungen als Aktivkonto
'AP': 'Liabilities', # Verbindlichkeiten als Passivkonto
'FIXASSET': 'Assets',
'OASSET': 'Assets', # Sonstige Vermögensgegenstände
'OCASSET': 'Assets', # Sonstiges Umlaufvermögen
'LTLIAB': 'Liabilities', # Langfristige Verbindlichkeiten
'OCLIAB': 'Liabilities', # Sonstige kurzfristige Verbindlichkeiten
'EQUITY': 'Equity',
'INC': 'Income',
'EXP': 'Expenses',
'EXINC': 'Income', # Sonstige Erträge
'EXEXP': 'Expenses', # Sonstige Aufwendungen
}

Mithilfe des IIF-Exports von QuickBooks Desktop oder der Kontenlisten-CSV von QBO rufen wir den Namen und Typ jedes Kontos ab. Dann:

  • Beancount-Kontonamen erstellen: QuickBooks verwendet manchmal Doppelpunkte (:) in Kontonamen, um Unterkonten zu kennzeichnen (z. B. "Umlaufvermögen:Girokonto"). Beancount verwendet dieselbe Doppelpunktnotation für die Hierarchie. Sie können den Namen oft direkt wiederverwenden. Wenn die QuickBooks-Kontonamen nicht mit einer Kategorie beginnen, stellen Sie die zugeordnete Kategorie voran. Zum Beispiel wird ein QuickBooks-Konto vom Typ BANK mit dem Namen "Girokonto" in Beancount zu Assets:Girokonto. Ein EXP-Konto (Aufwand) "Bewirtung" wird zu Expenses:Bewirtung, usw.

  • Gültige Benennung sicherstellen: Entfernen oder ersetzen Sie alle Zeichen, die Beancount verwirren könnten. QuickBooks erlaubt Zeichen wie & oder / in Namen. Es ist ratsam, Sonderzeichen zu entfernen oder zu ersetzen (z. B. & durch und ersetzen, Schrägstriche oder Leerzeichen entfernen). Stellen Sie außerdem sicher, dass alle Kontonamen nach der Transformation eindeutig sind – QuickBooks hat möglicherweise denselben Unterkontonamen unter verschiedenen übergeordneten Konten zugelassen, was in Ordnung ist, aber in Beancount muss der vollständige Name (mit übergeordneten Konten) eindeutig sein. Benennen Sie sie bei Bedarf um oder fügen Sie eine Kennzeichnung hinzu, um sie zu unterscheiden.

  • Kontoeröffnungen ausgeben: In Beancount muss jedes verwendete Konto mit einer open-Direktive eröffnet werden. Sie können ein Datum vor Ihrer ersten Transaktion wählen (z. B. bei der Migration von Daten aus 2019–2023 verwenden Sie 2018-12-31 oder ein noch früheres Datum für alle Eröffnungen). Das Skript schreibt dann Zeilen wie: 2018-12-31 open Assets:Girokonto USD 2018-12-31 open Expenses:Bewirtung USD für jedes Konto (angenommen, USD ist die Hauptwährung). Verwenden Sie die entsprechende Währung für jedes Konto (siehe Hinweise zu mehreren Währungen unten).

Transaktionskonvertierung: Die Hauptherausforderung besteht darin, den QuickBooks-Transaktionsexport (CSV) in Beancount-Einträge zu konvertieren. Jede QuickBooks-Transaktion (Rechnung, Beleg, Scheck, Journaleintrag usw.) kann mehrere Buchungssätze (Zeilen) haben, die zu einer einzigen Beancount-Transaktion zusammengefasst werden müssen.

Wir verwenden den CSV-Leser von Python, um die exportierten Zeilen zu durchlaufen und die Buchungssätze zu sammeln:

import csv
from collections import defaultdict

# Alle Zeilen aus der QuickBooks-Journal-CSV lesen
rows = []
with open('quickbooks_exported_journal.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for line in reader:
rows.append(line)

# Zeilen nach Transaktion gruppieren (angenommen, 'Transaktions-Nr.' identifiziert Transaktionen)
transactions = defaultdict(list)
for line in rows:
trans_id = line.get('Trans #') or line.get('Transaction ID') or line.get('Num')
transactions[trans_id].append(line)

Jetzt ist transactions ein Wörterbuch, bei dem jeder Schlüssel eine Transaktions-ID/Nummer und der Wert die Liste der Buchungssätze für diese Transaktion ist. Als Nächstes konvertieren wir jede Gruppe in Beancount:

def format_date(qb_date):
# QuickBooks-Datumsangaben könnten wie "12/31/2019" aussehen
m, d, y = qb_date.split('/')
return f"{y}-{int(m):02d}-{int(d):02d}"

output_lines = []
for trans_id, splits in transactions.items():
# Buchungssätze bei Bedarf nach Zeilenreihenfolge sortieren (sie kommen normalerweise in der richtigen Reihenfolge)
splits = sorted(splits, key=lambda x: x.get('Line') or 0)
first = splits[0]
date = format_date(first['Date'])
payee = first.get('Name', "").strip()
memo = first.get('Memo', "").strip()
# Transaktionskopf
output_lines.append(f"{date} * \"{payee}\" \"{memo}\"")
if first.get('Num'): # Referenznummer einfügen, falls verfügbar
output_lines.append(f" number: \"{first['Num']}\"")
# Durch jeden Buchungssatz/Posten iterieren
for split in splits:
acct_name = split['Account'].strip()
# QuickBooks-Kontoname dem Beancount-Konto zuordnen (mithilfe der früheren Zuordnung)
beancount_acct = account_map.get(acct_name, acct_name)
# Betrag mit Vorzeichen bestimmen:
amount = split.get('Amount') or ""
debit = split.get('Debit') or ""
credit = split.get('Credit') or ""
if amount:
# Einige Exporte haben eine einzelne Betragsspalte (negativ für Haben-Buchungen)
amt_str = amount
else:
# Bei getrennten Soll-/Haben-Spalten
amt_str = debit if debit else f"-{credit}"
# Kommas in Zahlen zur Sicherheit entfernen
amt_str = amt_str.replace(",", "")
# Währung anhängen
currency = split.get('Currency') or "USD"
amt_str = f"{amt_str} {currency}"
# Memo/Beschreibung für den Buchungssatz
line_memo = split.get('Memo', "").strip()
comment = f" ; {line_memo}" if line_memo else ""
output_lines.append(f" {beancount_acct:<40} {amt_str}{comment}")
# Ende der Transaktion – Leerzeile
output_lines.append("")

Diese Skriptlogik tut Folgendes:

  • Formatiert das Datum in YYYY-MM-DD für Beancount.
  • Verwendet den Zahlungsempfänger (Name) und das Memo für den Buchungstext. Zum Beispiel: 2020-05-01 * "ACME Corp" "Rechnungszahlung" (Wenn kein Zahlungsempfänger vorhanden ist, können Sie den QuickBooks-Transaktionstyp verwenden oder den Zahlungsempfänger leer lassen).
  • Fügt number-Metadaten hinzu, wenn eine Referenznummer vorhanden ist (Scheck-Nr., Rechnungs-Nr. usw.).
  • Iteriert durch jede Buchungszeile:
    • Ordnet den QuickBooks-Kontonamen dem Beancount-Konto mithilfe eines Wörterbuchs account_map zu (das aus dem Kontenplan-Schritt gefüllt wurde).
    • Bestimmt den Betrag. Je nach Export haben Sie möglicherweise eine einzelne Amount-Spalte (mit positiven/negativen Werten) oder separate Soll- und Haben-Spalten. Der obige Code behandelt beide Fälle. Er stellt sicher, dass Haben-Buchungen als negative Beträge dargestellt werden (da in Beancount eine einzelne Zahl mit Vorzeichen pro Posten verwendet wird).
    • Hängt die Währung an (angenommen USD, es sei denn, eine andere Währungsspalte ist vorhanden).
    • Schreibt die Beancount-Buchungszeile mit dem Konto, dem Betrag und einem Kommentar mit dem Zeilen-Memo. Zum Beispiel: Assets:Girokonto 500.00 USD ; Einzahlung Income:Umsatzerloese -500.00 USD ; Einzahlung Dies spiegelt eine Einzahlung von $500 wider (von Umsatzerlösen auf das Girokonto).
  • Nach der Auflistung aller Buchungssätze trennt eine Leerzeile die Transaktion.

Umgang mit mehreren Währungen: Wenn Ihre QuickBooks-Daten mehrere Währungen beinhalten, fügen Sie den Währungscode zu jeder Buchung hinzu (wie oben gezeigt). Stellen Sie sicher, dass Konten in Fremdwährungen mit dieser Währung eröffnet werden. Wenn Sie zum Beispiel ein Bankkonto in EUR haben, würden Sie open Assets:Bank:Girokonto EUR ausgeben, und die Transaktionen auf diesem Konto verwenden EUR. Beancount unterstützt Hauptbücher mit mehreren Währungen und verfolgt implizite Umrechnungen, aber Sie müssen möglicherweise Preiseinträge für Wechselkurse hinzufügen, wenn Sie eine Umrechnung in eine Basiswährung in Berichten wünschen. Es wird auch empfohlen, Ihre Hauptbetriebswährung am Anfang der Beancount-Datei zu deklarieren (z. B. option "operating_currency" "USD").

Ausführen der Konvertierung: Speichern Sie das Python-Skript (z. B. als qb_to_beancount.py) und führen Sie es auf Ihren exportierten Dateien aus. Es sollte eine .beancount-Datei erzeugen, die alle Konten und Transaktionen enthält.

2.2 Umgang mit Randfällen und Datenbereinigung

Achten Sie bei der Transformation auf diese häufigen Fallstricke und wie Sie sie beheben können:

  • Nicht übereinstimmende Kontonamen: QuickBooks könnte Kontonamen haben, die mit den hierarchischen Namen von Beancount kollidieren. Zum Beispiel könnte QuickBooks zwei verschiedene übergeordnete Konten haben, die jeweils ein Unterkonto namens "Versicherung" haben. In Beancount muss Expenses:Versicherung eindeutig sein. Lösen Sie dieses Problem, indem Sie eines umbenennen (z. B. "Versicherung-Fahrzeug" vs. "Versicherung-Gesundheit") vor dem Export oder sie in Ihrem Skript eindeutigen Beancount-Konten zuordnen. Konsistente Namenskonventionen (keine Sonderzeichen und Verwendung von Hierarchien) sparen Kopfschmerzen. Verwenden Sie bei Bedarf den Ansatz einer Remapping-Datei: Pflegen Sie eine CSV-Datei oder ein Wörterbuch mit altem Namen → neuem Beancount-Namen und wenden Sie es während der Konvertierung an (unser Beispielcode verwendet eine account_map und könnte Überschreibungen aus einer Datei laden).

  • Daten und Formate: Stellen Sie sicher, dass alle Datumsangaben konsistent formatiert sind. Das obige Skript normalisiert M/D/Y in das ISO-Format. Achten Sie auch auf Probleme mit Geschäftsjahren im Vergleich zu Kalenderjahren, wenn Ihr Fünfjahreszeitraum einen Jahreswechsel überschreitet. Beancount kümmert sich nicht um Geschäftsjahresgrenzen, aber Sie möchten möglicherweise später Dateien zur besseren Übersichtlichkeit nach Jahren aufteilen.

  • Numerische Präzision: QuickBooks behandelt Währungen mit Cents, daher ist das Arbeiten in Cents normalerweise in Ordnung. Alle Beträge sollten idealerweise zwei Dezimalstellen in der CSV haben. Wenn Beträge in ganze Zahlen umgewandelt wurden (keine Dezimalstellen) oder Kommas/Klammern (für negative Werte) enthalten, bereinigen Sie diese im Skript (Kommas entfernen, (100.00) in -100.00 umwandeln usw.). Der CSV-Export sollte bei korrekter Durchführung (gemäß Anleitung) diese Formatierungsprobleme bereits vermeiden.

  • Negative Beträge und Vorzeichen: QuickBooks-Berichte zeigen negative Werte manchmal als -100.00 oder als (100.00) oder in bestimmten Excel-Exporten sogar als --100.00. Der Bereinigungsschritt sollte dies behandeln. Stellen Sie sicher, dass die Soll- und Haben-Beträge jeder Transaktion auf Null aufgehen. Beancount wird dies erzwingen (wenn es nicht ausgeglichen ist, wird beim Import ein Fehler ausgegeben).

  • Transaktionsduplikate: Wenn Sie Transaktionen in Stapeln exportieren mussten (z. B. jahrweise oder kontenweise), seien Sie vorsichtig beim Zusammenführen ohne Überlappung. Überprüfen Sie, ob die erste Transaktion eines Jahres nicht auch die letzte des vorherigen Stapels ist usw. Es ist leicht, versehentlich einige Transaktionen an den Grenzen zu duplizieren. Wenn Sie Duplikate vermuten, können Sie die endgültigen Beancount-Einträge nach Datum sortieren und nach identischen Einträgen suchen oder die eindeutigen Transaktions-Tags von Beancount verwenden, um sie zu finden. Eine Strategie besteht darin, QuickBooks-Transaktionsnummern als Metadaten einzufügen (z. B. die Transaktions-Nr. oder Rechnungsnummer als txn-Tag oder quickbooks_id-Metadaten verwenden) und dann sicherzustellen, dass keine Duplikate dieser IDs vorhanden sind.

  • Unausgeglichene Buchungssätze / Verrechnungskonten: QuickBooks könnte seltsame Fälle haben, wie eine Transaktion mit einer Differenz, die QuickBooks automatisch auf ein "Eröffnungsbilanz-Eigenkapital"- oder "Gewinnrücklagen"-Konto gebucht hat. Zum Beispiel, wenn anfängliche Kontensalden eingerichtet werden, bucht QuickBooks oft Differenzen auf ein Eigenkapitalkonto. Diese werden in den exportierten Transaktionen erscheinen. Beancount erfordert einen expliziten Ausgleich. Möglicherweise müssen Sie ein Eigenkapitalkonto für Eröffnungsbilanzwerte einführen (üblicherweise Equity:Opening-Balances), um QuickBooks zu spiegeln. Es ist eine gute Praxis, am ersten Tag Ihres Hauptbuchs einen Eröffnungsbilanzeintrag zu haben, der die Anfangssalden aller Konten festlegt (siehe Phase 5).

  • Randfälle bei mehreren Währungen: Bei Verwendung mehrerer Währungen könnte der Export von QuickBooks alle Beträge in der Heimatwährung oder in ihrer nativen Währung auflisten. Idealerweise erhalten Sie die Daten in der nativen Währung für jedes Konto (die Berichte von QuickBooks Online tun dies normalerweise). In Beancount trägt jede Buchung eine Währung. Wenn QuickBooks Wechselkurse oder eine Umrechnung in die Heimatwährung bereitgestellt hat, können Sie diese ignorieren und sich auf die Preiseinträge von Beancount verlassen. Wenn QuickBooks keine Wechselkurse exportiert hat, möchten Sie möglicherweise manuell Preiseinträge (z. B. mit der price-Direktive von Beancount) für wichtige Daten hinzufügen, um die Bewertung abzugleichen. Für die grundlegende Integrität des Hauptbuchs reicht es jedoch aus, dass die Transaktionen in ihren ursprünglichen Währungen ausgeglichen sind – nicht realisierte Gewinne/Verluste müssen nicht explizit erfasst werden, es sei denn, Sie möchten dieselben Berichte.

  • Forderungen / Verbindlichkeiten: QuickBooks verfolgt Rechnungs- und Belegdetails (Fälligkeitsdaten, Zahlungsstatus usw.), die in einem reinen Hauptbuch nicht vollständig übertragen werden. Sie erhalten die Forderungs- und Verbindlichkeitstransaktionen (Rechnungen erhöhen Forderungen, Zahlungen verringern Forderungen usw.), aber nicht die Rechnungsdokumente oder Kundensalden pro Rechnung. Daher sollten Sie nach der Migration überprüfen, ob Ihre Forderungs- und Verbindlichkeitssalden in Beancount den offenen Salden von Kunden/Lieferanten in QuickBooks entsprechen. Wenn Sie Rechnungen verfolgen müssen, können Sie die Metadaten von Beancount verwenden (z. B. ein invoice-Tag oder einen Link einfügen). Die QuickBooks-Rechnungsnummern sollten in den Feldern Num oder Memo enthalten sein – unser Skript behält die Num als number: "..." in den Transaktionsmetadaten bei.

  • Inaktive oder geschlossene Konten: Der IIF-Export kann inaktive Konten enthalten (wenn Sie diese Option gewählt haben). Es ist in Ordnung, sie zu importieren (sie werden nur keine Transaktionen und einen Nullsaldo haben, wenn sie wirklich inaktiv sind). Sie können sie in Beancount nach dem Datum der letzten Transaktion mit einer close-Direktive als geschlossen markieren. Dies hält Ihr Hauptbuch sauber. Zum Beispiel: 2023-12-31 close Expenses:AltesKonto ; nach Migration geschlossen Dies ist optional und dient hauptsächlich der Sauberkeit.

Durch sorgfältige Bereinigung und Zuordnung der Daten wie oben beschrieben erhalten Sie eine Beancount-Hauptbuchdatei, die Ihre QuickBooks-Daten strukturell widerspiegelt. Der nächste Schritt besteht darin, zu überprüfen, ob sie auch numerisch QuickBooks widerspiegelt.


Phase 3: Datenvalidierung und Abgleich

Die Validierung ist eine kritische Phase bei einer Buchhaltungsdatenmigration. Wir müssen sicherstellen, dass das Beancount-Hauptbuch auf den Cent genau mit den QuickBooks-Büchern übereinstimmt. Es können verschiedene Strategien und Werkzeuge verwendet werden:

3.1 Abgleich der Saldenbilanz

Ein Saldenbilanz-Bericht listet die Endsalden aller Konten auf (mit Soll und Haben oder positiv/negativ angegeben) und sollte sich zu Null summieren. Das Ausführen einer Saldenbilanz in beiden Systemen für dasselbe Datum ist der schnellste Weg, um die allgemeine Genauigkeit zu bestätigen.

  • In QuickBooks: Führen Sie einen Saldenbilanz-Bericht für den letzten Tag des letzten Jahres aus (z. B. 31. Dezember 2023). Dieser Bericht zeigt den Saldo jedes Kontos. Exportieren Sie ihn oder notieren Sie sich die wichtigsten Zahlen.

  • In Beancount: Verwenden Sie die Berichtsfunktionen von Beancount, um eine Saldenbilanz zu erstellen. Eine einfache Methode ist die Kommandozeile:

    bean-report migriert.beancount balances

    Der balances-Bericht ist eine Saldenbilanz, die alle Konten und ihre Salden auflistet. Sie können die Datei auch in Fava (der Web-UI von Beancount) öffnen und den Abschnitt Salden oder Bilanz ansehen. Jeder Kontostand in Beancount sollte mit der QuickBooks-Saldenbilanz übereinstimmen. Wenn QuickBooks zum Beispiel _Forderungen = 5.000anzeigt,solltedasKontoAssets:ForderungeninBeancountinsgesamt5.000_ anzeigt, sollte das Konto Assets:Forderungen in Beancount insgesamt 5.000 (Soll) betragen. Wenn*Umsatzerlöse = 200.000,solltedasKontoIncome:UmsatzerloeseinBeancount200.000*, sollte das Konto Income:Umsatzerloese in Beancount 200.000 (Haben, was als -200.000 angezeigt werden könnte, wenn eine Saldenbilanz verwendet wird, die Haben-Salden als negativ darstellt) aufweisen.

Wenn es Diskrepanzen gibt, lokalisieren Sie diese:

  • Prüfen Sie, ob ein ganzes Konto fehlt oder zusätzlich vorhanden ist (haben wir ein Konto vergessen oder eines eingeschlossen, das bereits vor dem Migrationszeitraum geschlossen wurde?).
  • Wenn ein Saldo falsch ist, gehen Sie ins Detail: QuickBooks kann einen Konto-Schnellbericht oder einen Kontodetailbericht für dieses Konto ausführen, und Sie können dies mit dem Register von Beancount für dieses Konto vergleichen (bean-report migriert.beancount register -a Kontoname). Manchmal stammen Unterschiede von einer fehlenden oder doppelten Transaktion.

Überprüfen Sie auch, ob die Summe aller Konten in der Saldenbilanz von Beancount Null ist (es wird eine Gesamtsumme gedruckt, die Null oder sehr nahe an Null sein sollte). Beancount erzwingt die doppelte Buchführung, also wenn Sie eine Nicht-Null-Differenz haben, bedeutet dies, dass Aktiva minus Passiva-Eigenkapital nicht auf Null aufgegangen sind, was auf ein Problem hindeutet (was QuickBooks normalerweise auch nicht zulassen würde, aber passieren könnte, wenn einige Daten verloren gingen).

3.2 Vergleich der Kontensalden

Über die Saldenbilanz hinaus können Sie bestimmte Finanzberichte vergleichen:

  • Bilanz: Führen Sie eine QuickBooks-Bilanz für das Enddatum und eine Beancount-Bilanz (bean-report migriert.beancount balsheet) aus. Dies ist ähnlich wie die Saldenbilanz, aber nach Aktiva, Passiva und Eigenkapital geordnet. Die Zahlen sollten kategorieweise übereinstimmen. Für eine detailliertere Prüfung vergleichen Sie die Summen der Hauptkonten: Bargeld, Forderungen, Anlagevermögen, Verbindlichkeiten, Eigenkapital usw.

  • Gewinn- und Verlustrechnung (GuV): Führen Sie eine GuV für den Fünfjahreszeitraum (oder jahrweise) in QuickBooks und in Beancount aus (bean-report migriert.beancount income für eine GuV des gesamten Zeitraums). Der Jahresüberschuss aus Beancount sollte für jeden Zeitraum dem von QuickBooks entsprechen. Wenn Sie alle fünf Jahre migriert haben, sollte der kumulierte Jahresüberschuss übereinstimmen. Sie können auch einzelne Umsatz- und Aufwandssummen vergleichen, um sicherzustellen, dass keine Kategorie übersehen oder verdoppelt wurde.

  • Stichprobenartige Transaktionsprüfung: Wählen Sie einige zufällige Transaktionen aus (insbesondere aus jedem Jahr und jedem Hauptkonto) und überprüfen Sie, ob sie korrekt migriert wurden. Suchen Sie zum Beispiel eine Rechnung von vor 3 Jahren in QuickBooks und suchen Sie dann nach ihrem Betrag oder Memo in der Beancount-Datei (da alle Transaktionen Text sind, können Sie die .beancount-Datei in einem Texteditor öffnen oder Suchwerkzeuge verwenden). Überprüfen Sie, ob Datum, Beträge und Konten übereinstimmen. Dies hilft, Datumsformatierungsprobleme oder falsch zugeordnete Konten zu finden.

3.3 Automatisierte Integritätsprüfungen

Nutzen Sie die eigenen Validierungswerkzeuge von Beancount:

  • bean-check: Führen Sie bean-check migriert.beancount aus. Dies wird die Datei parsen und alle Fehler in der Syntax oder beim Ausgleich melden. Wenn das Skript etwas übersehen hat, wie ein nicht eröffnetes Konto oder eine nicht ausgeglichene Transaktion, wird bean-check dies kennzeichnen. Ein sauberer Durchlauf (keine Ausgabe) bedeutet, dass die Datei zumindest intern konsistent ist.

  • Saldo-Zusicherungen: Sie können explizite Saldo-Zusicherungen (balance assertions) im Hauptbuch für wichtige Konten als zusätzliche Prüfung hinzufügen. Wenn Sie zum Beispiel den Kontostand eines Bankkontos an einem bestimmten Datum kennen, fügen Sie eine Zeile hinzu: 2023-12-31 balance Assets:Bank:Girokonto 10000.00 USD Dann wird bean-check sicherstellen, dass im Hauptbuch zu diesem Datum der Saldo tatsächlich $10.000 beträgt. Dies ist optional, kann aber für sehr wichtige Konten nützlich sein. Sie könnten Endsalden aus QuickBooks übernehmen (z. B. am Ende jedes Jahres) und sie in der Beancount-Datei zusichern. Wenn eine Zusicherung fehlschlägt, meldet Beancount eine Differenz.

  • Saldenbilanz-Fortschreibung: Wenn Sie es vorziehen, können Sie eine periodenweise Überprüfung durchführen. Vergleichen Sie für jedes Jahr die Nettoveränderung. Zum Beispiel den Jahresüberschuss in QuickBooks 2020 im Vergleich zu Beancount 2020 usw., um sicherzustellen, dass jedes Jahr ordnungsgemäß ins Eigenkapital abgeschlossen wurde (QuickBooks überträgt den Jahresüberschuss automatisch in die Gewinnrücklagen jedes neuen Jahres; in Beancount sehen Sie nur das kumulierte Eigenkapital). Wenn Sie Unterschiede sehen, könnte dies auf ein Problem in den Daten eines bestimmten Jahres hindeuten.

  • Anzahl der Transaktionen und Duplikate: Zählen Sie die Anzahl der Transaktionen in QuickBooks im Vergleich zu Beancount. QuickBooks zeigt nicht einfach eine direkte Anzahl an, aber Sie können dies abschätzen, indem Sie Zeilen in der CSV-Datei zählen (jeder Transaktionskopf vs. Buchungssätze). In Beancount ist ein schneller Weg, das Vorkommen von txn oder * " in der Datei zu zählen. Sie sollten gleich oder etwas höher sein als in QuickBooks (wenn Sie Eröffnungsbilanztransaktionen oder Anpassungen hinzugefügt haben). Eine signifikante Abweichung bedeutet, dass etwas ausgelassen oder dupliziert worden sein könnte. Unsere Verwendung von eindeutigen IDs in den Metadaten kann helfen: Wenn Sie Duplikate vermuten, suchen Sie in der Beancount-Datei nach derselben Scheck- oder Rechnungsnummer, die zweimal erscheint, obwohl sie es nicht sollte.

  • Abstimmungsstatus: Wir haben in unserem Skript Metadaten wie rec: "y" oder "n" basierend auf dem abgestimmten Status in QuickBooks eingefügt (als rec im Beispiel). Dies ist keine Standardfunktion von Beancount (Beancount verfolgt den Status "ausgeglichen/ausstehend" nicht auf die gleiche Weise wie Ledger), aber es können hilfreiche Metadaten sein. Sie könnten überprüfen, ob alle in QuickBooks abgestimmten Transaktionen vorhanden sind. Letztendlich könnte die erneute Abstimmung der Bankkonten in Beancount (mithilfe Ihrer Kontoauszüge) der endgültige Beweis sein, dass nichts fehlt.

Durch diese Validierungen schaffen Sie Vertrauen, dass die Migration die Daten erhalten hat. Nehmen Sie sich für diese Phase Zeit – es ist einfacher, Anomalien jetzt zu beheben als Monate später, wenn man sich möglicherweise auf die Bücher verlässt. Häufige Probleme bei fehlgeschlagener Validierung sind: ein fehlender Eröffnungssaldo eines Kontos, eine Transaktion mit einem Datum außerhalb des Bereichs oder eine Vorzeichenumkehr bei einem Eintrag. Alle sind behebbar, sobald sie identifiziert wurden.


Phase 4: Übernahme in das Beancount-Hauptbuch

Nach der Bereinigung und Validierung ist es an der Zeit, die Daten in Ihrer Beancount-Hauptbuchstruktur zu formalisieren. "Übernahme" bedeutet hier sowohl die Finalisierung der Hauptbuchdateien als auch deren potenzielle Eincheckung in ein Versionskontrollsystem zur Nachvollziehbarkeit.

4.1 Organisation der Hauptbuchdateien und Konfiguration

Entscheiden Sie, wie Sie die Beancount-Hauptbuchdateien strukturieren. Für fünf Jahre Daten können Sie alles in einer Datei behalten oder nach Jahr oder Kategorie aufteilen. Eine übliche, klare Struktur ist:

  • Haupt-Hauptbuchdatei: z.B. ledger.beancount – Dies ist der Einstiegspunkt, der andere Dateien include-n kann. Sie könnte globale Optionen enthalten und dann die jährlichen Dateien einbinden.
  • Kontendatei: Definieren Sie den Kontenplan und die Eröffnungssalden. Zum Beispiel accounts.beancount mit allen open-Direktiven (wie vom Skript generiert). Sie könnten hier auch Waren (Währungen) auflisten.
  • Transaktionsdateien: Eine pro Jahr, z.B. 2019.beancount, 2020.beancount, usw., die die Transaktionen für dieses Jahr enthalten. Dies hält jede Datei überschaubar und ermöglicht es Ihnen, sich bei Bedarf auf ein Jahr zu konzentrieren. Alternativ können Sie nach Entität oder Konto aufteilen, aber die zeitbasierte Aufteilung ist für Finanzdaten unkompliziert.

Beispiel für eine Hauptdatei:

option "title" "Mein Geschäfts-Hauptbuch"
option "operating_currency" "USD"

include "accounts.beancount"
include "2019.beancount"
include "2020.beancount"
...
include "2023.beancount"

Auf diese Weise werden alle Daten aggregiert, wenn Sie Berichte ausführen, aber Sie behalten die Ordnung bei.

Beancount erfordert nicht mehrere Dateien – Sie könnten eine große Datei haben – aber die obige Struktur verbessert die Klarheit und die Versionskontrolle. Gemäß den Best Practices von Beancount ist es gut, klare Abschnittsüberschriften zu verwenden und zusammengehörige Einträge logisch zu gruppieren.

4.2 Festlegen von Eröffnungssalden und Eigenkapital

Wenn Ihre Migration nicht bei absolut Null beginnt, müssen Sie Eröffnungssalden behandeln. Zwei Szenarien:

  • Bücher beginnen von Grund auf: Wenn der Fünfjahreszeitraum mit der Gründung des Unternehmens beginnt (z. B. Sie haben im Januar 2019 mit QuickBooks begonnen, wobei alle Konten auf Null standen, außer dem anfänglichen Eigenkapital), benötigen Sie möglicherweise keine separate Eröffnungssaldo-Transaktion. Die ersten Transaktionen im Jahr 2019 (wie die anfängliche Finanzierung eines Bankkontos) werden natürlich die Anfangssalden festlegen. Stellen Sie nur sicher, dass jegliches Anfangskapital oder vorherige Gewinnrücklagen über Eigenkapitaltransaktionen verbucht werden.

  • Bücher mittendrin (teilweise Historie): Wenn Sie QuickBooks früher begonnen haben und 2019 ein Mittelpunkt ist, dann hatte jedes Konto zum 1. Januar 2019 einen vorgetragenen Saldo. QuickBooks hätte diese als Eröffnungssalden oder Gewinnrücklagen. In Beancount ist es üblich, einen Eröffnungsbilanzeintrag am Tag vor Ihrem Startdatum zu erstellen:

    • Verwenden Sie ein Eigenkapitalkonto namens Equity:Opening-Balances (oder ähnlich), um die Summe aller Eröffnungsbeträge auszugleichen.
    • Beispiel: Wenn am 31.12.2018 der Kassenbestand 10.000,dieForderungen10.000, die Forderungen 5.000 und die Verbindlichkeiten 3.000(Haben)betrugen,wu¨rdenSieeineTransaktionschreiben:20181231"Ero¨ffnungsbilanzwerte"Assets:Kasse10000.00USDAssets:Forderungen5000.00USDLiabilities:Verbindlichkeiten3000.00USDEquity:OpeningBalances12000.00USDDiesla¨sstOpeningBalancesmitdernegativenSumme(3.000 (Haben) betrugen, würden Sie eine Transaktion schreiben: `2018-12-31 * "Eröffnungsbilanzwerte"` ` Assets:Kasse 10000.00 USD` ` Assets:Forderungen 5000.00 USD` ` Liabilities:Verbindlichkeiten -3000.00 USD` ` Equity:Opening-Balances -12000.00 USD` Dies lässt Opening-Balances mit der negativen Summe (–12k) zurück, was den Eintrag ausgleicht. Jetzt beginnen alle Aktiv-/Passivkonten das Jahr 2019 mit korrekten Salden. Dies sollte alle "Gewinnrücklagen" oder Vortragssalden von QuickBooks widerspiegeln.
    • Alternativ verwenden Sie die pad- und balance-Direktiven von Beancount: Für jedes Konto können Sie es von Opening-Balances pad-den und den Saldo balance-n. Dies ist ein automatisierterer Weg. Zum Beispiel: 2018-12-31 pad Assets:Kasse Equity:Opening-Balances 2018-12-31 balance Assets:Kasse 10000.00 USD Dies weist Beancount an, den notwendigen Eintrag (auf Opening-Balances) einzufügen, damit der Kassenbestand an diesem Datum 10000 USD beträgt. Tun Sie dies für jedes Konto. Das Ergebnis ist ähnlich, aber das Schreiben einer expliziten Transaktion wie in der ersten Methode ist auch unkompliziert.
  • Gewinnrücklagen: QuickBooks exportiert nicht explizit eine "Gewinnrücklagen"-Transaktion – es berechnet sie nur. Nach der Migration stellen Sie möglicherweise fest, dass Equity:Gewinnrücklagen Null ist, wenn Sie es nicht erstellt haben. In Beancount sind Gewinnrücklagen einfach die Gewinne der Vorjahre. Sie können wählen, ein Gewinnrücklagenkonto zu erstellen und die Gewinne der Vorjahre am ersten Tag jedes neuen Jahres dorthin zu übertragen, oder einfach das Eigenkapital die Summe aller Erträge/Aufwendungen sein zu lassen (was im Eigenkapitalabschnitt in Berichten erscheint). Zur Transparenz buchen einige Benutzer jährlich Abschlussbuchungen. Dies ist optional und dient hauptsächlich der Darstellung. Da wir alle Transaktionen migriert haben, wird der Gewinn für jedes Jahr natürlich zusammengefasst, wenn Sie einen Bericht pro Jahr ausführen.

  • Vergleichende Prüfungen: Führen Sie nach dem Festlegen der Eröffnungssalden eine Bilanz zum Startdatum aus, um sicherzustellen, dass alles korrekt ist (sie sollte diese Eröffnungssalden im Vergleich zum Eröffnungskapital zeigen, die sich zu Null summieren).

4.3 Finalisierung und Versionskontrolle

Nachdem die Daten im Beancount-Format und strukturiert sind, ist es ratsam, die Dateien in ein Versionskontroll-Repository (z. B. Git) zu committen. Jede Änderung am Hauptbuch kann nachverfolgt werden, und Sie haben einen Prüfpfad aller Änderungen. Dies ist ein Hauptvorteil der Plain-Text-Buchhaltung. In QuickBooks sind Änderungen beispielsweise möglicherweise nicht leicht vergleichbar, aber in Beancount können Sie zeilenweise Unterschiede sehen. Wie einige Benutzer anmerken, erhalten Sie mit Beancount Transparenz und die Möglichkeit, Änderungen bei Bedarf rückgängig zu machen – jeder Eintrag kann mit einer Änderungshistorie verknüpft werden.

Erwägen Sie, den Commit dieser initialen Migration als v1.0 oder ähnlich zu taggen, damit Sie wissen, dass er den Zustand der Bücher darstellt, wie er aus QuickBooks importiert wurde. In Zukunft werden Sie neue Transaktionen direkt in Beancount eingeben (oder aus Bank-Feeds importieren usw.), und Sie können normale Softwareentwicklungspraktiken anwenden (monatliches oder tägliches Committen, Verwendung von Branches für Experimente usw.).

Einrichtung von Fava oder anderen Tools: Fava ist eine Webschnittstelle für Beancount, die es einfach macht, Berichte anzuzeigen. Führen Sie nach dem Commit fava ledger.beancount aus, um die Finanzberichte zu durchsuchen und sie ein letztes Mal mit Ihren QuickBooks-Berichten zu vergleichen. Sie könnten kleine Unterschiede in einer UI leichter erkennen (zum Beispiel zeigt ein Konto, das Null sein sollte, aber einen kleinen Saldo aufweist, einen fehlenden Abschlusseintrag oder eine verirrte Transaktion an).

Namenskonventionen und Konsistenz: Sie haben jetzt die volle Kontrolle, also stellen Sie Konsistenz sicher:

  • Alle Konten sollten klare Namen haben, die mit großgeschriebenen Kategorienamen beginnen (Assets, Liabilities usw.). Wenn einige seltsam aussehen (z. B. Assets:assets:EinKonto aufgrund eines Groß-/Kleinschreibungsfehlers aus QuickBooks), benennen Sie sie in der Kontendatei um und aktualisieren Sie die Transaktionen (ein schnelles Suchen/Ersetzen in der Datei kann dies tun, oder verwenden Sie bean-format von Beancount oder den Multi-Cursor des Editors).
  • Warensymbole (Währungscodes) sollten konsistent sein. Für USD verwenden Sie überall USD (nicht $ oder US$). Für andere verwenden Sie Standardcodes (EUR, GBP usw.). Diese Konsistenz ist wichtig für die Preissuche und Berichte von Beancount.
  • Entfernen Sie alle temporären oder Dummy-Konten, die möglicherweise erstellt wurden (wenn Sie zum Beispiel Expenses:Sonstiges für unbekannte Konten im Skript als Sammelkonto verwendet haben, versuchen Sie, diese durch korrekte Zuordnung aller Konten zu eliminieren).

Abschalten von QuickBooks: An diesem Punkt sollten Sie parallele Bücher in Beancount haben, die mit QuickBooks übereinstimmen. Einige entscheiden sich dafür, beide Systeme für eine kurze Zeit parallel zu betreiben, um sicherzustellen, dass nichts übersehen wurde. Aber wenn die Validierung solide ist, können Sie die QuickBooks-Bücher "schließen":

  • Wenn dies eine Unternehmensumgebung ist, erwägen Sie den Export aller QuickBooks-Quelldokumente (Rechnungen, Belege, Quittungen) für die Aufzeichnungen, da diese in Beancount nicht existieren werden, es sei denn, Sie hängen sie manuell an.
  • Bewahren Sie eine Sicherung der QuickBooks-Daten auf (sowohl die Firmendatei als auch die Exportdateien).
  • Führen Sie das Beancount-Hauptbuch zukünftig als primäres Aufzeichnungssystem.

Durch die Übernahme der Daten in das Beancount-Hauptbuch haben Sie die Migrationspipeline abgeschlossen. Der letzte Schritt besteht darin, eine Prüfung durchzuführen und die Konsistenz der Finanzberichte nachzuweisen, um sich selbst (und alle Stakeholder oder Prüfer) davon zu überzeugen, dass die Migration erfolgreich war.


Phase 5: Audit nach der Migration und Beispiele

Um den Erfolg der Migration zu veranschaulichen, bereiten Sie einen Vorher-Nachher-Vergleich der Finanzberichte und möglicherweise einen Diff der Transaktionen vor. Dies liefert den Beweis, dass die Bücher konsistent sind.

5.1 Überprüfung der Finanzberichte

Erstellen Sie wichtige Finanzberichte aus sowohl QuickBooks als auch Beancount für dieselben Daten und vergleichen Sie sie:

  • Bilanz zum 31. Dezember 2023: Vergleichen Sie die Summen von Aktiva, Passiva und Eigenkapital Zeile für Zeile. Sie sollten übereinstimmen. Wenn QuickBooks zum Beispiel Gesamtvermögen = 150.000undGesamtkapital=150.000** und **Gesamtkapital = 150.000 anzeigte, sollte die Beancount-Bilanz dieselben Summen zeigen. Wenn Sie Konten etwas anders strukturiert haben (z. B. einige Unterkonten zusammengelegt), passen Sie dies im Vergleich an oder gehen Sie eine Ebene tiefer, um sicherzustellen, dass die Summen gleich sind.

  • GuV 2019–2023: Stellen Sie sicher, dass die Gesamterträge, Gesamtaufwendungen und der Jahresüberschuss für jedes Jahr (oder den gesamten Bereich) identisch sind. Geringfügige Unterschiede könnten entstehen, wenn QuickBooks bei Berichten gerundet hat, aber Transaktionen führen normalerweise Cents exakt, sodass der Jahresüberschuss exakt sein sollte. Wenn der Gewinn eines Jahres abweicht, gehen Sie in die Daten dieses Jahres – oft ein Indikator für einen fehlenden oder doppelten Eintrag in diesem Zeitraum.

  • Differenzen in der Saldenbilanz: Erstellen Sie nach Möglichkeit eine Tabelle, in der Sie jedes Konto und den Saldo aus QuickBooks im Vergleich zu Beancount auflisten. Da wir erwarten, dass sie übereinstimmen, sollte dies eine Spalte mit lauter Nullen sein. Dies ist im Wesentlichen die Kreuzprüfung der Saldenbilanz, die wir besprochen haben, aber das Aufschreiben hilft bei der Dokumentation.

5.2 Beispielhafter Vergleich (Vorher vs. Nachher)

Unten ist ein Beispiel-Ausschnitt, der die Datenkonsistenz demonstriert. Nehmen wir an, unsere QuickBooks-Saldenbilanz für den 31. Dezember 2023 war:

KontoQuickBooks-Saldo (31. Dez. 2023)
Aktiva
Assets:Bank:Girokonto$12.500,00 (Soll)
Assets:Forderungen$3.200,00 (Soll)
Passiva
Liabilities:Kreditkarte$-1.200,00 (Haben)
Liabilities:Darlehen$-5.000,00 (Haben)
Eigenkapital
Equity:Eröffnungsbilanz$-7.500,00 (Haben)
Equity:Gewinnrücklagen$-2.000,00 (Haben)
Equity:Laufender Gewinn$0,00

In Beancount, nach dem Import und der Buchung aller Transaktionen bis 2023, gibt ein bean-report balances (Saldenbilanz) aus:

KontoBeancount-Saldo (31. Dez. 2023)
Aktiva
Assets:Bank:Girokonto12.500,00 USD (Soll)
Assets:Forderungen3.200,00 USD (Soll)
Passiva
Liabilities:Kreditkarte-1.200,00 USD (Haben)
Liabilities:Darlehen-5.000,00 USD (Haben)
Eigenkapital
Equity:Eröffnungsbilanz-7.500,00 USD (Haben)
Equity:Gewinnrücklagen-2.000,00 USD (Haben)
Equity:Gewinn (2019-2023)0,00 USD

(Hinweis: Die Eigenkapitalabschnitte können unterschiedlich strukturiert sein; der Schlüssel ist, dass die Summen übereinstimmen. Hier spielt "Gewinn (2019-2023)" in Beancount die Rolle des laufenden Jahresgewinns/der kombinierten Gewinnrücklagen und zeigt Null an, weil der Gewinn in die Gewinnrücklagen abgeschlossen wurde.)

Wie gezeigt, stimmt jedes Konto auf den Cent genau überein. Die Summe der Soll-Beträge entspricht der Summe der Haben-Beträge auf beiden Seiten.

Wenn wir zusätzlich eine GuV für 2023 ausführen:

  • QuickBooks: Erträge $50.000, Aufwendungen $48.000, Jahresüberschuss $2.000.
  • Beancount: Erträge $50.000, Aufwendungen $48.000, Jahresüberschuss $2.000 (der dann in die Gewinnrücklagen abgeschlossen wurde oder im Eigenkapital in der Jahresendbilanz erscheint).

Sie können bei Bedarf einen Diff der Transaktionen erstellen, aber da QuickBooks-Daten nicht in Hauptbuchform vorliegen, ist es effektiver, sich auf Berichte zu verlassen. Man könnte sowohl die QuickBooks-CSV als auch die Beancount-Transaktionen nach Datum sortieren und Schlüsselfelder als letzte Überprüfung vergleichen (dies kann in Excel oder mit einem Skript erfolgen). Da wir jedoch unserer früheren Validierung vertrauen, ist die Überprüfung der Finanzberichte normalerweise ausreichend.

5.3 Tipps für die Prüfung

  • Wenn ein Prüfer oder Stakeholder eine Bestätigung benötigt, präsentieren Sie die Vorher-Nachher-Finanzberichte nebeneinander. Die Transparenz von Beancount kann Audits tatsächlich vereinfachen, da Sie jede Zahl von einem Bericht schnell bis zum Quelldatensatz zurückverfolgen können (insbesondere mit der Drill-Down-Funktionalität von Fava).
  • Bewahren Sie die QuickBooks-Sicherung und die exportierten CSVs als Teil Ihres Prüfpfads auf. Dokumentieren Sie alle während der Migration vorgenommenen Anpassungen (z. B. "Konto X in Y umbenannt für Konsistenz" oder "Transaktion Z in zwei Einträge aufgeteilt für Klarheit", falls Sie solche Änderungen vorgenommen haben).
  • Implementieren Sie zukünftig regelmäßige Überprüfungen in Beancount. Zum Beispiel hilft die monatliche Abstimmung der Bankkonten und eine Zusicherung ihres Endbestands, Datenprobleme oder Eingabefehler zu erkennen. Die Migration bietet eine gute Ausgangsbasis; die Aufrechterhaltung der Disziplin im neuen System gewährleistet die fortlaufende Genauigkeit.

Schließlich feiern Sie den Abschluss der Migration: Sie haben fünf Jahre Buchhaltungsdaten erfolgreich von QuickBooks nach Beancount übertragen. Die Daten liegen nun in einem leichtgewichtigen, versionierbaren Textformat mit vollständiger doppelter Buchführungsintegrität vor. Sie haben die Daten exportiert, mit Python-Skripten transformiert, die Integrität durch Saldenbilanzen und Berichte validiert und sie in ein gut organisiertes Beancount-Hauptbuch übernommen. Dieser umfassende Prozess stellt sicher, dass das Beancount-Hauptbuch eine genaue, getreue Nachbildung Ihrer QuickBooks-Bücher über den Fünfjahreszeitraum ist und Sie für eine optimierte Buchhaltung in der Zukunft aufstellt.

Einführung der Multi-Datei-Unterstützung in Beancount

· 2 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Viele unserer Kunden haben uns seit Februar gefragt, wie man mehrere Dateien zu einem Ledger hinzufügen kann. Sie benötigen die Dateistruktur, um Transaktionen zu archivieren oder zu kategorisieren. Nach einigen Monaten Arbeit freuen wir uns, bekannt geben zu können, dass die Funktion kostenlos veröffentlicht wurde.

So nutzen Sie es:

Datei > Neue Datei erstellen

2021-09-24-multi-file-one-ledger

Gehen Sie zum Datei-Editor-Tab in der linken Navigationsleiste. Folgen Sie dann dem Dropdown-Menü "Datei" und klicken Sie auf "Neue Datei erstellen".

Datei > Neue Datei erstellen

Benennen Sie Ihre neue Datei

Geben Sie Ihrer Datei einen gültigen Dateinamen und speichern Sie sie. Alle Dateinamen müssen mit ".bean" enden.

Benennen Sie Ihre neue Datei

Datei einbinden

Dies ist ein entscheidender Schritt: Sie müssen die neu erstellte Datei in main.bean einbinden.

Wenn Sie beispielsweise stock.bean hinzugefügt haben, geben Sie include "stock.bean" in main.bean an.

Datei einbinden

Aktualisieren und zur Datei navigieren

Aktualisieren Sie die Seite, und Sie werden sehen, dass die Datei im Dropdown-Menü "Datei" erscheint.

Aktualisieren und zur Datei navigieren

Datei umbenennen oder löschen

Wenn Sie zur Datei navigiert sind, können Sie sie im Dropdown-Menü "Bearbeiten" umbenennen oder löschen.

Datei umbenennen oder löschen

Haben Sie Probleme?

Stellen Sie Fragen in https://t.me/beancount.

Fava Upgrade auf Version 1.19: Wichtige Änderungen und Verbesserungen

· Eine Minute Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Wir haben die MIT-lizenzierte Open-Source-Software Fava auf Version 1.19 aktualisiert. Hier sind die Änderungen seit unserem letzten Update:

  • v1.19 (2021-05-18)
    • Migration von den Optionen conversion und interval zur Option default-page
    • Option invert-income-liabilities-equity hinzugefügt
    • Upgrade auf CodeMirror 6
    • fügt eine bulgarische Übersetzung hinzu
    • weitere kleine Verbesserungen und Fehlerbehebungen
  • v1.18 (2021-01-16)
    • einige kleine Verbesserungen und diverse Fehlerbehebungen.

Begeistert? Probieren Sie es jetzt aus unter https://beancount.io/ledger/

2021-07-16-upgrade-fava-to-1-19

Haben Sie Fragen? Wir sind für Sie da unter https://t.me/beancount :)

Amortisation in Beancount verstehen

· 2 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

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.

2021-01-09-amortize

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

Screenshot der Amortisationstransaktion

Wir stellen die Beancount Mobile Apps für iOS und Android vor

· 2 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

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.

Beancount iOS App

Hauptfunktionen

  • Schnelle Transaktionseingabe: Fügen Sie nahtlos neue Transaktionen unterwegs hinzu
  • Mobile Finanzberichte: Greifen Sie jederzeit und überall auf Ihre Finanzdaten zu
  • Direkte Ledger-Bearbeitung: Voller Zugriff auf Ihre Ledger-Datei über eine optimierte Webansicht
  • Plattformübergreifende Synchronisierung: Halten Sie Ihre Finanzdaten auf all Ihren Geräten konsistent

2020-08-19-beancount-mobile-app

Community-gesteuerte Entwicklung

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.

Unsere Vision

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.

Im App Store herunterladenIm Play Store herunterladen

Nettoergebnis 101 – und wie man es in Beancount verfolgt

· 5 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Von allen Zahlen, die ein Unternehmen beschreiben, steht eine über allen anderen: das Nettoergebnis. Es ist das ultimative Maß für die Rentabilität, der berühmte "Untere Strich". Aber was bedeutet es wirklich und wie können Sie es mit einem Plain-Text-Buchhaltungssystem wie Beancount präzise verfolgen?

Schauen wir es uns genauer an.

2020-03-12-nettoergebnis-101-und-wie-man-es-in-beancount-verfolgt

Was Nettoergebnis wirklich bedeutet

Im Kern ist das Nettoergebnis das Geld, das übrig bleibt, nachdem Sie absolut alles bezahlt haben, was für den Betrieb Ihres Unternehmens erforderlich ist. Dazu gehören die Kosten der verkauften Waren (COGS), alle Betriebskosten, Zinsen für Schulden und Steuern.

Es ist der deutlichste Einzelindikator für die finanzielle Gesundheit eines Unternehmens. Es ist eine entscheidende Kennzahl für alle:

  • Kreditgeber betrachten es, um Ihre Fähigkeit zur Rückzahlung von Krediten zu beurteilen.
  • Investoren sehen es als Quelle potenzieller Dividenden oder des für Wachstum verfügbaren Kapitals.
  • Gründer verlassen sich darauf, um ihren finanziellen Spielraum zu verstehen und strategische Reinvestitionspläne zu erstellen.

Ein positives Nettoergebnis bedeutet, dass Sie profitabel sind. Ein negatives bedeutet, dass Sie Geld verlieren. So einfach ist das.

Die Kernformel (Wählen Sie den Detaillierungsgrad, den Sie benötigen)

Sie können das Nettoergebnis mit unterschiedlicher Granularität berechnen. Die Wahl hängt davon ab, wie detailliert eine Analyse Sie benötigen.

  • Vollständige Formel: Umsatz – COGS – Betriebskosten – Zinsen – Steuern = Nettoergebnis
  • Standardformel: Umsatz – COGS – Ausgaben = Nettoergebnis
  • Schnelle & Grobe Formel: Gesamteinnahmen – Gesamtausgaben = Nettoergebnis

Ein kurzer Tipp zu Kosten: Was ist der Unterschied zwischen COGS und Betriebskosten? COGS (Cost of Goods Sold) deckt die direkten Kosten ab, die mit der Herstellung Ihrer Waren oder Dienstleistungen verbunden sind (z. B. Rohstoffe, direkte Arbeitskosten). Betriebskosten decken alles andere ab, was das Unternehmen am Laufen hält – Gehälter, Miete, Software-Abonnements, Versicherungen usw.

Ein Mini-Beispiel

Machen wir das greifbar. Stellen Sie sich vor, ein kleines Kaffeerösterei-Unternehmen hätte im letzten Monat die folgenden Ergebnisse erzielt.

PostenBetragBeispiel-Ledger-Konto
Umsatzerlöse60.000 €Income:Sales
COGS (Grüne Kaffeebohnen)20.000 €Expenses:COGS
Betriebskosten18.000 €Expenses:Ops:*
Zinsen (Auf Ausrüstungskredit)1.000 €Expenses:Interest
Steuern1.000 €Expenses:Taxes

Mit der vollständigen Formel ist die Berechnung einfach:

Nettoergebnis=60.00020.00018.0001.0001.000=20.000Nettoergebnis = 60.000 € - 20.000 € - 18.000 € - 1.000 € - 1.000 € = 20.000 €

Das Unternehmen erzielte im Monat einen echten Gewinn von 20.000 €.

Wie man es in Beancount erfasst

Die Struktur von Beancount ist perfekt dafür geeignet. Durch die logische Organisation Ihrer Konten wird die Berechnung des Nettoergebnisses zu einem automatischen Nebenprodukt einer guten Buchführung.

  • Kennzeichnen Sie alle Einnahmen unter einem übergeordneten Income-Konto, wie z. B. Income:Sales oder Income:Services.
  • Teilen Sie Ihre Ausgaben auf, um zwischen direkten und indirekten Kosten zu unterscheiden. Verwenden Sie Expenses:COGS für direkte Kosten und Unterkonten wie Expenses:Ops:Salaries oder Expenses:Ops:Software für alles andere.
  • Buchen Sie Zinsen und Steuern auf ihre eigenen Konten (Expenses:Interest, Expenses:Taxes). Dies vereinfacht zukünftige Analysen, insbesondere für die Steuererklärung.
  • Gleichen Sie Ihre Bücher regelmäßig ab. Die grundlegende Bilanzgleichung Aktiva = Passiva + Eigenkapital muss immer gelten.

Am Ende einer Periode (z. B. eines Monats) können Sie balance-Zusicherungen verwenden, um den Status Ihrer Konten zu bestätigen. Diese Einträge bewegen kein Geld; sie erklären, wie der Saldo sein sollte, und bean-check meldet einen Fehler, wenn er es nicht ist.

; 2025-07-31 Kaffeerösterei Unternehmen - Juli Abschluss
2025-07-31 balance Assets:Bank:Operating 42000.00 EUR
2025-07-31 balance Expenses:COGS 20000.00 EUR
2025-07-31 balance Expenses:Ops 18000.00 EUR
2025-07-31 balance Expenses:Interest 1000.00 EUR
2025-07-31 balance Expenses:Taxes 1000.00 EUR
2025-07-31 balance Income:Sales -60000.00 EUR

Einzeilige Nettoergebnisabfrage

Hier geschieht die Magie. Mit einem gut strukturierten Ledger können Sie Ihr Nettoergebnis für jeden Zeitraum mit einem einzigen Befehl berechnen.

bean-query books.beancount \
"SELECT period, sum(number) WHERE account =~ '^(Income|Expenses)' \
AND year = 2025 GROUP BY month"

Diese Abfrage summiert alle Werte in Ihren Income- und Expenses-Konten für 2025 und gruppiert sie nach Monat. In Beancount werden Einnahmen durch negative Zahlen und Ausgaben durch positive Zahlen dargestellt, sodass das Ergebnis das Negative Ihres Nettoergebnisses ist.

Noch besser, Sie müssen diese Abfrage nicht einmal manuell ausführen. Fava, die Weboberfläche für Beancount, stellt dies automatisch im Bereich Berichte → Gewinn- und Verlustrechnung dar.

Schnelle Einblicke, die Sie automatisieren können

Da Ihr Ledger nur eine Textdatei ist, können Sie leistungsstarke automatisierte Workflows darum herum erstellen.

  • Monatliche E-Mail-Zusammenfassung: Richten Sie einen Cron-Job ein, um bean-report books.beancount income_statement > net-income.txt auszuführen und dann die resultierende Textdatei am ersten jedes Monats per E-Mail an sich selbst zu senden.
  • Rentabilitätsalarm: Verwenden Sie einen Git-Pre-Commit-Hook, der eine Abfrage ausführt, um die Rentabilität des Monats zu überprüfen. Sie können ihn so programmieren, dass er den Commit ablehnt, wenn das Nettoergebnis negativ ist, und Sie so zwingt, einen Verlustmonat zu bestätigen.
  • Szenariomodellierung: Möchten Sie Ihr Unternehmen einem Stresstest unterziehen? Kopieren Sie einfach books.beancount nach scenarios/recession.bean, reduzieren Sie Ihre Income-Einträge um 20 % und führen Sie Ihre Nettoergebnisabfrage erneut aus, um die Auswirkungen sofort zu sehen.

Wichtigste Erkenntnisse

  • Das Nettoergebnis ist Ihr wahrer Gewinn. Das Ziel ist es, es positiv zu halten und seinen Trend im Laufe der Zeit zu verstehen.
  • Beancount macht die zugrunde liegende Mathematik explizit, durchsuchbar und versionskontrolliert. Es gibt keine versteckten Formeln.
  • Mit einer disziplinierten Kontenstruktur und einer einzigen Abfrage wissen Sie immer, ob Ihr Unternehmen wirklich Geld verdient.

Einführung in Beancount.io

· 5 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Warum moderne Buchführung wichtig ist

Verwalten Sie Ihre Anlagen immer noch mit Tabellenkalkulationen? Obwohl Tabellenkalkulationen vielseitig sind, können sie mit wachsendem Anlageportfolio umständlich und fehleranfällig werden. Hier kommt Beancount.io ins Spiel – eine ausgeklügelte und dennoch benutzerfreundliche Plattform zur Anlageverfolgung, die speziell für die Verwaltung von Aktien- und Kryptowährungsportfolios entwickelt wurde. Für Ingenieure und Finanzminimalisten konzipiert, kombiniert Beancount.io leistungsstarke Funktionen mit einer intuitiven Benutzeroberfläche, um Ihre Anlageverfolgung zu optimieren.

Einführung in Beancount

Ausgaben

Gewinn- und Verlustrechnung

Bilanz

Doppelte Buchführung: Die Grundlage der Genauigkeit

Beancount.io basiert auf den Prinzipien der doppelten Buchführung – einer bewährten Methode, die von Finanzinstituten weltweit angewendet wird. Dieses System gewährleistet mathematische Genauigkeit durch ein einfaches, aber leistungsstarkes Konzept: Jede Finanztransaktion muss perfekt ausgeglichen sein.

In der doppelten Buchführung erfordert jede Transaktion mindestens zwei Einträge – eine Sollbuchung (+) und eine Habenbuchung (-) – über verschiedene Konten hinweg. Dieses integrierte Verifizierungssystem macht es praktisch unmöglich, unbalancierte Transaktionen zu erfassen, wodurch Ihre Finanzunterlagen genau und zuverlässig bleiben.

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

Wie Sie in den beiden obigen Beispielen sehen können, muss jede Transaktion die Buchhaltungsgleichung erfüllen.

Assets = Liabilities + Equity(aka Net Assets)

Wir haben die Beancount-Syntax von Martin Blais und das Webprojekt Fava von Jakob Schnitzer verwendet, um diese Website zu erstellen. Und es wird Sie benachrichtigen, wenn eine Transaktion Positionen enthält, die nicht auf Null summieren.

Fehlerwarnung

Nun verstehen Sie, wie wir die Korrektheit des Hauptbuchs durchsetzen. Aber Sie fragen sich vielleicht, was diese „Konten“ sind?

Konten verstehen: Die Wassereimer-Analogie

Stellen Sie sich Ihre Finanzkonten als ein System miteinander verbundener Wassereimer vor, in denen Geld wie Wasser zwischen ihnen fließt. Diese Analogie macht die doppelte Buchführung intuitiv: Wenn Sie Geld von einem Konto auf ein anderes überweisen, ist es, als würden Sie Wasser von einem Eimer in einen anderen gießen – die Gesamtmenge des Wassers (Geldes) im System bleibt konstant.

Beancount.io führt fünf Arten von Konten ein.

  1. Einnahmen — Ihr Betrag ist immer negativ oder im Soll. Dies liegt daran, dass Sie Geld verdienen und das Geld dann vom „Einnahmen“-Konto abgebucht und Ihrem „Vermögen“ gutgeschrieben wird.
  2. Ausgaben — Ihr Betrag ist immer positiv oder im Haben. Dies liegt daran, dass Sie Geld ausgeben und das Geld von den „Vermögenswerten“ oder „Verbindlichkeiten“ zu den „Ausgaben“ fließt.
  3. Verbindlichkeiten — Ihr Betrag ist positiv oder null. Ihre Kreditkartenverbindlichkeiten sind ein gutes Beispiel, die in Zyklen steigen und fallen.
  4. Vermögenswerte — Ihr Betrag ist positiv oder null. Ihr Bargeld oder Ihre Häuser sind immer einen bestimmten Preis wert.
  5. Eigenkapital — Ihr Nettovermögen. Das System berechnet dies automatisch für Sie. Eigenkapital = Vermögenswerte - Verbindlichkeiten und es spiegelt wider, wie wohlhabend Sie sind.

Nun können Sie Ihre angepassten Konten mit den oben genannten Schlüsselwörtern eröffnen:

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

Erweiterte Anlageverfolgung mit Rohstoffen

Beancount.io zeichnet sich durch die Verfolgung verschiedener Anlagen aus, von Aktien bis zu Kryptowährungen. Lassen Sie uns untersuchen, wie es komplexe Anlageszenarien handhabt. Zum Beispiel würden Sie den Kauf von 10 Bitcoins zu je 100 $ im Jahr 2014 wie folgt erfassen:

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

Und dann, drei Jahre später, verkaufen Sie sie (ursprünglich mit Kosten von 100 $ pro Einheit, annotiert mit {100.00 USD}) zum Preis von 10.000 $ pro Einheit, annotiert mit @ 10,000.00 USD.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

Oder dieselbe Transaktion mit @@ 20,000.00 USD bedeutet, dass der Preis insgesamt 20.000 $ beträgt.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

Die Summe aller Positionen der Transaktion, einschließlich -2 BTC {100.00 USD}, ist wie immer null.

Der Kosten-Tag {100.00 USD} ist wichtig, da Sie dieselbe Ware möglicherweise zu unterschiedlichen Kosten gekauft haben.

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

Wenn Sie den Prozess vereinfachen möchten, können Sie das Konto zu Beginn mit FIFO oder LIFO einrichten. FIFO steht für „First In, First Out“, während LIFO für „Last In, First Out“ steht. In den USA verwendet die IRS FIFO, um Ihren Gewinn und Verlust sowie die entsprechende Steuer zu berechnen.

1970-01-01 open Assets:Trade:Positions "FIFO"

Und wenn Sie es dann in Kurzform wie -2 BTC {} verkaufen, wendet Beancount automatisch die FIFO-Strategie an und verkauft die älteste Ware.

Erste Schritte mit Beancount.io

Beancount.io ist eine moderne, cloud-basierte Finanzmanagementplattform, die Ihre textbasierten Transaktionsaufzeichnungen in umfassende Finanzberichte umwandelt, einschließlich Gewinn- und Verlustrechnungen, Bilanzen und Saldenlisten. Durch die Kombination der Zuverlässigkeit von Klartextdateien mit leistungsstarken Visualisierungstools hilft Ihnen Beancount.io, präzise Kontrolle über Ihr Finanzleben zu behalten und gleichzeitig wertvolle Einblicke in Ihre Anlageperformance zu gewinnen.

Beginnen Sie Ihre Finanzreise mit Beancount.io – Kostenlos während unserer Aktionsphase!

Buchführungsgrundlagen mit Beancount: Der Weg zu übersichtlichen Büchern im Klartextformat

· 7 Minuten Lesezeit
Mike Thrift
Mike Thrift
Marketing Manager

Sie können kein Unternehmen steuern, wenn Sie nicht wissen, wohin das Geld fließt. Genaue Buchführung verwandelt Rätselraten in Erkenntnisse. (Investopedia)

Jeder Geschäftsinhaber, Freiberufler oder Startup-Gründer sieht sich irgendwann der gleichen Realität gegenüber: Finanzchaos ist ein Wachstumshemmer. Ohne ein klares Bild Ihres Cashflows fliegen Sie blind. Aber was wäre, wenn Sie Ihre Finanzen mit der gleichen Präzision und Kontrolle verwalten könnten, die Sie auf Ihren Code anwenden? Lernen Sie Beancount kennen, ein leistungsstarkes Open-Source-Buchhaltungssystem, das mit Klartextdateien arbeitet.

2019-03-24-bookkeeping-basics

Dieser Leitfaden führt Sie durch die Grundlagen der Buchführung und zeigt Ihnen, wie Sie mit Beancount einen robusten, schlanken und transparenten Finanzworkflow erstellen.

Was ist Buchführung?

Im Kern ist Buchführung die systematische und kontinuierliche Erfassung jeder Finanztransaktion eines Unternehmens. Es ist die tägliche Disziplin, Einnahmen, Ausgaben, Vermögenswerte (was Sie besitzen) und Verbindlichkeiten (was Sie schulden) zu verfolgen.

In der Welt von Beancount sind diese Aufzeichnungen nicht in proprietärer Software versteckt. Sie befinden sich in einfachen, menschenlesbaren Klartextdateien. Dieser Ansatz ermöglicht es Ihnen, Ihre Finanzhistorie mit Tools wie Git zu versionieren, genau wie bei einem Softwareprojekt. Jeder Eintrag unterliegt dem Prinzip der doppelten Buchführung, einem eleganten System, das Ihre Arbeit automatisch überprüft und sicherstellt, dass Ihre Bücher immer korrekt sind. (beancount)

Warum ist sie wichtig?

Sorgfältige Buchführung ist nicht nur eine Frage der administrativen Ordnung, sondern ein strategischer Vorteil.

  • Steuersicherheit: Wenn die Steuererklärung ansteht, sind saubere Unterlagen Ihr bester Freund. Das Finanzamt verlangt eine klare Dokumentation der Einnahmen und Abzüge. Ein gut geführtes Hauptbuch bedeutet, dass Sie Ihre Steuererklärung mit Zuversicht einreichen und mögliche Betriebsprüfungen erheblich verkürzen können. (IRS)
  • Fundiertere Entscheidungen: Sind Ihre Preise hoch genug? Ist ein bestimmter Dienstleistungsvertrag tatsächlich profitabel? Spiralisieren die Abonnementkosten außer Kontrolle? Finanzberichte wie die Gewinn- und Verlustrechnung und die Bilanz decken Preislecks, ausufernde Kosten und Cashflow-Probleme auf und geben Managern und Investoren die Daten, die sie für kluge Entscheidungen benötigen. (Investopedia)
  • Einfachere Finanzierung: Kreditgeber und Investoren treffen keine Entscheidungen aus dem Bauch heraus. Bevor sie Gelder überweisen, werden sie nach Finanzberichten fragen. Eine gute Buchführung ermöglicht es Ihnen, in Sekundenschnelle eine Bilanz oder eine Gewinn- und Verlustrechnung zu erstellen und so Professionalität und finanzielle Gesundheit zu demonstrieren. (Investopedia)
  • Warnungen vor Betrug und Fehlern: Der regelmäßige Abgleich Ihrer Bücher mit den Kontoauszügen ist Ihre erste Verteidigungslinie gegen Fehler. Diese einfache Gewohnheit hilft Ihnen, doppelte Belastungen, Bankfehler oder betrügerische Aktivitäten schnell zu erkennen, bevor sie zu größeren Problemen werden. (IRS)

Ein Sieben-Schritte-Plan im Klartextformat

Bereit zum Loslegen? Hier erfahren Sie, wie Sie Ihr Beancount-gestütztes Buchhaltungssystem von Grund auf neu erstellen.

1. Trennen Sie Geschäfts- und Privatkonten

Dies ist der unverzichtbare erste Schritt. Eröffnen Sie ein separates Geschäftskonto und gegebenenfalls eine Geschäftskreditkarte. Die Vermischung von Geldern führt zu einem Albtraum für die Buchhaltung und kann die Haftungslinien zwischen Ihnen und Ihrem Unternehmen verwischen. Eine klare Trennung ist wichtig für genaue Abzüge und den rechtlichen Schutz. (Small Business Administration)

In Beancount deklarieren Sie die Existenz dieser Konten mit einer open-Anweisung:

; Eröffnungssalden Ihrer Konten
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

2. Wählen Sie ein Buchhaltungssystem

Beancount verwendet die doppelte Buchführung, den seit Jahrhunderten geltenden Goldstandard der Buchhaltung. Das Prinzip ist einfach: Jede Transaktion betrifft mindestens zwei Konten. Für jede Sollbuchung von einem Konto muss es eine entsprechende Habenbuchung auf einem anderen Konto geben. Die Magie dieses Systems besteht darin, dass die Summe aller Ihrer Konten immer Null ergeben muss. Beancount setzt diese Regel automatisch durch, d. h. ein Tippfehler oder ein logischer Fehler wird sofort angezeigt. Sie können buchstäblich keine unausgeglichenen Bücher haben. (beancount)

3. Entscheiden Sie sich für eine Rechnungslegungsmethode

Sie haben hier zwei Möglichkeiten:

  • Ist-Basis: Sie erfassen Einnahmen, wenn Sie das Geld erhalten, und Ausgaben, wenn Sie sie bezahlen. Sie ist einfacher und spiegelt Ihren Cashflow direkt wider.
  • Soll-Basis: Sie erfassen Einnahmen, wenn Sie sie verdienen (z. B. wenn eine Rechnung gestellt wird), und Ausgaben, wenn sie anfallen (z. B. wenn Sie eine Rechnung erhalten). Diese Methode gibt ein genaueres Bild der finanziellen Gesundheit und Leistung eines Unternehmens, insbesondere für wachsende Unternehmen. (Investopedia)

Hier ist ein Beispiel für eine Soll-Transaktion in Beancount. Sie buchen die Einnahmen, wenn die Rechnung versendet wird, und verschieben den Wert auf Assets:AccountsReceivable. Wenn der Kunde bezahlt, verschieben Sie das Geld von AccountsReceivable auf Ihr Bankkonto.

; Soll-Beispiel: Rechnung ausgestellt, Zahlung später
2025-07-22 * "Designrechnung #101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "Kunde bezahlt Rechnung #101"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

4. Stellen Sie Ihren Werkzeugkasten zusammen

Die Schönheit von Beancount liegt in seiner minimalistischen, modularen Natur. Ihr Kernbestand umfasst:

  • Editor + Git: Ihr bevorzugter Texteditor für die Erfassung von Transaktionen und Git für die Versionskontrolle, wodurch Sie eine vollständige, überprüfbare Historie jeder Änderung erhalten.
  • bean-report / bean-balance / Fava: Kommandozeilen-Tools wie bean-report und die beeindruckende Weboberfläche Fava bieten Ihnen sofortige Finanzberichte, Dashboards und leistungsstarke Filterfunktionen.
  • Importer: Ein reichhaltiges Ökosystem von Community-basierten Importern kann sich über CSV, Plaid oder APIs für Dienste wie Stripe und PayPal mit Ihren Bankdaten verbinden und so einen Großteil der Dateneingabe automatisieren.

5. Kategorisieren Sie jede Transaktion

Ein gut organisierter "Kontenplan" ist das Rückgrat einer aussagekräftigen Berichterstattung. Definieren Sie Kategorien, die für Ihr Unternehmen sinnvoll sind, und verwenden Sie hierarchische Konten für die Granularität. Kategorisieren Sie dann die Transaktionen sorgfältig, wenn Sie sie erfassen.

2025-07-30 * "AWS Monatsrechnung"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

In diesem Beispiel werden die Ausgaben eindeutig unter Expenses:Hosting:AWS abgelegt. Die Verwendung von tag: "ops" ermöglicht auch übergreifende Berichte, z. B. die Anzeige aller Betriebskosten unabhängig von ihrer Hauptkategorie. (IRS)

6. Bewahren Sie die Quelldokumente sicher auf

Das Finanzamt akzeptiert gerne digitale Kopien von Quittungen und Rechnungen. Scannen Sie Papierbelege oder leiten Sie E-Mail-Rechnungen an einen speziellen Ordner in einem Cloud-Speicher (wie Google Drive oder Dropbox) weiter. Verknüpfen Sie dann die Datei direkt in Ihrem Beancount-Eintrag mithilfe von Metadaten. So entsteht ein luftdichter, in sich geschlossener Datensatz.

; Belegbild als Metadaten verknüpft
2025-07-18 * "Teamessen"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

7. Machen Sie die Buchführung zur Gewohnheit

Konsequenz ist der Schlüssel. Aufschub verwandelt die Buchführung in eine stressige, zeitaufwändige Aufgabe. Legen Sie einen wiederkehrenden Zeitblock fest - einen wöchentlichen oder monatlichen "Bean-Tag" - um Transaktionen zu importieren, Konten abzugleichen und Ihre Finanzberichte zu überprüfen. Diese einfache Routine verwandelt die Buchführung von einem vierteljährlichen Kampf in einen schnellen, ermächtigenden Geschäfts-Gesundheitscheck. (IRS)

Selbst machen vs. professionelle Hilfe

  • Selbst machen: Für Freiberufler oder kleine Unternehmen mit vorhersehbarem Transaktionsvolumen ist ein Selbstmach-Ansatz mit Beancount unglaublich effektiv. Es ist dennoch ratsam, eine kurze, einmalige Beratung mit einem Steuerberater durchzuführen, um Ihren Kontenplan zu validieren und sicherzustellen, dass Sie auf dem richtigen Weg sind.
  • Professionelle Überprüfung: Wenn Ihr Unternehmen skaliert, die Transaktionen komplexer werden oder das Compliance-Risiko steigt, ist die Hinzuziehung eines professionellen Buchhalters für regelmäßige Überprüfungen von unschätzbarem Wert. Sie können Beancount weiterhin als Ihre primäre Datenquelle verwenden und einfach die benötigten Berichte exportieren.

Schnellstart-Checkliste

  • Separate Geschäftsbankkonten eröffnen.
  • Klonen Sie das Beancount-Starter-Repository und definieren Sie Ihre Konten in accounts.bean.
  • Wählen Sie zwischen Ist- und Soll-Basis und bleiben Sie dabei.
  • Richten Sie Importer ein, um die Dateneingabe von Ihrer Bank (CSV), Stripe, PayPal usw. zu automatisieren.
  • Kennzeichnen und schreiben Sie klare Beschreibungen für jede Transaktion.
  • Gleichen Sie Ihr Hauptbuch wöchentlich oder monatlich mit den Kontoauszügen ab.
  • Erstellen Sie monatliche Gewinn-, Bilanz- und Cashflow-Berichte mit Fava oder bean-report.
  • Sichern Sie Ihre .bean-Dateien regelmäßig (Git + externe Speicherung).

Weiterführende Literatur

Bereit zum Start? Installieren Sie Beancount, übertragen Sie Ihren ersten Eintrag und tauschen Sie Tabellenkalkulationsnebel gegen Klartextklarheit. Viel Spaß beim Bean-Counting!