Die Verwaltung eines Kryptowährungs-Portfolios über mehrere Börsen, Wallets und DeFi-Protokolle kann herausfordernd sein. Dieser umfassende Leitfaden zeigt Ihnen, wie Sie mit dem leistungsstarken Plain-Text-Buchhaltungssystem von Beancount.io eine genaue Kryptowährungs-Portfolio-Verfolgung einrichten und pflegen.
Entdecken Sie ein Live-Beispiel eines Kryptowährungs-Kontobuchs:
Warum traditionelle Portfolio-Tracker versagen
Häufige Probleme bei Crypto-Portfolio-Tools
- Begrenzte Börsenunterstützung: Viele Tools unterstützen nicht alle Börsen oder DeFi-Protokolle
- Ungenaue Anschaffungskosten: Vereinfachte FIFO/LIFO-Berechnungen erfassen keine komplexen 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 Drittanbietern
- Vendor Lock-in: Proprietäre Datenformate und eingeschränkte Exportoptionen
Vorteile von Beancount.io
- Volle Kontrolle: Eigentum an Ihren Daten im Plain-Text-Format
- Uneingeschränkte Anpassung: Erstellen Sie jede Kontostruktur, die Sie benötigen
- Präzise Anschaffungskosten: Lot-basierte Verfolgung mit spezifischer Identifikation
- Multi-Protokoll-Unterstützung: Unterstützt jede Börse, Wallet oder DeFi-Protokoll
- Transparente Berechnungen: Sehen Sie genau, wie Zahlen berechnet werden
- Zukunftssicher: Plain-Text-Format gewährleistet langfristigen Zugriff
Einrichten Ihrer Crypto-Portfolio-Struktur
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 Benennungsregel greift hier, und der Parser erzwingt sie statt einer Konvention: Jede Kontokomponente und jedes Warenzeichen muss mit einem Großbuchstaben oder einer Ziffer beginnen. Compound schreibt sein Receipt-Token cUSDC über seine eigene Oberfläche, aber Assets:DeFi:Compound:cUSDC und ein cUSDC-Wert sind beide Lexer-Fehler. Schreiben Sie sie als CUSDC und behalten Sie die eigene Schreibweise des Protokolls im name:-Metadatenfeld der Ware bei.
Waren-Definitionen mit Metadaten
Definieren Sie Ihre Kryptowährungen mit umfangreichen Metadaten für eine bessere Verfolgung:
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-Verfolgung
Aufzeichnungen von Käufen über Börsen hinweg
Verfolgen Sie dieselbe Kryptowährung über verschiedene Börsen hinweg mit präzisen Anschaffungskosten:
; 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 Transfers
Verfolgen Sie Transfers zwischen Börsen unter Beibehaltung der Anschaffungskosten:
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
Ein Arbitragegeschäft ist ein wirtschaftliches Ereignis über zwei Handelsplätze hinweg, also sollte es als eine Transaktion erfasst werden. 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 Kopieren:
- Lassen Sie niemals eine Leerzeile zwischen Buchungen. Eine Leerzeile beendet die Transaktion, und Beancount meldet einen Syntaxfehler bei den danach folgenden Buchungen. Verwenden Sie stattdessen eingerückte
;-Kommentare zur Kennzeichnung der Buchungszeilen – so wie es die zwei Kommentarzeilen oben tun. - Der Gewinn ist der Gewinn aus der Veräußerung, $800,00, und er ist negativ, da
Income-Konten Gutschriften halten. Die $55,00 Gebühren sind separat: Sie sind der Betrag, der aus $800,00 Bruttospanne $745,00 Gewinn macht, und sie sind bereits in eigenen zwei Buchungen erfasst. - Die Verkaufslinie reduziert einen Lot, den Sie bereits halten müssen. Dieser Eintrag geht davon aus, dass 10 ETH zuvor auf Coinbase für $2.500,00 gekauft wurden; ohne diesen Lot gäbe es für die Reduzierung keinen Buchungsgegenstand.
Erweiterte Kostenbasisverwaltung
Lot-basierte Nachverfolgung
Das lot-basierte System von Beancount.io bietet eine präzise Kostenbasisnachverfolgung:
; 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 halten Gutschriften, daher speichert Beancount diese als negative Zahlen. Jeder unten genannte Gewinn ist daher eine negative Buchung auf einem Einnahmenkonto, und jeder Verlust ist eine positive Buchung auf einem Aufwandskonto. Die Gebühr ist von beiden getrennt: Sie ist ein Aufwand für sich, daher würde eine zusätzliche Absetzung von der Gewinnbuchung sie doppelt abziehen und die Transaktion unausgeglichen lassen.
Für eine Veräußerung gilt immer die folgende Arithmetik:
gain (or loss) = gross proceeds - cost basis of the lots removed
net cash = gross proceeds - feesMethode der spezifischen Identifikation
Verkaufen Sie spezifische Lots für eine optimale Steuerverwaltung. Das Benennen der Kosten des Lots in der Buchung der Reduzierung bezeichnet in Beancount „spezifische Identifikation“ und funktioniert mit der Standard-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 des ältesten oder des neuesten Lots
Die Nennung einer anderen Kostenbasis wählt einen anderen Lot aus. Diese beiden Verkäufe nehmen zuerst den $40.000,00 Lot und dann den $45.000,00 Lot – die beiden, die nach dem $50.000,00 Lot aus dem obigen Beispiel noch übrig sind – was derselbe Auswahlprozess ist, den FIFO und LIFO automatisch treffen würden, hier von Hand dargestellt:
; 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, anderer Lot, $2.500,00 Unterschied im realisierten Gewinn. Wenn Sie lieber möchten, dass Beancount den Lot für Sie auswählt, legen Sie stattdessen eine Buchungsmethode auf dem Konto fest, anstatt eine Kostenbasis zu benennen – "FIFO", "LIFO" oder "HIFO" auf der open-Direktive, beschrieben in Bestandsverwaltung.
Portfolio-Performance-Analyse
Einrichtung der Kursverfolgung
Richten Sie automatisierte Kursfeeds 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 USDVerfolgung der Portfolio-Allokation
Nutzen Sie die Reporting-Funktionen von Beancount.io zur Analyse der Allokation:
-- 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 zentrale 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
Verfolgung von Staking-Belohnungen
Erfassen Sie Staking-Belohnungen mit korrekter Ertragserfassung. Die ankommenden Einheiten und der anerkannte Ertrag sind dasselbe Ereignis, nur aus zwei Perspektiven betrachtet, daher müssen ihre Gewichte sich aufheben: [units] × [price] an Asset rein, dieselbe Anzahl Dollar Ertrag raus – und Ertrag 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 eingeben; es ruft keine Kurse ab oder entscheidet, welches Kursangebot das richtige ist. Wählen Sie eine Quelle – die Börse, an der Sie tatsächlich verkaufen würden, oder einen veröffentlichten Index – und nutzen Sie sie konsequent, denn diese Zahl ist zugleich Ihr Ertrag und Ihre zukünftige Anschaffungskostenbasis.
Die Basis der Belohnung wird einmal anerkannt
Die oben erfassten $200,00 werden zur Anschaffungskostenbasis der 0,08 ETH. Ein späterer Verkauf realisiert nur die Wertbewegung 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 basis$40,00 Kapitalgewinn, nicht $240,00 – die ersten $200,00 waren bereits im Januar Ertrag. Die gesamte Summe von $240,00 als Gewinn zu verbuchen, ist die häufigste Ursache für doppelte Zählung von Belohnungserträgen. Wann die Belohnung steuerpflichtig wird und in welcher Höhe, variiert je nach Rechtsordnung; das Journal zeichnet Empfang und Veräußerung getrennt auf, sodass beide Behandlungen daraus gemeldet werden können.
DeFi-Ertragsverfolgung
Verfolgen Sie komplexe DeFi-Positionen:
Liquiditätsbereitstellung tauscht zwei Vermögenswerte gegen einen dritten, daher muss jede Position im gleichen Währungsmaßstab bewertet werden, bevor der Vorgang bilanziell ausgeglichen ist. Die ETH- und LP-Positionen erfüllen das bereits, da sie eine Kostenbasis haben; die Stablecoin-Position benötigt eine explizite @ 1.00 USD, sonst sieht Beancount 25.000 Einheiten USDC gehen raus und $25.000,00 Wert kommen rein – unterschiedliche Vermögenswerte, die sich nicht aufheben.
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
Import von Börsendaten
Beancount liefert keinen Börsen-API-Client mit und es gibt keine Konfigurationsdatei, die eine Verbindung zu Coinbase oder Binance herstellt. Der unterstützte Weg ist ein Importer: Sie laden den CSV-Export der Börse herunter (oder holen ihn mit eigenen Skripten) und wandeln ihn mit beangulp, dem Importer-Framework, das Beancount 2's integrierte beancount.ingest abgelöst hat, in Beancount-Buchungen um. beancount.ingest existiert in Beancount 3 nicht.
Wenn Sie tatsächlich ein Fetch-Skript schreiben, gehört dessen Credential-Datei 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"Automatisierte Abstimmung
Richten Sie eine automatisierte Saldoüberprüfung 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 nichts verifizieren können, bis Ihre eigenen Transaktionen im Ledger sind. Zwei Regeln entscheiden, ob überhaupt verifiziert wird. Eine balance-Direktive behauptet das Saldo am Beginn von dem benannten Tag, sodass eine Assertion mit dem Datum 2024-01-31 nichts sieht, was am 2024-01-31 gebucht wurde — geben Sie als Datum den Tag nach dem Zeitraum an, den Sie abschließen. Und jedes behauptete Konto muss offen sein, weshalb Assets:Crypto:Kraken:ADA in der Grundlegenden Kontohierarchie oben erscheint.
Preise aktuell halten
Preise existieren im Ledger als price-Direktiven, und in Beancount 3.2.3 werden diese nicht automatisch für Sie abgefragt. Es gibt keine custom "price-source"-Direktive — ein einsames Commodity-Symbol ist nicht einmal ein gültiger custom-Wert, deswegen ist diese Zeile ein Syntaxfehler — und kein beancount.plugins.forecast-Modul; der Loader bricht mit einem Importfehler ab, falls Sie es benennen.
Aktivieren Sie beanprice innerhalb der verwalteten Engine mit bea engine enable beanprice, dann holen Sie Kurse mit bea price main.beancount ab. Es liest ein price:-Metadatenfeld in jeder commodity-Direktive in der Form "<quote currency>:<source module>/<ticker>" und schreibt price-Direktiven, die Sie an Ihr Ledger 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"
; Example quotes to append after reviewing the output of bea price - and what you would otherwise type by hand
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USDJede andere Metadatenangabe, die Sie einer Ware hinzufügen — sector, website oder das price-source-Feld, das weiter oben in dieser Anleitung verwendet wurde — ist freiformige Dokumentation zu Ihrem Nutzen. Der Loader speichert sie, und kein Tool verarbeitet sie automatisiert.
Steueroptimierungsstrategien
Steuerverlustverwertung
Implementieren Sie systematische Steuerverlustverwertung:
; 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 bei beiden Einträgen ermöglicht es Ihnen, Kauf und Verkauf später gemeinsam abzurufen; Beancount verfolgt Haltedauern selbst nicht.
Berichterstattung und Analysen
Portfolio-Zusammenfassungsberichte
Generieren 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;Leistungsanalyse
Verfolgen Sie die Portfolioleistung über die Zeit:
-- 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;Beste Praktiken und Tipps
1. Konsistente Erfassung
- Erfassen Sie Transaktionen unmittelbar nach der Ausführung
- Verwenden Sie standardisierte Transaktionsbeschreibungen
- Fügen Sie Transaktions-Hashes in den Metadaten hinzu
2. Regelmäßige Abstimmung
- Überprüfen Sie wöchentlich die Salden über alle Plattformen hinweg
- Verwenden Sie Saldenüberprüfungen, um Abweichungen zu erkennen
- Überwachen Sie fehlende Transaktionen
3. Backup und Sicherheit
- Sichern Sie regelmäßig Ihre Beancount-Dateien
- Verwenden Sie Versionskontrolle (Git) zur Änderungsverfolgung
- Verschlüsseln Sie sensible Daten
4. Dokumentation
- Dokumentieren Sie Ihre Entscheidungen zur Kontenstruktur
- Führen Sie Notizen zu komplexen Transaktionen
- Bewahren Sie Aufzeichnungen über API-Konfigurationen auf
5. Steuerliche Vorbereitung
- Erstellen Sie vierteljährlich Berichte für die Steuerplanung
- Führen Sie detaillierte Unterlagen für Prüfungszwecke
- Konsultieren Sie Steuerfachleute bei komplexen Sachverhalten
Fazit
Effektives Tracking von Kryptowährungsportfolios erfordert Präzision, Konsistenz und die richtigen Werkzeuge. Beancount.io bietet die Flexibilität und Leistungsfähigkeit, um komplexe Krypto-Portfolios über mehrere Börsen, Wallets und DeFi-Protokolle hinweg zu verwalten.
Wichtige Vorteile bei der Verwendung von Beancount.io für das Krypto-Portfolio-Tracking:
- Vollständiger Datenbesitz: Ihre Daten im Klartextformat
- Exakte Kostenbasis: Lot-basierte Nachverfolgung mit spezifischer Identifikation
- Uneingeschränkte Flexibilität: Angepasste Kontostrukturen und Berichte
- Steueroptimierung: Fortgeschrittene Strategien zur Minimierung der Steuerlast
- Zukunftssicher: Offenes Format gewährleistet langfristigen Zugang
Beginnen Sie mit einer einfachen Einrichtung und erweitern Sie Ihr Tracking, wenn Ihr Portfolio komplexer wird. Die Investition in eine korrekte Einrichtung zahlt sich aus – mit genauen Berichten, Steueroptimierung und Portfolio-Insights.
Bereit, die Kontrolle über Ihr Kryptowährungsportfolio zu übernehmen? Starten Sie noch heute mit Beancount.io.