Die Verwaltung eines Kryptowährungs-Portfolios über mehrere Börsen, Wallets und DeFi-Protokolle hinweg kann eine Herausforderung sein. Dieser umfassende Leitfaden zeigt Ihnen, wie Sie ein genaues Kryptowährungs-Portfolio-Tracking mit Beancounts leistungsstarkem Plain-Text-Buchhaltungssystem einrichten und pflegen.
Entdecken Sie ein Live-Beispiel für ein Kryptowährungs-Hauptbuch:
Warum traditionelle Portfolio-Tracker unzureichend sind
Häufige Probleme mit Krypto-Portfolio-Tools
- Begrenzte Börsenunterstützung: Viele Tools unterstützen nicht alle Börsen oder DeFi-Protokolle
- Ungenau Kostenbasis: Vereinfachte FIFO/LIFO-Berechnungen übersehen komplexe Szenarien
- Fehlende Transaktionen: API-Einschränkungen und Lücken bei manueller Eingabe
- Keine Anpassungsmöglichkeiten: Feste Kategorien und Berichtsstrukturen
- Datenschutzbedenken: Teilen von API-Schlüsseln mit Drittanbieter-Diensten
- Vendor-Lock-in: Proprietäre Datenformate und begrenzte Exportoptionen
Vorteile von Beancount.io
- Volle Kontrolle: Besitzen Sie Ihre Daten im Plain-Text-Format
- Unbegrenzte Anpassung: Erstellen Sie jede benötigte Kontostruktur
- Präzise Kostenbasis: Chargenbasiertes Tracking mit spezifischer Identifikation
- Multi-Protokoll-Unterstützung: Verarbeiten Sie jede Börse, jedes Wallet oder DeFi-Protokoll
- Transparente Berechnungen: Sehen Sie genau, wie Zahlen berechnet werden
- Zukunftssicher: Das Plain-Text-Format gewährleistet langfristige Zugänglichkeit
Einrichten Ihrer Krypto-Portfoliostruktur
Grundlegende Kontenhierarchie
Beginnen Sie mit einer umfassenden Kontostruktur, die Ihr Krypto-Ökosystem widerspiegelt:
; Exchange Accounts - Organized by Platform
1970-01-01 open Assets:Crypto:Coinbase:USD
1970-01-01 open Assets:Crypto:Coinbase:BTC
1970-01-01 open Assets:Crypto:Coinbase:ETH
1970-01-01 open Assets:Crypto:Coinbase:ADA
1970-01-01 open Assets:Crypto:Binance:USD
1970-01-01 open Assets:Crypto:Binance:BTC
1970-01-01 open Assets:Crypto:Binance:ETH
1970-01-01 open Assets:Crypto:Binance:BNB
1970-01-01 open Assets:Crypto:Kraken:USD
1970-01-01 open Assets:Crypto:Kraken:BTC
1970-01-01 open Assets:Crypto:Kraken:ETH
1970-01-01 open Assets:Crypto:Kraken:ADA
1970-01-01 open Assets:Crypto:Binance:ADA
; Wallet Accounts - Organized by Type
1970-01-01 open Assets:Crypto:Wallet:Ledger:BTC
1970-01-01 open Assets:Crypto:Wallet:Ledger:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC
1970-01-01 open Assets:Crypto:Wallet:MetaMask:UNI
1970-01-01 open Assets:Crypto:Wallet:TrustWallet:BNB
; DeFi Protocol Accounts
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:DeFi:Compound:CUSDC
1970-01-01 open Assets:Staking:Ethereum:ETH
1970-01-01 open Assets:Staking:Cardano:ADA
; Income Tracking
1970-01-01 open Income:Crypto:Staking:ETH
1970-01-01 open Income:Crypto:Staking:ADA
1970-01-01 open Income:Crypto:Mining:BTC
1970-01-01 open Income:Crypto:Airdrops
1970-01-01 open Income:Crypto:DeFi:Yield
1970-01-01 open Income:Crypto:Arbitrage
1970-01-01 open Income:CapitalGains:Crypto
1970-01-01 open Income:CapitalGains:LongTerm
; Expense Tracking
1970-01-01 open Expenses:Crypto:Fees:Trading
1970-01-01 open Expenses:Crypto:Fees:Network
1970-01-01 open Expenses:Crypto:Fees:Withdrawal
1970-01-01 open Expenses:CapitalLoss:CryptoEine Namensregel ist hier entscheidend, und der Parser erzwingt sie eher als dass er sie konventionsbasiert annimmt: Jede Kontokomponente und jedes Warensymbol muss mit einem Großbuchstaben oder einer Ziffer beginnen. Compound schreibt sein Quittungs-Token cUSDC in der gesamten eigenen Oberfläche, aber Assets:DeFi:Compound:cUSDC und ein cUSDC-Ware sind beides Lexer-Fehler. Schreiben Sie sie CUSDC und behalten Sie die Schreibweise des Protokolls in den name:-Metadaten der Ware bei.
Warendefinitionen mit Metadaten
Definieren Sie Ihre Kryptowährungen mit umfangreichen Metadaten für ein besseres Tracking:
1970-01-01 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"
sector: "digital-currency"
price-source: "coinbase"
website: "https://bitcoin.org"
1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"
sector: "smart-contract-platform"
price-source: "coinbase"
website: "https://ethereum.org"
1970-01-01 commodity ADA
name: "Cardano"
asset-class: "cryptocurrency"
sector: "smart-contract-platform"
price-source: "binance"
website: "https://cardano.org"
1970-01-01 commodity DOT
name: "Polkadot"
asset-class: "cryptocurrency"
sector: "interoperability"
price-source: "kraken"
website: "https://polkadot.network"Multi-Börsen-Portfolio-Tracking
Aufzeichnen von Käufen über Börsen hinweg
Verfolgen Sie dieselbe Kryptowährung über verschiedene Börsen mit präziser Kostenbasis:
; Bitcoin purchases on different exchanges
2024-01-15 * "Buy BTC on Coinbase"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
2024-01-20 * "Buy BTC on Binance"
Assets:Crypto:Binance:BTC 0.5 BTC {46000.00 USD}
Assets:Crypto:Binance:USD -23000.00 USD
Expenses:Crypto:Fees:Trading 25.00 USD
Assets:Crypto:Binance:USD -25.00 USD
2024-01-25 * "Buy BTC on Kraken"
Assets:Crypto:Kraken:BTC 0.8 BTC {44000.00 USD}
Assets:Crypto:Kraken:USD -35200.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Kraken:USD -30.00 USDBörsenübergreifende Übertragungen
Verfolgen Sie Übertragungen zwischen Börsen unter Beibehaltung der Kostenbasis:
2024-02-01 * "Transfer BTC from Coinbase to Ledger"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.00 USD}
Assets:Crypto:Wallet:Ledger:BTC 0.5 BTC {45000.00 USD}
Expenses:Crypto:Fees:Withdrawal 0.0005 BTC {45000.00 USD}
Assets:Crypto:Coinbase:BTC -0.0005 BTC {45000.00 USD}Arbitrage-Möglichkeiten
Eine Arbitrage ist ein wirtschaftliches Ereignis über zwei Plattformen hinweg, daher zeichnen Sie es als eine Transaktion auf. Dieser Eintrag verkauft 10 ETH, die Sie bereits auf Coinbase halten, zu 2.580,00 $ und stellt die Position sofort auf Binance zu 2.500,00 $ wieder her:
2024-02-10 * "Arbitrage: Buy ETH on Binance, Sell on Coinbase"
; Buy leg on Binance
Assets:Crypto:Binance:ETH 10 ETH {2500.00 USD}
Assets:Crypto:Binance:USD -25000.00 USD
Expenses:Crypto:Fees:Trading 25.00 USD
Assets:Crypto:Binance:USD -25.00 USD
; Sell leg on Coinbase, at the higher price
Assets:Crypto:Coinbase:ETH -10 ETH {2500.00 USD} @ 2580.00 USD
Assets:Crypto:Coinbase:USD 25800.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:Crypto:Arbitrage -800.00 USD ; 25,800.00 proceeds - 25,000.00 basisDrei Dinge zum Übernehmen:
- Lassen Sie niemals eine Leerzeile zwischen Buchungen. Eine Leerzeile beendet die Transaktion, und Beancount meldet einen Syntaxfehler für die Buchungen danach. Verwenden Sie stattdessen eingerückte
;-Kommentare, um die Positionen zu kennzeichnen – das tun die beiden Kommentarzeilen oben. - Der Gewinn ist der Gewinn der Veräußerung, 800,00 $, und er ist negativ, weil
Income-Konten Gutschriften enthalten. Die 55,00 $ an Gebühren sind separat: Sie machen aus der 800,00 $-Bruttomarge einen Gewinn von 745,00 $ und sind bereits auf ihren eigenen zwei Buchungen erfasst. - Die Verkaufsposition reduziert eine Charge, die Sie bereits halten müssen. Dieser Eintrag geht von 10 ETH aus, die zuvor auf Coinbase zu 2.500,00 $ gekauft wurden; ohne diese Charge hat die Reduzierung nichts, wogegen sie gebucht werden kann.
Fortgeschrittenes Kostenbasis-Management
Chargenbasiertes Tracking
Das chargenbasierte System von Beancount.io ermöglicht eine präzise Kostenbasis-Verfolgung:
; Multiple purchases at different prices
2024-01-01 * "BTC Purchase Lot 1"
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
2024-02-01 * "BTC Purchase Lot 2"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
2024-03-01 * "BTC Purchase Lot 3"
Assets:Crypto:Coinbase:BTC 1.0 BTC {50000.00 USD}
Assets:Crypto:Coinbase:USD -50000.00 USDDie Vorzeichenkonvention für Gewinne und Verluste
Income-Konten enthalten Gutschriften, daher speichert Beancount sie als negative Zahlen. Jeder Gewinn unten ist daher eine negative Buchung auf ein Einkommenskonto, und jeder Verlust ist eine positive Buchung auf ein Aufwandskonto. Die Gebühr ist von beiden getrennt: Sie ist ein eigenständiger Aufwand. Sie also zusätzlich vom Gewinn abzuziehen, würde sie doppelt abziehen und die Transaktion unausgeglichen lassen.
Für eine einzelne Veräußerung lautet die Rechnung immer:
gain (or loss) = gross proceeds - cost basis of the lots removed
net cash = gross proceeds - feesMethode der spezifischen Identifikation
Verkaufen Sie bestimmte Chargen für optimales Steuermanagement. Die Kosten der Charge in der Reduktionsbuchung zu nennen, bedeutet in Beancount "spezifische Identifikation", und dies funktioniert unter der standardmäßigen STRICT-Buchung:
; Sell the most expensive lot: 1.0 BTC bought at $50,000.00
2024-04-01 * "Sell BTC Lot 3 for tax optimization"
Assets:Crypto:Coinbase:BTC -1.0 BTC {50000.00 USD} @ 48000.00 USD
Assets:Crypto:Coinbase:USD 48000.00 USD ; gross proceeds
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
Expenses:CapitalLoss:Crypto 2000.00 USD ; 50,000.00 basis - 48,000.00 proceedsVerkauf der ältesten oder neuesten Charge
Die Benennung eines anderen Kostenwerts wählt eine andere Charge aus. Diese beiden Verkäufe nehmen die 40.000,00 $-Charge und dann die 45.000,00 $-Charge – die beiden, die nach dem Verkauf der 50.000,00 $-Charge im obigen Beispiel noch übrig sind – was dieselbe Auswahl ist, die FIFO und LIFO automatisch treffen würden, hier manuell ausgeschrieben:
; Sell the oldest lot (bought 2024-01-01 at $40,000.00)
2024-05-01 * "Sell 0.5 BTC from the oldest lot"
Assets:Crypto:Coinbase:BTC -0.5 BTC {40000.00 USD} @ 52000.00 USD
Assets:Crypto:Coinbase:USD 26000.00 USD ; gross proceeds, 0.5 * 52,000.00
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:Crypto -6000.00 USD ; 26,000.00 proceeds - 20,000.00 basis
; Sell the newest remaining lot (bought 2024-02-01 at $45,000.00)
2024-05-02 * "Sell 0.5 BTC from the newest lot"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.00 USD} @ 52000.00 USD
Assets:Crypto:Coinbase:USD 26000.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:Crypto -3500.00 USD ; 26,000.00 proceeds - 22,500.00 basisGleicher Verkaufspreis, andere Charge, 2.500,00 $ Unterschied beim realisierten Gewinn. Wenn Sie möchten, dass Beancount die Charge für Sie auswählt, legen Sie eine Buchungsmethode auf dem Konto fest, anstatt einen Kostenwert zu nennen – "FIFO", "LIFO" oder "HIFO" in der open-Direktive, beschrieben in Bestandsverwaltung.
Portfolio-Performance-Analyse
Preistracking-Einrichtung
Richten Sie automatisierte Preisfeeds für eine genaue Bewertung ein:
; Daily price updates
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USD
2024-01-15 price ADA 0.50 USD
2024-01-16 price BTC 46000.00 USD
2024-01-16 price ETH 2550.00 USD
2024-01-16 price ADA 0.52 USDPortfolio-Allokations-Tracking
Nutzen Sie die Berichtsfunktionen von Beancount.io zur Allokationsanalyse:
-- Query for portfolio allocation by asset
SELECT
account,
sum(position) as balance,
value(sum(position)) as market_value
WHERE account ~ "Assets:Crypto"
GROUP BY 1
ORDER BY market_value DESCLeistungskennzahlen
Verfolgen Sie wichtige Leistungsindikatoren:
-- Total portfolio value query
SELECT
sum(value(position)) as total_portfolio_value
WHERE account ~ "Assets:Crypto"
-- Realized gains/losses
SELECT
sum(position) as realized_gains
WHERE account ~ "Income:CapitalGains:Crypto"Staking- und DeFi-Integration
Tracking von Staking-Belohnungen
Erfassen Sie Staking-Belohnungen mit korrekter Einkommensanerkennung. Die ankommenden Einheiten und das erkannte Einkommen sind dasselbe Ereignis aus zwei Perspektiven, daher müssen ihre Gewichte sich aufheben: [Einheiten] × [Preis] an Vermögenswerten herein, dieselbe Anzahl Dollar an Einkommen heraus – und Einkommen ist eine Gutschrift, also negativ.
2024-01-31 * "ETH Staking Rewards - January"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:ETH -200.00 USD ; 0.08 * 2,500.00
2024-01-31 * "ADA Staking Rewards - January"
Assets:Staking:Cardano:ADA 25 ADA {0.50 USD}
Income:Crypto:Staking:ADA -12.50 USD ; 25 * 0.50Die {2,500.00 USD} und {0.50 USD} sind externe Bewertungen. Beancount speichert, was Sie schreiben; es holt keinen Preis und entscheidet nicht, welches Angebot das richtige ist. Wählen Sie eine Quelle – die Börse, auf der Sie tatsächlich verkaufen würden, oder einen veröffentlichten Index – und verwenden Sie sie konsistent, denn diese Zahl ist sowohl Ihr Einkommen als auch Ihre zukünftige Kostenbasis.
Die Basis der Belohnung wird einmalig erfasst
Die oben erkannten 200,00 $ werden zur Kostenbasis der 0,08 ETH. Ein späterer Verkauf realisiert nur die Bewegung seit dem Belohnungsdatum:
2024-06-30 * "Sell the January ETH staking reward"
Assets:Staking:Ethereum:ETH -0.08 ETH {2500.00 USD} @ 3000.00 USD
Assets:Crypto:Coinbase:USD 240.00 USD ; gross proceeds, 0.08 * 3,000.00
Income:CapitalGains:Crypto -40.00 USD ; 240.00 proceeds - 200.00 basis40,00 $ Kapitalgewinn, nicht 240,00 $ – die ersten 200,00 $ waren im Januar bereits Einkommen. Die gesamten 240,00 $ als Gewinn zu buchen, ist der häufigste Weg, wie Belohnungseinkommen doppelt gezählt wird. Wann die Belohnung steuerpflichtig wird und zu welchem Satz, variiert je nach Rechtsraum; das Hauptbuch erfasst Erhalt und Veräußerung getrennt, sodass beide Behandlungen daraus berichtet werden können.
DeFi-Yield-Tracking
Verfolgen Sie komplexe DeFi-Positionen:
Liquiditätsbereitstellung tauscht zwei Waren gegen eine dritte, daher muss jede Position in derselben Währung wiegen, bevor die Transaktion ausgeglichen werden kann. Die ETH- und LP-Positionen tun dies bereits, da sie einen Kostenwert tragen; die Stablecoin-Position benötigt einen expliziten @ 1,00 USD, sonst sieht Beancount 25.000 Einheiten USDC abgehen und 25.000,00 $ Wert ankommen, was verschiedene Waren sind und sich nicht aufhebt.
2024-02-01 * "Uniswap LP Position"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -25000 USDC @ 1.00 USD
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V2-ETH-USDC {500.00 USD}
2024-02-28 * "Uniswap LP Rewards - February"
Assets:Crypto:Wallet:MetaMask:UNI 50 UNI {8.00 USD}
Income:Crypto:DeFi:Yield -400.00 USD ; 50 * 8.00Automatisiertes Portfoliomanagement
Importieren von Börsendaten
Beancount enthält keinen Börsen-API-Client und es gibt keine Konfigurationsdatei, die es mit Coinbase oder Binance sprechen lässt. Der unterstützte Weg ist ein Importer: Sie laden den CSV-Export der Börse herunter (oder rufen ihn mit einem eigenen Skript ab) und konvertieren ihn mit beangulp in Beancount-Transaktionen – das Importer-Framework, das das in Beancount 2 eingebaute beancount.ingest abgelöst hat. beancount.ingest existiert in Beancount 3 nicht.
Wenn Sie ein Abrufskript schreiben, gehört die Datei mit den Anmeldedaten nur Ihnen – nichts in der Beancount-Toolchain liest sie:
# Configuration for YOUR OWN fetch script. No Beancount tool reads this file.
exchanges:
coinbase:
api_key: "your_api_key"
api_secret: "your_api_secret"
passphrase: "your_passphrase"
binance:
api_key: "your_api_key"
api_secret: "your_api_secret"Automatisierter Abgleich
Richten Sie die automatisierte Saldenverifizierung ein:
; Balance assertions for automated verification
2024-01-31 balance Assets:Crypto:Coinbase:BTC 2.5 BTC
2024-01-31 balance Assets:Crypto:Binance:ETH 15.0 ETH
2024-01-31 balance Assets:Crypto:Kraken:ADA 1000.0 ADADiese drei Zahlen stammen von Ihren Börsenbildschirmen, nicht von dieser Seite, daher wird der obige Block gegen nichts verifizieren, bis Ihre eigenen Transaktionen im Hauptbuch stehen. Zwei Regeln entscheiden, ob er überhaupt verifiziert. Eine balance-Direktive prüft den Saldo zu Beginn des genannten Tages, daher sieht eine Prüfung vom 31.01.2024 nichts, was am 31.01.2024 gebucht wurde – datieren Sie sie auf den Tag nach dem abzuschließenden Zeitraum. Und jedes geprüfte Konto muss offen sein, weshalb Assets:Crypto:Kraken:ADA oben im Abschnitt Grundlegende Kontenhierarchie erscheint.
Preise aktuell halten
Preise leben im Hauptbuch als price-Direktiven, und nichts in Beancount 3.2.3 holt sie für Sie. Es gibt keine custom "price-source"-Direktive – ein bloßes Warensymbol ist nicht einmal ein gültiger custom-Wert, daher ist diese Zeile ein Syntaxfehler – und kein beancount.plugins.forecast-Modul; der Loader stoppt mit einem Importfehler, wenn Sie es benennen.
Was es gibt, ist beanprice, ein separates Paket (pip install beanprice), das den Befehl bean-price bereitstellt. Es liest ein price:-Metadatenfeld auf jeder commodity-Direktive in der Form "<Quote-Währung>:<Quellmodul>/<Ticker>" und schreibt price-Direktiven, die Sie an Ihr Hauptbuch anhängen:
1970-01-01 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"
price: "USD:beanprice.sources.coinbase/BTC-USD"
1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"
price: "USD:beanprice.sources.coinbase/ETH-USD"
; What bean-price appends - and what you would otherwise type by hand
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USDAlle anderen Metadaten, die Sie an eine Ware anhängen – sector, website oder das früher in diesem Leitfaden verwendete Feld price-source – sind freie Dokumentation zu Ihrem eigenen Nutzen. Der Loader speichert sie und kein Tool reagiert darauf.
Steueroptimierungsstrategien
Tax-Loss-Harvesting
Implementieren Sie systematisches Tax-Loss-Harvesting:
; The lot being harvested, so this block stands on its own
2024-03-01 * "Buy ADA on Binance"
Assets:Crypto:Binance:ADA 1000 ADA {0.60 USD}
Assets:Crypto:Binance:USD -600.00 USD
; Identify positions with unrealized losses
2024-12-15 * "Tax loss harvesting - Sell ADA at loss"
Assets:Crypto:Binance:ADA -1000 ADA {0.60 USD} @ 0.45 USD
Assets:Crypto:Binance:USD 450.00 USD ; gross proceeds
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USD
Expenses:CapitalLoss:Crypto 150.00 USD ; 600.00 basis - 450.00 proceeds
; Repurchase after wash sale period (31 days)
2025-01-16 * "Repurchase ADA after wash sale period"
Assets:Crypto:Binance:ADA 1000 ADA {0.45 USD}
Assets:Crypto:Binance:USD -450.00 USD
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USDLangfristige vs. kurzfristige Gewinne
Verfolgen Sie Haltedauern zur Steueroptimierung:
; Use metadata to track purchase dates
2024-01-01 * "BTC Purchase - Long-term hold" ^long-term-btc
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
; Sell after one year for long-term capital gains treatment
2025-01-02 * "BTC Sale - Long-term capital gains" ^long-term-btc
Assets:Crypto:Coinbase:BTC -1.0 BTC {40000.00 USD} @ 55000.00 USD
Assets:Crypto:Coinbase:USD 55000.00 USD
Income:CapitalGains:LongTerm -15000.00 USD ; 55,000.00 proceeds - 40,000.00 basisDer ^long-term-btc-Link auf beiden Einträgen ermöglicht es Ihnen, Kauf und Verkauf später gemeinsam abzurufen; Beancount verfolgt Haltedauern selbst nicht.
Berichte und Analysen
Portfolio-Zusammenfassungsberichte
Erstellen Sie umfassende Portfolioberichte:
-- Portfolio allocation by cryptocurrency
SELECT
commodity,
sum(position) as total_units,
value(sum(position)) as market_value,
value(sum(position)) / (
SELECT value(sum(position))
FROM positions
WHERE account ~ "Assets:Crypto"
) * 100 as allocation_percentage
WHERE account ~ "Assets:Crypto"
GROUP BY commodity
ORDER BY market_value DESC;Performance-Analysen
Verfolgen Sie die Portfolio-Performance im Zeitverlauf:
-- Monthly portfolio performance
SELECT
year(date) as year,
month(date) as month,
value(sum(position)) as portfolio_value
WHERE account ~ "Assets:Crypto"
GROUP BY year, month
ORDER BY year, month;Einkommensanalyse
Analysieren Sie Einkommensquellen:
-- Income breakdown by source
SELECT
account,
sum(position) as total_income
WHERE account ~ "Income:Crypto"
GROUP BY account
ORDER BY total_income DESC;Best Practices und Tipps
1. Konsistente Erfassung
- Erfassen Sie Transaktionen unmittelbar nach der Ausführung
- Verwenden Sie standardisierte Transaktionsbeschreibungen
- Fügen Sie Transaktions-Hashes in die Metadaten ein
2. Regelmäßiger Abgleich
- Verifizieren Sie Salden wöchentlich über alle Plattformen hinweg
- Verwenden Sie Saldenprüfungen, um Abweichungen zu erkennen
- Überwachen Sie auf fehlende Transaktionen
3. Backup und Sicherheit
- Sichern Sie Ihre Beancount-Dateien regelmäßig
- Verwenden Sie Versionskontrolle (Git) zur Änderungsverfolgung
- Verschlüsseln Sie sensible Daten
4. Dokumentation
- Dokumentieren Sie Ihre Kontostruktur-Entscheidungen
- Pflegen Sie Notizen zu komplexen Transaktionen
- Bewahren Sie Aufzeichnungen über API-Konfigurationen auf
5. Steuervorbereitung
- Erstellen Sie vierteljährlich Berichte für die Steuerplanung
- Pflegen Sie detaillierte Aufzeichnungen für Prüfungszwecke
- Konsultieren Sie Steuerberater für komplexe Situationen
Fazit
Effektives Kryptowährungs-Portfolio-Tracking erfordert Präzision, Konsistenz und die richtigen Tools. Beancount.io bietet die Flexibilität und Leistungsfähigkeit, um komplexe Krypto-Portfolios über mehrere Börsen, Wallets und DeFi-Protokolle hinweg zu verwalten.
Hauptvorteile der Nutzung von Beancount.io für das Krypto-Portfolio-Tracking:
- Volle Dateneigentümerschaft: Ihre Daten im Plain-Text-Format
- Präzise Kostenbasis: Chargenbasiertes Tracking mit spezifischer Identifikation
- Unbegrenzte Flexibilität: Individuelle Kontostrukturen und Berichte
- Steueroptimierung: Fortgeschrittene Strategien zur Minimierung der Steuerlast
- Zukunftssicher: Offenes Format gewährleistet langfristige Zugänglichkeit
Beginnen Sie mit einem grundlegenden Setup und erweitern Sie Ihr Tracking schrittweise, während Ihr Portfolio komplexer wird. Die Investition in ein ordnungsgemäßes Setup zahlt sich in genauen Berichten, Steueroptimierung und Portfolio-Einblicken aus.
Bereit, die Kontrolle über Ihr Kryptowährungs-Portfolio zu übernehmen? Starten Sie noch heute mit Beancount.io.