Branchenspezifische Setups
Beispielkonfigurationen für Freiberufler, kleine Unternehmen und persönliche Finanzen
In diesem Leitfaden untersuchen wir, wie man ein Beancount-Hauptbuch für unterschiedliche Bedürfnisse anpasst: für einen Freiberufler, ein kleines Boutique-Unternehmen und für die persönlichen Haushaltsfinanzen. Jedes Szenario bringt einzigartige Kontostrukturen und Überlegungen mit sich. Wir erläutern die Logik hinter jedem Setup, liefern beispielhafte Beancount-Auszüge und heben nützliche Funktionen (wie benutzerdefinierte Tags und automatisierte Importe) hervor, die die Erfassung erleichtern. Der Ton ist instruktiv und dennoch zugänglich – egal, ob Sie Entwickler, technikaffiner Profi oder Finanzbegeisterter sind, diese Beispiele werden Ihnen helfen, Beancount in der Praxis anzuwenden.
Freiberufler
Freiberufler (wie Softwareentwickler oder Grafikdesigner) jonglieren oft mit mehreren Kunden und Projektkosten. Ein einfaches Beancount-Setup kann dabei helfen, die Einnahmen von jedem Kunden, die Geschäftsausgaben (einschließlich beauftragter Subunternehmer) und das für Steuern beiseitegelegte Geld zu verfolgen. Das Ziel ist es, das System so einfach zu halten, dass es mit Ihrem freiberuflichen Geschäft wächst, ohne unnötige Komplexität zu erzeugen.
Wichtige Konten für Freiberufler: Ein Ledger für Freiberufler trennt in der Regel geschäftliche von privaten Finanzen. Sie könnten beispielsweise folgende Konten verwenden:
- Assets:Business:Checking – Ein Geschäftskonto für alle Kundenzahlungen und Geschäftsausgaben.
- Assets:Business:TaxSavings – Ein Sparkonto, um einen Teil der Einnahmen für Steuerzahlungen beiseite zu legen (da kein Arbeitgeber Steuern für Sie einbehält).
- **Income:Client:Name – Ertragskonten für Kundenzahlungen. Sie können Unterkonten pro Hauptkunde erstellen (z. B.
Income:Client:ACME) oder ein einzelnesIncome:Freelance-Konto verwenden und die Kunden-Namen in den Transaktionen taggen. - Expenses:Business:Contractors – Für Zahlungen an Subunternehmer oder für ausgelagerte Arbeiten.
- Expenses:Business:Software (und andere Kategorien wie Travel, Supplies) – Für regelmäßige Geschäftsausgaben (Software-Abonnements, Ausrüstung, Reisen zu Kundenstandorten usw.).
- Equity:OwnerDraw – (Optional) Zur Erfassung von Gewinnentnahmen aus dem Unternehmen für den persönlichen Gebrauch. Dies hilft, Geschäftsmittel von Privatmitteln zu unterscheiden, wenn Sie sich selbst bezahlen.
Begründung: Diese Struktur stellt sicher, dass alle geschäftlichen Gelder auf speziellen Konten verfolgt werden. Einnahmen von jedem Kunden werden erfasst (sodass Sie leicht sehen können, wer Ihre Top-Kunden sind), und Ausgaben werden für die Steuererklärung kategorisiert. Das Beiseitelegen von Steuern auf einem separaten Aktivkonto (oder das Erfassen einer Verbindlichkeit für geschuldete Steuern) verhindert, dass versehentlich Geld ausgegeben wird, das dem Finanzamt zusteht. Das Hauptbuch bleibt einfach: Wenn Sie neue Kunden oder Ausgabenkategorien hinzufügen, können Sie neue Konten erstellen oder Tags verwenden, ohne alles umorganisieren zu müssen. Ein häufiger Fehler ist das Mischen von privaten und geschäftlichen Transaktionen auf einem Konto; durch die Führung eines dedizierten Geschäftskontos (und des entsprechenden Aktivkontos) werden Abstimmung und Berichterstattung sauberer. Ein weiterer Fallstrick, den es zu vermeiden gilt, ist das Vergessen der Erfassung von Barübertragungen für Steuern oder Privatentnahmen – durch die Verwendung von Konten wie TaxSavings und OwnerDraw wird jeder Euro berücksichtigt.
Hervorzuhebende Beancount-Funktionen: Tags und Metadaten sind für Freiberufler äußerst nützlich. Beispielsweise könnten Sie Transaktionen mit einer Projekt- oder Rechnungsnummer taggen oder ein Metadatenfeld verwenden, um den Kundennamen zu notieren, falls Sie sich gegen separate Ertragskonten pro Kunde entscheiden. Dies macht es einfach, Transaktionen für einen bestimmten Kunden oder ein Projekt zu filtern oder abzufragen (z. B. die Summe aller mit #ProjectX getaggten Ausgaben). Darüber hinaus können die automatisierten Importer von Beancount die Dateneingabe vereinfachen – Sie könnten beispielsweise einen Importer für Ihre Bank- oder Kreditkartenabrechnungen einrichten, um Transaktionen in Ihr Hauptbuch einzulesen und dann nur noch die entsprechenden Ausgaben- oder Ertragskontonamen hinzuzufügen. Dies spart Zeit, wenn Sie viele kleine Transaktionen haben (wie Software-Abonnements oder Reisekosten).
Beispiel-Snippet für Freiberufler
Unten finden Sie einen vereinfachten Beancount-Auszug für einen freiberuflichen Entwickler. Er zeigt die Eröffnung einiger wichtiger Konten, eine eingehende Zahlung eines Kunden, eine Zahlung an einen Subunternehmer, eine typische Geschäftsausgabe und die Überweisung von Geld auf ein Steuersparkonto. (In der Praxis würden Sie auch andere Ausgaben wie Reisen oder den Kauf von Ausrüstung ähnlich erfassen.)
1970-01-01 open Assets:Business:Checking
1970-01-01 open Assets:Business:TaxSavings
1970-01-01 open Income:Client:ACME
1970-01-01 open Expenses:Business:Contractors
1970-01-01 open Expenses:Business:Software
; Kundeneinnahmen – Zahlung einer Rechnung
2025-08-15 * "Rechnungszahlung von ACME Corp"
invoice: "INV-2025-08-15"
Assets:Business:Checking 5000 USD
Income:Client:ACME -5000 USD
; Regelmäßige Ausgabe – z. B. Software-Abonnement für das Unternehmen
2025-08-05 * "GitHub-Abonnement"
Expenses:Business:Software 15 USD
Assets:Business:Checking - 15 USD
; Subunternehmer-Ausgabe – Zahlung an einen Subunternehmer für Unterstützung
2025-08-20 * "Zahlung an Subunternehmer – Jane Doe"
Expenses:Business:Contractors 2000 USD
Assets:Business:Checking -2000 USD
; Steuerrückbehalt – Geld auf das Steuersparkonto verschieben
2025-08-31 * "Steuerrücklage für Q3 bilden"
Assets:Business:TaxSavings 1500 USD
Assets:Business:Checking -1500 USD #tax
Schauen wir uns an, was passiert:
- Wir eröffnen die notwendigen Konten oben (mit einem Startdatum). Dies ist für Beancount nicht zwingend erforderlich (Konten werden bei der ersten Verwendung erstellt, wenn sie nicht geöffnet wurden), aber es ist gute Praxis, sie zu deklarieren. Die Konten
Assets:Business:CheckingundAssets:Business:TaxSavingswerden USD-Salden führen; Ertrags- und Aufwandskonten können in der Open-Direktive ohne Währung gelassen werden, da sie die Transaktionswährungen (in diesem Fall USD) erben. - Rechnungszahlung vom Kunden: Am 15.08.2025 verbucht eine Ertragstransaktion eine Kundenzahlung von 5.000 $ für eine Rechnung. Wir entlasten (Haben)
Income:Client:ACME(Einnahmen steigen in der doppelten Buchführung mit einem negativen Betrag) und belasten (Soll) das Girokonto. Ein Metadatenfeldinvoice: "INV-2025-08-15"ist enthalten, um die Rechnungsnummer zu notieren – dies ist optional, zeigt aber, wie Sie zusätzliche Informationen an eine Transaktion anhängen können. Sie könnten diese Transaktion auch mit#ACMEoder#client-ACMEfür eine schnelle Filterung taggen. Wenn Sie mehrere Kunden hätten, könnten Sie ein allgemeinesIncome:Clients-Konto verwenden und sich auf solche Metadaten oder das Feld "Payee" verlassen, um Kunden zu unterscheiden, anstatt viele Unterkonten zu erstellen. - Geschäftsausgabe (Software): Am 05.08.2025 erfassen wir eine Ausgabe von 15 $ für ein GitHub-Abonnement (vielleicht für private Repositories oder andere Dienste). Die Buchung geht an
Expenses:Business:Softwareund verringert das Geschäftskonto. Kleine wiederkehrende Ausgaben wie diese könnten getaggt werden (zum Beispiel haben wir unten bei der Steuertransaktion#taxhinzugefügt; ähnlich könnten Sie bestimmte Ausgaben als#recurringtaggen, wenn sie monatlich anfallen usw.). In diesem Fall macht der Kontoname selbst (Software) alles deutlich. - Zahlung an Subunternehmer: Am 20.08.2025 zahlte der Freiberufler 2.000 $ an eine Subunternehmerin (Jane Doe). Dies wird als Ausgabe in
Expenses:Business:Contractorsund als Geldabgang vom Girokonto verbucht. Sie könnten den Namen des Subunternehmers in den Buchungstext aufnehmen (wie wir es getan haben) oder als Metadatenfeld (z. B.contractor: "Jane Doe"). Dies ermöglicht eine lückenlose Dokumentation darüber, wen Sie warum bezahlt haben (nützlich für die Steuererklärung oder die Budgetplanung). - Transfer für Steuerrücklagen: Am 31.08.2025 überweist der Freiberufler 1.500 $ vom Hauptgirokonto auf ein spezielles Steuersparkonto. Wir haben diese Transaktion zur besseren Sichtbarkeit mit
#taxgetaggt. Dies ist keine Ausgabe (Sie verschieben lediglich Ihr eigenes Geld), daher findet die Buchung zwischen zwei Aktivkonten statt. Indem Sie dies jeden Monat oder jedes Quartal tun, bauen Sie Rücklagen für die geschätzten Steuern auf. Wenn es an der Zeit ist, die Steuern tatsächlich an den Staat zu zahlen, würden Sie eine Ausgabe erfassen (z. B.Expenses:Taxes) und einen Abzug vom TaxSavings- (oder Checking-) Konto vornehmen. Ein häufiger Fehler besteht darin, diesen Transfer in Ihren Berichten als Ausgabe zu behandeln – denken Sie daran, es ist keine Ausgabe, sondern nur eine vorsorgliche Zuweisung. Erst die tatsächliche Steuerzahlung an das Finanzamt wäre eine Ausgabe (oder eine Minderung einer abgegrenzten Steuerverbindlichkeit, falls Sie diese so verfolgen).
Zusammenfassung: Ein Beancount-Ledger für Freiberufler legt Wert auf Einfachheit und Klarheit. Alle Einnahmen und Abflüsse, die mit dem Unternehmen verbunden sind, werden methodisch erfasst. Durch die Verwendung aussagekräftiger Kontonamen und gelegentlicher Tags/Metadaten können Sie problemlos Berichte pro Kunde oder pro Ausgabenkategorie erstellen (z. B. Gesamteinnahmen pro Kunde, Gesamtausgaben für Subunternehmer in diesem Jahr usw.). Dieses Setup ist skalierbar – Sie können neue Kunden oder Ausgabenkategorien hinzufügen, wenn sich Ihr Geschäft weiterentwickelt. Mit Funktionen wie automatisierten Importen (um Banktransaktionen einzuspielen) und benutzerdefiniertem Tagging für Projekte oder Rechnungen kann Beancount den Buchhaltungsaufwand für Freiberufler erheblich reduzieren und gleichzeitig jederzeit ein klares Bild der Finanzen vermitteln.
Kleinunternehmen
Als Nächstes betrachten wir ein kleines Boutique-E-Commerce-Unternehmen – zum Beispiel einen Online-Shop, der handgefertigte Waren verkauft. Dieses Szenario bringt zusätzliche Komplexität mit sich, wie z. B. die Bestandsverwaltung, den Wareneinsatz (COGS) und den Umgang mit Online-Zahlungsdienstleistern. Beancount kann dies mit einer durchdachten Kontenstruktur und einer entsprechenden Buchungsmethode abbilden. Wir verwenden ein Beispiel, bei dem das Unternehmen Produkte im Inventar verfolgt, Verkäufe über eine Online-Plattform (wie Shopify mit Stripe für Zahlungen) aufzeichnet und typische Geschäftsausgaben protokolliert.
Wichtige Konten für ein Boutique-E-Commerce-Unternehmen: Zusätzlich zu den grundlegenden Bank- und Ausgabenkonten enthält das Hauptbuch eines Einzelhandelsunternehmens Konten zur Verfolgung von Bestands- und Verkaufsströmen:
- Aktiva:Bank:Girokonto – Das Girokonto des Unternehmens (für die Bezahlung von Lieferanten, Betriebskosten und den Empfang von Überweisungen von Zahlungsdienstleistern).
- Aktiva:Stripe:Guthaben (oder Aktiva:PayPal usw.) – Ein Verrechnungskonto für Gelder, die über Online-Zahlungen eingezogen wurden, aber noch nicht auf dem Bankkonto eingegangen sind. Wenn ein Kunde beispielsweise über Stripe bezahlt, kann das Geld auf einem Stripe-Konto liegen, bevor es in Sammelbeträgen auf Ihr Bankkonto überwiesen wird.
- Aktiva:Inventar:*
Produkt*** – Bestandskonten für Ihre Produkte. Sie können jedes Produkt (oder jede Produktkategorie) in Beancount als Commodity behandeln, um die vorhandenen Mengen zu verfolgen. Zum Beispiel könnteAktiva:Inventar:Widgetsdie Menge der derzeit vorrätigen „Widget“-Artikel enthalten, bewertet zu ihrem Anschaffungspreis. - Erträge:Umsatzerlöse – Erfasst die Einnahmen aus Produktverkäufen. Sie könnten Unterkonten für verschiedene Vertriebskanäle verwenden (z. B.
Erträge:Umsatzerlöse:Onlinevs.Erträge:Umsatzerlöse:Ladengeschäft), falls das Unternehmen mehrere Kanäle hätte, aber wir halten es mit einem einzigen Verkaufserlöskonto einfach. - Aufwendungen:Wareneinsatz – Wareneinsatz (Cost of Goods Sold, COGS), um die Kostenbasis von Inventarartikeln zum Zeitpunkt ihres Verkaufs zu erfassen. Dieses Konto zeigt effektiv an, wie viel Sie (den Unternehmensinhaber) der verkaufte Bestand über einen Zeitraum gekostet hat. Es ist eine Schlüsselkomponente für die Berechnung des Rohgewinns.
- Aufwendungen:Gebühren – Für Zahlungsabwicklungsgebühren und Plattformgebühren (Stripe-Gebühren, Shopify-Gebühren, PayPal-Gebühren usw. können hier alle erfasst werden). Sie könnten dies bei Bedarf in detailliertere Konten aufteilen (z. B.
Aufwendungen:Gebühren:StripeundAufwendungen:Gebühren:Shopify), aber ein Konto kann für alle Transaktionsgebühren ausreichen. - Aufwendungen:Betriebskosten – Allgemeine Geschäftsausgaben, die nicht direkt mit dem Wareneinsatz (COGS) verknüpft sind, wie Marketing, Webhosting, Software, Versandmaterial usw. Diese könnten in Unterkonten unterteilt werden (z. B.
Aufwendungen:Marketing,Aufwendungen:Webhosting,Aufwendungen:Versand), um verschiedene Kostenstellen zu analysieren. - Passiva:Umsatzsteuer – (Optional, falls zutreffend) Falls das Unternehmen Umsatzsteuer oder MwSt. auf Verkäufe erheben muss, verfolgt dieses Verbindlichkeitskonto die erhobenen, aber noch nicht an das Finanzamt abgeführten Steuern. Bei jedem Verkauf würde dann der Steueranteil auf dieses Konto ausgegliedert. Dies stellt sicher, dass eingenommene Steuern nicht als Einkommen gezählt werden und für die Abführung an die Steuerbehörden reserviert bleiben.
- Eigenkapital:EigenkapitalEigentümer – (Optional) Repräsentiert die Einlagen des Eigentümers und die Gewinnrücklagen. Bei der Gründung des Unternehmens würde jede Erstfinanzierung durch den Eigentümer hier gutgeschrieben (mit einer Belastung des Bankkontos oder des Inventars, falls Bargeld oder Waren eingebracht wurden). Auch wenn der Eigentümer Gewinne entnimmt (Entnahmen), könnte dies gegen dieses Eigenkapitalkonto gebucht werden. Dies hält die Bilanz ausgeglichen, kommt aber im Tagesgeschäft selten zum Einsatz.
Begründung: Dieses Setup trennt den Waren- und Geldfluss. Inventarkäufe werden zunächst in der Bilanz (als Aktiva) erfasst und nicht sofort als Aufwand gebucht. Erst wenn Sie Produkte verkaufen, buchen Sie deren Kosten als Aufwand (Wareneinsatz / COGS) und stellen so dem Ertrag den zugehörigen Aufwand für eine korrekte Gewinnberechnung gegenüber. Einnahmen aus Verkäufen werden zum Bruttoverkaufspreis erfasst, während Gebühren separat verbucht werden, sodass Sie sowohl den Bruttoumsatz als auch die gezahlten Gebühren (und somit den Nettoumsatz) sehen können. Die Verwendung eines Verrechnungskontos wie Aktiva:Stripe:Guthaben hilft beim Abgleich von Einzahlungen – das Geld fließt in Sammelbeträgen von Stripe zu Ihrer Bank, und Sie können diese Überweisungen ohne Verwirrung aufzeichnen. Ein häufiger Fallstrick für neue Shop-Inhaber besteht darin, den Bestand nicht ordnungsgemäß zu erfassen – zum Beispiel, indem alle Inventarkäufe sofort als Aufwand verbucht werden. Das mag für die Verfolgung des Cashflows in Ordnung sein, verfälscht aber Ihren Gewinn: Sie erscheinen in Monaten, in denen Sie Vorräte aufstocken, weniger profitabel und in Monaten, in denen Sie verkaufen, profitabler, obwohl das Inventar bereits früher gekauft wurde. Durch die Verwendung eines Inventar-Aktivkontos und des Wareneinsatzes (COGS) bringen Sie die Kosten mit dem Verkauf in Einklang. Ein weiterer Fallstrick ist die Nichtberücksichtigung von Gebühren oder Rückerstattungen, was dazu führen kann, dass Ihre Bank- oder Stripe-Salden nicht mit Ihren erfassten Einnahmen übereinstimmen. Wir vermeiden dies, indem wir Gebühren explizit erfassen und das Stripe-Aktivkonto verwenden, um zu verfolgen, was Stripe schuldet oder ausgezahlt hat.
Hervorzuhebende Beancount-Funktionen: Die Bestandsverfolgung in Beancount nutzt die Fähigkeit, mit Commodities und Anschaffungskosten umzugehen. Jedes Produkt kann ein Commodity-Symbol sein (z. B. WIDGET), sodass Sie sowohl Menge als auch Stückkosten erfassen können. Wenn Sie Artikel verkaufen, kann die Bestandslogik von Beancount (standardmäßig FIFO) automatisch die richtigen Kosten aus Ihren Bestandschargen auswählen. Wir werden dies im Beispiel sehen. Sie können auch Metadaten oder Links verwenden, um Verkäufe und die entsprechenden COGS-Einträge zu verknüpfen (zum Beispiel durch Verwendung derselben Bestellnummer in beiden Transaktionen oder eines gemeinsamen Tags wie #bestellung1001 für den Verkauf und die Bestandsminderung, was Abfragen oder die Überprüfung erleichtert, ob zu jedem Verkauf ein passender COGS-Eintrag existiert). Zusätzlich können automatisierte Importe hier helfen: Sie könnten ein Skript verwenden, um Verkaufsdaten aus Shopify- oder Stripe-Auszahlungsberichten zu importieren oder Ihre Bankauszüge zu importieren, um Ausgabentransaktionen und Auszahlungen zu erfassen. Die Automatisierung dieser repetitiven Dateneingabeaufgaben bedeutet, dass Sie mehr Zeit mit der Analyse und weniger Zeit mit dem Tippen von Zahlen verbringen.
Beispiel-Ledger-Auszug für ein Kleinunternehmen
Unten finden Sie ein kompaktes Beancount-Beispiel für unser Boutique-E-Commerce-Unternehmen. Wir veranschaulichen den Kauf von Inventar, die Erfassung eines Verkaufs (wobei die Gebühr des Zahlungsdienstleisters abgezogen wird) und die Buchung des Wareneinsatzes (Cost of Goods Sold – COGS) für diesen Verkauf. In der Praxis würden Sie auch andere Ausgaben (wie Plattformgebühren, Werbekosten usw.) ähnlich wie im gezeigten Gebührenbeispiel erfassen. Wir gehen von USD als Währung und einem Produkt namens „Widget“ aus, das wir als Commodity im Inventar führen.
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:Stripe:Balance
1970-01-01 open Assets:Inventory:Widgets WIDGET
1970-01-01 open Income:Sales
1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:Fees
; Inventar kaufen (50 Einheiten Widget zu je 10 USD Anschaffungskosten)
2025-03-10 * "50 Widgets von SupplierCo gekauft"
Assets:Inventory:Widgets 50 WIDGET {10 USD}
Assets:Bank:Checking -500 USD
; Verkauf an Kunden (Bestellung #1001 über Online-Shop, 2 Widgets verkauft)
2025-04-05 * "Verkaufsauftrag #1001 (2x Widget via Shopify)"
Assets:Stripe:Balance 58 USD ; Nettozahlung nach Gebühren erhalten
Expenses:Fees 2 USD ; Transaktionsgebühr (Stripe)
Income:Sales -60 USD ; Erlös für 2 Widgets (zu je 30 USD)
; Wareneinsatz für den obigen Verkauf (2 Widgets zu je 10 USD Anschaffungskosten)
2025-04-05 * "Wareneinsatz für Auftrag #1001 (2x Widget)"
Expenses:COGS 20 USD
Assets:Inventory:Widgets -2 WIDGET {10 USD}
Hier ist die schrittweise Erklärung der Abläufe:
-
Konten eröffnen: Wir eröffnen das Girokonto, das Stripe-Guthabenkonto, ein Inventarkonto für Widgets (deklariert mit der Commodity
WIDGET, um Einheiten zu verfolgen) sowie die Kernkonten für Erträge und Aufwendungen (Sales, COGS, Fees). Durch die Deklaration vonAssets:Inventory:Widgets WIDGETsignalisieren wir, dass dieses Konto Bestände der Commodity „WIDGET“ enthalten wird. Dies stellt sicher, dass Beancount weiß, dass dort Einheiten der Commodity zu erwarten sind, und wir können diesen Einheiten Anschaffungskosten zuweisen. -
Inventarkauf: Am 10.03.2025 kaufen wir Inventar – 50 Einheiten des Widgets von einem Lieferanten zu je 10 USD, was Gesamtkosten von 500 USD entspricht. Die Transaktion belastet
Assets:Inventory:Widgetsmit50 WIDGET {10 USD}. Das bedeutet, dass 50 Einheiten der Commodity WIDGET mit jeweils erfassten Kosten von 10 USD zum Inventarkonto hinzugefügt werden. Die Haben-Buchung erfolgt aufAssets:Bank:Checking -500 USD(Bargeldabfluss). Beachten Sie, dass wir hier kein Aufwandskonto direkt berührt haben; wir aktivieren den Kauf als Inventar-Vermögenswert. Nun weist unsere Bilanz 50 Widgets im Wert von insgesamt 500 USD im Inventar aus. (Wenn Sie einen Bilanzbericht erstellen würden, würde das Inventarkonto 50 WIDGET-Einheiten im Gesamtwert von 500 USD anzeigen.) -
Erfassung eines Verkaufs (Auftrag #1001): Am 05.04.2025 erfassen wir einen Verkauf von 2 Widgets über unseren Online-Shop. Der Buchungstext enthält zur Klarheit eine Bestellnummer. Diese Transaktion umfasst drei Buchungszeilen:
Assets:Stripe:Balance 58 USD: Erhaltenes Geld aus dem Verkauf, das sich derzeit bei Stripe befindet (netto nach Gebühren). Angenommen, der Kunde hat insgesamt 60 USD bezahlt; Stripe hat eine Gebühr von 2 USD einbehalten, und 58 USD befinden sich nun auf unserem Stripe-Konto (um später auf unser Bankkonto überwiesen zu werden). Wir erfassen die 58 USD als Vermögenswert bei Stripe.Expenses:Fees 2 USD: Die Gebühr von 2 USD wird als Geschäftsausgabe erfasst. Dies stellt sicher, dass unsere Gewinn-und-Verlust-Rechnung (GuV) diese Kosten widerspiegelt und unser Stripe-Vermögenswert plus die Gebührenausgabe zusammen der Gesamtzahlung des Kunden entsprechen.Income:Sales -60 USD: Wir erfassen 60 USD als Erlöse aus Verkäufen. (Ertragskonten nehmen durch Haben-Buchungen zu, daher der negative Betrag in der Beancount-Notation).
Nach dieser Transaktion ist der Nettoeffekt: Income:Sales steigt um 60, ein zusätzlicher Vermögenswert von 58 USD (Forderung gegenüber Stripe) und 2 USD Aufwand für die Gebühr. Wenn Stripe die 58 USD später auf unser Bankkonto überweist, würden wir einen einfachen Transfer wie
Assets:Bank:Checking 58 USD / Assets:Stripe:Balance -58 USDam Tag der Auszahlung erfassen – dies verschiebt den Vermögenswert vom Stripe-Konto zur Bank, ohne Auswirkungen auf Erträge oder Aufwendungen (lediglich eine Umschichtung von Vermögenswerten). Wir haben diesen Transfer oben nicht dargestellt, aber es ist ein wichtiger Schritt in der realen Buchhaltung, um Ihr Stripe-Konto auf 0 USD zu halten, sobald alles ausgezahlt wurde. -
Erfassung des Wareneinsatzes (COGS) für den Verkauf: Ebenfalls am 05.04.2025 führen wir eine separate Transaktion durch, um die Kosten der 2 verkauften Widgets zu erfassen. Wir buchen im Soll
Expenses:COGS 20 USDund im HabenAssets:Inventory:Widgets -2 WIDGET {10 USD}. Dadurch werden 2 Einheiten aus dem Inventar entfernt (jede hatte wie zuvor erfasst Kosten von 10 USD, also insgesamt 20 USD). Wir geben{10 USD}an, um Beancount mitzuteilen, aus welcher Anschaffungscharge (Lot) die Einheiten entnommen werden sollen – in diesem Fall entspricht es der Charge, die wir am 10.03.2025 hinzugefügt haben. Nun verbleiben 48 Widgets im Inventarkonto mit den dazugehörigen Kosten von 480 USD. Die 20 USD werden in den Aufwand für den Wareneinsatz (COGS) verschoben, der in der Gewinn-und-Verlust-Rechnung erscheint und den Bruttogewinn um die Kosten dieser Waren mindert. (Würden wir dies nicht erfassen, wäre unser Gewinn im Verhältnis zu den Ausgaben zu hoch ausgewiesen.) Wir verwenden zur Klarheit eine separate Transaktion, es ist jedoch auch möglich, den Verkauf und den Wareneinsatz in einer mehrzeiligen Transaktion zu kombinieren. Einige bevorzugen die hier gezeigte Aufteilung aus Gründen der Lesbarkeit und Abstimmung (man kann jeden COGS-Eintrag eindeutig einer Bestellung zuordnen). Wir haben die Bestellnummer auch im Buchungstext wiederholt, um leicht zu sehen, dass dieser COGS-Eintrag zum Auftrag #1001 gehört. Eine bewährte Methode ist es, sicherzustellen, dass jeder Verkauf einen passenden COGS-Eintrag hat, wenn Inventar im Spiel ist – fehlt einer, stimmen Ihre Lagerbestände nicht mehr. Eine Falle, die es zu vermeiden gilt, ist das Vergessen der Inventarentnahme bei einem Verkauf, wodurch Ihre Bilanz Phantom-Bestände aufweisen würde und Ihre Ausgaben zu niedrig angesetzt wären. Die Verwendung der Inventarfunktionen von Beancount (die{}-Kostennotation) hilft dabei, Fehler zu erkennen, falls Sie versuchen, mehr Einheiten zu entnehmen, als vorhanden sind (die Software würde in diesem Fall eine Fehlermeldung ausgeben).
Zusammenfassung: Ein Kleinunternehmen, das Beancount nutzt, kann ein überraschend robustes Buchhaltungssystem führen. Indem Sie Konten so strukturieren, dass sie verfolgen, wo sich das Geld befindet, woher es kommt und wie die Kosten fließen, erhalten Sie ein genaues Bild der Rentabilität. Unser Beispiel hat gezeigt, wie man mit Inventar und Verkäufen umgeht; analog dazu würden Sie andere Transaktionen erfassen, wie die Zahlung einer Internetrechnung (Expenses:Operating:Internet gegen Assets:Bank:Checking), den Erhalt eines Kredits oder einer Investition (Assets:Bank gegen Liabilities:Loan oder Equity:OwnerEquity) oder die Zahlung der Umsatzsteuer (Liabilities:SalesTax gegen Assets:Bank bei Abführung). Der Schlüssel liegt in der Beständigkeit: Erfassen Sie jede Art von Transaktion nach demselben Muster, und Beancount wird die Bücher ausgeglichen halten. Mit Funktionen wie dem automatisierten Datenimport (zum Beispiel das Einlesen monatlicher Stripe-Gebühren oder Banktransaktionen) und benutzerdefinierten Tags/Links (um zusammengehörige Transaktionen wie Verkäufe und Rückerstattungen zu korrelieren), kann das System sowohl flexibel als auch effizient sein. Das Ergebnis ist ein organisiertes Hauptbuch (Ledger), das mit dem Unternehmen mitwachsen kann – Sie können neue Produkt-Inventarkonten, neue Ausgabenkategorien oder zusätzliche Einnahmequellen (etwa einen neuen Online-Marktplatz) hinzufügen, ohne das gesamte System umstellen zu müssen.
Private Finanzen
Abschließend betrachten wir die Nutzung von Beancount für private oder Haushaltsfinanzen. Dieses Setup ist für Einzelpersonen oder Familien konzipiert, die tägliche Ausgaben, Bankkonten, Kreditkarten, Kredite und Investitionen verwalten. Der Schwerpunkt liegt hier auf der Verfolgung, wohin Ihr Geld fließt (Ausgaben), woher es kommt (Einkommen) und wie es gespart oder investiert wird (Aktiva und Passiva). Beancount kann Budgetierungs-Apps ersetzen oder ergänzen, indem es eine transparente und anpassbare Ansicht Ihrer Finanzen bietet, wobei die Strenge der doppelten Buchführung sicherstellt, dass nichts doppelt gezählt oder vergessen wird.
Wichtige Konten für die private Finanzverwaltung: Ein privates Hauptbuch enthält in der Regel eine Vielzahl von Konten für Aktiva, Passiva, Einkommen und Ausgaben:
- Aktiva:Bank:Girokonto – Ihr Hauptgirokonto für Gehaltseingänge und Rechnungszahlungen.
- Aktiva:Bank:Sparkonto – Sparkonto für den Notgroschen oder spezifische Ziele. (Sie können mehrere Spar- oder Anlagekonten haben – jedes kann ein Aktivkonto sein).
- Aktiva:Bargeld – Wenn Sie Bargeld für Ausgaben verwenden, haben Sie möglicherweise ein Bargeldkonto, um Abhebungen und Barausgaben zu verfolgen.
- Aktiva:Investitionen:*
Broker*** – Anlagekonten, wie z. B. ein Depot, Altersvorsorge (401(k)/IRA etc.). Diese können weiter nach Anlageart unterteilt werden oder einfach als ein Konto pro Institution geführt werden. Zum BeispielAktiva:Investitionen:VanguardIRAoderAktiva:Investitionen:Robinhood. Das Verfolgen von Investitionen kann auch Commodities für Aktien oder Fonds beinhalten. Wenn dies jedoch zu detailliert ist, können Sie einfach Einzahlungen und Kontostände verfolgen. - Passiva:Kreditkarte:*
Name*** – Ein Konto pro Kreditkarte (z. B.Passiva:Kreditkarte:Visaoder nach Bankname). Alle Käufe mit der Karte werden hier erfasst (mit einer entsprechenden Ausgabe), und Zahlungen an die Karte sind Umbuchungen, die diese Verbindlichkeit reduzieren. - Passiva:Kredit:*
Name*** – Alle Kredite (Studienkredit, Hypothek, Autokredit) können mit einem Passivkonto verfolgt werden. Sie würden den Tilgungssaldo erfassen und jede Zahlung in Zinsen (Ausgabe) und Tilgung (Reduzierung der Verbindlichkeit) aufteilen. Dies ist ein fortgeschrittener Aspekt, aber wichtig für ein vollständiges Finanzbild. - Einkommen:Gehalt (und/oder Einkommen:Bonus, Einkommen:Zinsen etc.) – Zur Erfassung von Gehaltsschecks, Boni, Zinseinkünften, Dividenden usw. Einkommenskonten ermöglichen es Ihnen, Ihre Gesamteinkünfte aus verschiedenen Quellen zu sehen. (Wenn von Ihrem Gehalt bereits Steuern abgezogen werden, können Sie die Nettogutschrift auf dem Girokonto als Einkommen erfassen oder Bruttogehalt und Steuerabzüge als Ausgabe oder Verbindlichkeit verbuchen – es existieren verschiedene Ansätze, aber viele erfassen der Einfachheit halber nur das Nettogehalt als Einkommen.)
- Ausgaben: Typischerweise zahlreich, unterteilt in Kategorien, die für Sie sinnvoll sind. Zum Beispiel: Ausgaben:Wohnen:Miete, Ausgaben:Lebensmittel:Einkauf, Ausgaben:Lebensmittel:Restaurant, Ausgaben:Nebenkosten:Strom, Ausgaben:Unterhaltung, Ausgaben:Reise, Ausgaben:Steuern, Ausgaben:Sonstiges – welche Kategorien auch immer Ihre Ausgabengewohnheiten widerspiegeln. Sie können so detailliert oder allgemein sein, wie Sie möchten. Die Kontohierarchie hilft bei der Aggregation (z. B. summiert
Ausgaben:Lebensmittelsowohl Einkäufe als auch Restaurantbesuche). Üblich ist eine Hierarchie für Hauptgruppen (Wohnen, Lebensmittel, Transport, Gesundheit usw.). - Eigenkapital:Eröffnungsbilanz – Wird verwendet, um Kontostände zu initialisieren, wenn Sie mit Ihrem Hauptbuch beginnen (damit alle Aktiva minus Passiva Ihrem in der Eröffnungsbilanz erfassten Start-Nettovermögen entsprechen). Nach dem Start könnten Sie auch Eigenkapital:Gewinnvortrag oder ähnliches verwenden, um angesammelte Nettogewinne darzustellen (obwohl man in der privaten Finanzverwaltung normalerweise einfach Einkommen minus Ausgaben in das Nettovermögen einfließen lässt). Eigenkapitalkonten sind im Alltag weniger sichtbar, stellen aber sicher, dass die Buchhaltungsgleichung ausgeglichen ist.
Begründung: Beim Setup für private Finanzen geht es darum, Ihr Finanzleben in einem kohärenten System zu erfassen. Jedes oben genannte Konto dient dazu, verschiedene Arten von Finanzen zu trennen, damit Sie Fragen beantworten können wie: „Wie viel habe ich diesen Monat für Lebensmittel ausgegeben?“ (durch Summierung von Ausgaben:Lebensmittel:*), „Wie viele Schulden habe ich noch?“ (durch Blick auf die Passivkonten) oder „Wie hoch ist mein Nettovermögen?“ (Aktiva minus Passiva). Ein großer Vorteil der doppelten Buchführung ist hier die Genauigkeit: Wenn Sie beispielsweise einen Lebensmitteleinkauf von 100 effektiv doppelt gezählt werden. Beancount verhindert dies systembedingt. Ein weiterer Fallstrick, den es zu vermeiden gilt, ist das Versäumnis, Konten abzugleichen: Mit Beancount können Sie Bilanz-Assertionen oder die balance-Anweisung verwenden, um sicherzustellen, dass beispielsweise der Saldo Ihres Girokontos im Hauptbuch mit dem tatsächlichen Kontoauszug übereinstimmt. Dies deckt fehlende oder doppelte Einträge auf.
Hervorzuhebende Beancount-Funktionen: Für die private Finanzverwaltung sind automatisierte Importe aufgrund des Transaktionsvolumens besonders hilfreich. Sie können das Importer-Framework von Beancount oder Community-Skripte verwenden, um Banktransaktionen, Kreditkartenabrechnungen und sogar Investmenttransaktionen aus CSV-, OFX- oder API-Quellen zu importieren. Das bedeutet, dass Sie weniger Zeit damit verbringen, jeden Kaffeekauf manuell einzutippen. Benutzerdefinierte Tags sind nützlich, um Daten auf eine Weise zu segmentieren, die Konten allein nicht leisten können. Markieren Sie zum Beispiel alle urlaubsbezogenen Ausgaben mit #urlaub2025, unabhängig davon, ob es sich um Flüge, Hotels oder Restaurantbesuche handelt – dann können Sie die Gesamtkosten dieses Urlaubs ganz einfach abfragen. Oder markieren Sie bestimmte Ausgaben als #steuerlich-absetzbar, wenn Sie steuerlich relevante Posten für später verfolgen müssen. Sie könnten auch wiederkehrende Rechnungen taggen (z. B. #monatlich), um all Ihre Abonnements und Fixkosten jährlich zu überprüfen. Metadaten können verwendet werden, um Notizen oder Quittungen anzuhängen (zum Beispiel receipt: "pfad/zu/datei.jpg", um zu vermerken, dass Sie ein Bild der Quittung gespeichert haben, oder category: "Arbeitsausgabe", wenn Sie erstattungsfähige Posten verfolgen). Die Flexibilität von Tags und Metadaten bedeutet, dass Sie das System an Ihre persönlichen Tracking-Bedürfnisse anpassen können, ohne Dutzende zusätzlicher Konten zu erstellen.
Beispiel-Snippet für ein privates Finanzbuch-Hauptbuch
Unten finden Sie ein Beispiel-Snippet eines persönlichen Beancount-Hauptbuchs, das einige typische Transaktionen erfasst: eine tägliche Ausgabe über eine Kreditkarte, eine wiederkehrende Rechnung, die vom Girokonto bezahlt wird, und einen Beitrag zu einem Renten-Anlagekonto. (Der Kürze halber gehen wir davon aus, dass die Ersteinrichtung zum Eröffnen der Konten und zum Erfassen etwaiger Gehaltseingänge bereits erfolgt ist; hier konzentrieren wir uns auf die Ausgaben- und Sparseite.)
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Liabilities:CreditCard:Visa
1970-01-01 open Expenses:Food:Coffee
1970-01-01 open Expenses:Housing:Rent
1970-01-01 open Assets:Investment:401k
; Beispiel für tägliche Ausgaben (Kaffee mit Kreditkarte)
2025-09-10 * "Starbucks Kaffee"
Expenses:Food:Coffee 5.50 USD
Liabilities:CreditCard:Visa -5.50 USD #daily
; Wiederkehrende monatliche Rechnung (Miete vom Girokonto bezahlt)
2025-09-01 * "Wohnungsmiete September"
Expenses:Housing:Rent 1200 USD
Assets:Bank:Checking -1200 USD #recurring
; Beitrag zur Altersvorsorge (Überweisung vom Girokonto auf das 401k-Anlagekonto)
2025-09-15 * "Beitrag zur Altersvorsorge (401(k))"
Assets:Investment:401k 500 USD
Assets:Bank:Checking -500 USD #retirement
Interpretieren wir diese Transaktionen:
- Konten eröffnen: Wir eröffnen das Girokonto, ein Visa-Kreditkartenkonto, ein Ausgabekonto für Kaffee (als Beispiel für eine Unterkategorie der Verpflegungsausgaben), ein Miet-Ausgabekonto und ein 401k-Anlagekonto. In einem echten Hauptbuch würden Sie alle Konten eröffnen, die Sie zu nutzen planen (Sparen, andere Ausgabenkategorien, Einkommen usw.). Wir beschränken uns hier auf das, was für das Snippet benötigt wird.
- Tägliche Ausgabe – Kaffee: Am 10.09.2025 wird ein Kaffeekauf über 5,50 USD verbucht. Die Ausgabe wird unter
Expenses:Food:Coffeekategorisiert, und da sie mit einer Visa-Kreditkarte bezahlt wurde, kreditieren (erhöhen) wirLiabilities:CreditCard:Visa. Der Tag#dailywird hinzugefügt, um anzuzeigen, dass dies ein alltäglicher Ausgabenposten war – vielleicht möchten Sie später alle täglichen diskretionären Ausgaben filtern. Beachten Sie, dass das Kreditkartenkonto danach einen Saldo von 5,50 USD ausweist (was bedeutet, dass Sie Visa 5,50 USD schulden). Hätten Sie diesen Kaffee bar bezahlt, würde die Transaktion stattdessenAssets:Cashkreditieren (was das verfügbare Bargeld verringert). Wäre es ein Kauf mit einer Debitkarte gewesen, würdeAssets:Bank:Checkingkreditiert. Die Mechanik ist ähnlich, nur die Konten sind unterschiedlich. - Wiederkehrende Rechnung – Miete: Am 01.09.2025 erfassen wir die Zahlung der monatlichen Miete von 1200 USD. Dies geht vom Girokonto ab (Kreditierung von
Assets:Bank:Checking) und wird alsExpenses:Housing:Rentkategorisiert. Wir haben es mit#recurringmarkiert, um zu kennzeichnen, dass es sich um eine wiederkehrende Rechnung handelt. In einem vollständigen Hauptbuch könnten Sie jeden Monat einen solchen Eintrag haben. (Beancount hat keine integrierte Funktion für automatische wiederkehrende Transaktionen, aber Sie könnten dies mit Skripten erreichen oder einfach jeden Monat kopieren und einfügen. Tags helfen später sicherzustellen, dass Sie keinen Monat verpasst haben, oder um die Jahresmiete schnell zu summieren.) Einige Benutzer verwenden das Feature für periodische Transaktionen über das Beancount-Importer-Framework, um diese automatisch zu generieren, aber das ist eine fortgeschrittene Nutzung, die hier den Rahmen sprengen würde. Entscheidend ist, dass diese Transaktion klar zeigt, wohin Ihr Geld geflossen ist – eine Ausgabe für Wohnraum – und Ihren verringerten Bankkontostand. Ein Fallstrick, auf den Sie achten sollten: Wenn Sie sich Ausgaben teilen oder Mitbewohner haben, zahlen Sie vielleicht nur einen Teil der Miete; in diesem Fall könnten Sie die Transaktion in Ihren Anteil und den Anteil, den jemand anderes zahlt, aufteilen (und den anderen Anteil eventuell alsIncome:Reimbursementserfassen, falls diese Person Sie bezahlt). In unserem einfachen Fall zahlen wir den vollen Betrag. - Beitrag zur Altersvorsorge: Am 15.09.2025 werden 500 USD vom Girokonto auf ein 401(k)-Anlagekonto verschoben. Dies ist keine Ausgabe, sondern eine Umwandlung von Vermögenswerten von einer Form (Bargeld) in eine andere (Altersvorsorgefonds). Die Transaktion debitiert
Assets:Investment:401kund kreditiertAssets:Bank:Checking. Wir taggen sie zur Klarheit mit#retirement. Danach sinkt Ihr Girokontostand um 500 USD und Ihr 401k-Kontostand im Hauptbuch erhöht sich um das, was 500 USD entsprechen (je nachdem, wie Sie Investitionen verfolgen, könnten Sie anschließend Investmentfondsanteile mit diesem Bargeld kaufen – das wäre eine weitere Transaktion im Anlagekonto, z. B. der Kauf von X Anteilen eines Fonds zum Preis Y, wobei das Bargeld aus dem 401k-Vermögenswert abfließt). In einem einfachen privaten Hauptbuch könnten Sie das 401k-Konto einfach wie ein Sparkonto behandeln und seinen Saldo regelmäßig aktualisieren oder Beiträge wie diesen erfassen und eventuell Kursnotierungen für das Wachstum verwenden. Das Wichtige ist, dass diese Transaktion ein Transfer ist, keine Ausgabe – sie baut Ihr Vermögen auf. Viele Budgetierungstools würden Rentenbeiträge als „Ausgaben“ zählen (da sie das Girokonto verlassen), aber buchhalterisch gesehen ist es nur das Verschieben von Geld in eine andere Tasche. Diese Unterscheidung hilft Ihnen, Ihre Sparquote im Vergleich zu Ihren Ausgaben zu verstehen.
Hätten wir eine Transaktion zur Begleichung der Kreditkartenabrechnung, sähe dies wie ein Geldtransfer vom Girokonto zur Kreditkartenverbindlichkeit aus (z. B. Liabilities:CreditCard:Visa 100 USD / Assets:Bank:Checking -100 USD). Das würde den Kreditkartensaldo wieder senken (vielleicht auf Null, wenn Sie ihn vollständig bezahlt haben) und Ihren Bankkontostand entsprechend verringern, ohne Auswirkungen auf die Ausgabenkonten – da Sie die Ausgaben bereits zum Zeitpunkt des Kaufs erfasst haben. Es ist entscheidend für eine genaue private Finanzkontrolle, Kreditkarten auf diese Weise zu handhaben. Sie könnten die Zahlung ebenfalls taggen (einige verwenden #cc-payment oder ähnliches) oder den Abrechnungszeitraum in der Beschreibung angeben, um für Klarheit zu sorgen.
Zusammenfassung: Ein privates Finanz-Hauptbuch in Beancount hilft dabei, Disziplin und Struktur in Ihre Geldverfolgung zu bringen. Indem Sie Transaktionen mit Konten (und optional Tags) kategorisieren, können Sie aufschlussreiche Berichte erstellen: monatliche Ausgaben nach Kategorie, Jahressummen, wie viel Sie gespart haben und so weiter. Der Ansatz der doppelten Buchführung bedeutet, dass jeder Dollar verbucht wird: Wenn der Saldo eines Kontos sinkt, ist das Geld irgendwohin geflossen (ein anderes Konto steigt). Dies deckt Fehler auf und verhindert das häufige Problem des „verschwundenen Geldes“ in einfacheren Tracking-Tools. Mit Automatisierung können Sie die meisten Transaktionen importieren und sie dann nur noch überprüfen und klassifizieren, was die Pflege sehr praktikabel macht. Im Laufe der Zeit bauen Sie ein umfassendes Finanztagebuch auf – es kann sogar Dinge handhaben wie das Aufteilen von Rechnungen mit Freunden (unter Verwendung von Eigenkapitalkonten oder Forderungs-/Verbindlichkeitskonten), das Verfolgen der Darlehenstilgung oder die Performance von Investitionen, falls Sie sich entscheiden, diese Bereiche zu erweitern. Selbst in seiner einfachsten Form (wie im Snippet gezeigt) bietet Beancount Ihnen Klarheit über tägliche Ausgaben, wiederkehrende Verpflichtungen und Fortschritte bei langfristigen Zielen (wie der Altersvorsorge). Und da es sich um Plain-Text handelt, haben Sie die volle Kontrolle: Sie können es skripten, abfragen oder mit anderen Tools integrieren (wie der Weboberfläche Fava für eine benutzerfreundliche Ansicht). Kurz gesagt: Dieses Setup macht Ihre persönlichen Finanzen zu Daten, die Sie analysieren und denen Sie vertrauen können, während es gleichzeitig einfach genug bleibt, um keine Last zu sein.
Indem Sie Ihr Beancount-Hauptbuch auf Ihre Situation zuschneiden – egal ob Sie freiberuflich tätig sind, ein kleines Unternehmen führen oder private Mittel verwalten – profitieren Sie von einem systematischen Ansatz der doppelten Buchführung für die Finanzverfolgung mit der Flexibilität eines Plain-Text-Systems. Diese Beispielkonfigurationen demonstrieren Kernmuster, auf denen Sie aufbauen können. Wenn Ihr Unternehmen wächst oder Ihr Finanzleben komplexer wird, können Sie den Kontenplan erweitern oder bei Bedarf erweiterte Funktionen nutzen (wie Budgets, Abweichungsanalysen oder die Handhabung mehrerer Währungen). Der Schlüssel liegt darin, mit einer sauberen, logischen Struktur zu beginnen (wie den hier gezeigten) und Transaktionen konsequent zu erfassen. Wenn dies gegeben ist, wird Beancount ein mächtiger Verbündeter beim Verständnis und der Verwaltung Ihrer Finanzen sein, über Branchen und persönliche Szenarien hinweg. Viel Erfolg bei der Buchhaltung!