Cryptocurrency Portfolio Tracking met Beancount.io
Het beheren van een cryptocurrency portfolio over meerdere exchanges, wallets en DeFi protocollen kan een uitdaging zijn. Deze uitgebreide handleiding laat zien hoe je een accurate cryptocurrency portfolio tracking opzet en onderhoudt met behulp van Beancount.io's krachtige plain-text accounting systeem.
Waarom Traditionele Portfolio Trackers Tekortschieten
Veelvoorkomende Problemen met Crypto Portfolio Tools
- Beperkte Exchange Ondersteuning: Veel tools ondersteunen niet alle exchanges of DeFi protocollen
- Onnauwkeurige Kostprijs: Vereenvoudigde FIFO/LIFO berekeningen missen complexe scenario's
- Ontbrekende Transacties: API beperkingen en handmatige invoer hiaten
- Geen Customisatie: Vaste categorieën en rapportagestructuren
- Privacy Zorgen: Het delen van API keys met third-party services
- Vendor Lock-in: Propriëtaire data formaten en beperkte export opties
Beancount.io Voordelen
- Complete Controle: Behoud je data in plain-text formaat
- Onbeperkte Customisatie: Creëer elke account structuur die je nodig hebt
- Precise Kostprijs: Lot-gebaseerde tracking met specifieke identificatie
- Multi-Protocol Ondersteuning: Handel elke exchange, wallet of DeFi protocol af
- Transparante Berekeningen: Zie exact hoe de getallen worden berekend
- Toekomstbestendig: Plain-text formaat verzekert lange termijn toegankelijkheid
Het Opzetten van Je Crypto Portfolio Structuur
Basis Account Hiërarchie
Start met een uitgebreide account structuur die je crypto ecosysteem reflecteert:
; Exchange Accounts - Georganiseerd per 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
; Wallet Accounts - Georganiseerd per 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: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:CapitalGains:Crypto
; 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
Commodity Definities met Metadata
Definieer je cryptocurrencies met rijke metadata voor betere 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-Exchange Portfolio Tracking
Aankopen Vastleggen Tussen Exchanges
Track dezelfde cryptocurrency over verschillende exchanges met precieze kostprijs:
; Bitcoin aankopen op verschillende exchanges
2024-01-15 * "Koop BTC op 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 * "Koop BTC op 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 * "Koop BTC op 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 USD
Cross-Exchange Overdrachten
Track overdrachten tussen exchanges terwijl de kostprijs behouden blijft:
2024-02-01 * "Overdracht BTC van Coinbase naar 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 Mogelijkheden
Track arbitrage trades tussen exchanges:
2024-02-10 * "Arbitrage: Koop ETH op Binance, Verkoop op Coinbase"
; Koop op 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
; Verkoop op Coinbase (hogere prijs)
Assets:Crypto:Coinbase:ETH -10 ETH {2500.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 745.00 USD
Geavanceerd Kostprijsbeheer
Lot-gebaseerde Tracking
Beancount.io's lot-gebaseerde systeem biedt precieze kostprijs tracking:
; Meerdere aankopen tegen verschillende prijzen
2024-01-01 * "BTC Aankoop Lot 1"
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
2024-02-01 * "BTC Aankoop Lot 2"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
2024-03-01 * "BTC Aankoop Lot 3"
Assets:Crypto:Coinbase:BTC 1.0 BTC {50000.00 USD}
Assets:Crypto:Coinbase:USD -50000.00 USD
Specifieke Identificatie Methode
Verkoop specifieke lots voor optimaal belastingbeheer:
; Verkoop hoogste kostprijs lot eerst (tax loss harvesting)
2024-04-01 * "Verkoop BTC Lot 3 voor belastingoptimalisatie"
Assets:Crypto:Coinbase:BTC -1.0 BTC {50000.00 USD}
Assets:Crypto:Coinbase:USD 48000.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
Expenses:CapitalLoss:Crypto 2000.00 USD ; Gerealiseerd verlies
FIFO vs LIFO Tracking
Implementeer verschillende kostprijs methoden:
; FIFO Verkoop (First In, First Out)
2024-05-01 * "FIFO Verkoop - Verkoop oudste BTC eerst"
Assets:Crypto:Coinbase:BTC -0.5 BTC {40000.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 6000.00 USD ; 52000 - 20000 = 6000
; LIFO Verkoop (Last In, First Out) - indien andere methode gebruikt wordt
2024-05-01 * "LIFO Verkoop - Verkoop nieuwste BTC eerst"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.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 ; 26000 - 22500 = 3500
Portfolio Performance Analyse
Prijs Tracking Setup
Zet geautomatiseerde price feeds op voor accurate waardering:
; Dagelijkse prijs 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 USD
Portfolio Allocatie Tracking
Gebruik Beancount.io's rapportage functies om allocatie te analyseren:
; Query voor portfolio allocatie per asset
SELECT
account,
sum(position) as balance,
value(sum(position)) as market_value
WHERE account ~ "Assets:Crypto"
GROUP BY 1
ORDER BY market_value DESC
Performance Metrics
Track belangrijke performance indicatoren:
; Totale portfolio waarde query
SELECT
sum(value(position)) as total_portfolio_value
WHERE account ~ "Assets:Crypto"
; Gerealiseerde winsten/verliezen
SELECT
sum(position) as realized_gains
WHERE account ~ "Income:CapitalGains:Crypto"
Staking en DeFi Integratie
Staking Beloningen Tracking
Registreer staking beloningen met correcte inkomsten erkenning:
2024-01-31 * "ETH Staking Beloningen - Januari"
Assets:Staking:Ethereum:ETH 0.08 ETH {2500.00 USD}
Income:Crypto:Staking:ETH 200.00 USD
2024-01-31 * "ADA Staking Beloningen - Januari"
Assets:Staking:Cardano:ADA 25 ADA {0.50 USD}
Income:Crypto:Staking:ADA 12.50 USD
DeFi Yield Tracking
Track complexe DeFi posities:
2024-02-01 * "Uniswap LP Positie"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -25000 USDC
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V2-ETH-USDC {500.00 USD}
2024-02-28 * "Uniswap LP Beloningen - Februari"
Assets:Crypto:Wallet:MetaMask:UNI 50 UNI {8.00 USD}
Income:Crypto:DeFi:Yield 400.00 USD
Geautomatiseerd Portfolio Management
API Integratie Setup
Verbind met exchange API's voor geautomatiseerde data import:
# Example configuration for exchange API integration
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"
Geautomatiseerde Reconciliatie
Zet geautomatiseerde balans verificatie op:
; Balans beweringen voor geautomatiseerde verificatie
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 ADA
Price Feed Automatisering
Configureer geautomatiseerde prijs updates:
; Price feed configuration
plugin "beancount.plugins.auto_accounts"
plugin "beancount.plugins.forecast"
; Geautomatiseerde prijs ophalen
2024-01-01 custom "price-source" BTC "coinbase"
2024-01-01 custom "price-source" ETH "coinbase"
2024-01-01 custom "price-source" ADA "binance"
Belastingoptimalisatie Strategieën
Tax Loss Harvesting
Implementeer systematische tax loss harvesting:
; Identificeer posities met ongerealiseerde verliezen
2024-12-15 * "Tax loss harvesting - Verkoop ADA met verlies"
Assets:Crypto:Binance:ADA -1000 ADA {0.60 USD}
Assets:Crypto:Binance:USD 450.00 USD
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USD
Expenses:CapitalLoss:Crypto 150.00 USD ; Gerealiseerd verlies
; Terugkopen na wash sale periode (31 dagen)
2025-01-16 * "Terugkoop ADA na wash sale periode"
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 USD
Lange termijn vs Korte termijn Winsten
Track holding periodes voor belastingoptimalisatie:
; Gebruik metadata om aankoop datums te tracken
2024-01-01 * "BTC Aankoop - Lange termijn hold" ^long-term-btc
Assets:Crypto:Coinbase:BTC 1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD -40000.00 USD
; Verkoop na één jaar voor lange termijn capital gains behandeling
2025-01-02 * "BTC Verkoop - Lange termijn capital gains" ^long-term-btc
Assets:Crypto:Coinbase:BTC -1.0 BTC {40000.00 USD}
Assets:Crypto:Coinbase:USD 55000.00 USD
Income:CapitalGains:LongTerm 15000.00 USD
Rapporteren en Analyseren
Portfolio Samenvatting Rapporten
Genereer uitgebreide portfolio rapporten:
-- Portfolio allocatie per 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 Analyses
Track portfolio performance over tijd:
-- Maandelijkse 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;
Inkomsten Analyse
Analyseer inkomsten bronnen:
-- Inkomsten uitsplitsing per bron
SELECT
account,
sum(position) as total_income
WHERE account ~ "Income:Crypto"
GROUP BY account
ORDER BY total_income DESC;
Best Practices en Tips
1. Consistente Registratie
- Registreer transacties direct na uitvoering
- Gebruik gestandaardiseerde transactie beschrijvingen
- Inclusief transactie hashes in metadata
2. Regelmatige Reconciliatie
- Verifieer balansen wekelijks over alle platformen
- Gebruik balans beweringen om afwijkingen te vangen
- Monitor voor ontbrekende transacties
3. Backup en Beveiliging
- Regelmatig backuppen van je Beancount files
- Gebruik versie controle (Git) voor change tracking
- Encrypt gevoelige data
4. Documentatie
- Documenteer je account structuur beslissingen
- Onderhoud notities over complexe transacties
- Houdt records bij van API configuraties
5. Belasting Voorbereiding
- Genereer rapporten per kwartaal voor belasting planning
- Onderhoud gedetailleerde records voor audit doeleinden
- Raadpleeg belasting professionals voor complexe situaties
Conclusie
Effectieve cryptocurrency portfolio tracking vereist precisie, consistentie en de juiste tools. Beancount.io biedt de flexibiliteit en kracht die nodig is om complexe crypto portfolio's te beheren over meerdere exchanges, wallets en DeFi protocollen.
Belangrijkste voordelen van het gebruik van Beancount.io voor crypto portfolio tracking:
- Compleet Data Eigendom: Jouw data in plain-text formaat
- Precise Kostprijs: Lot-gebaseerde tracking met specifieke identificatie
- Onbeperkte Flexibiliteit: Custom account structuren en rapportage
- Belastingoptimalisatie: Geavanceerde strategieën voor het minimaliseren van belastingplicht
- Toekomstbestendig: Open formaat verzekert lange termijn toegankelijkheid
Start met een basis setup en breidt je tracking geleidelijk uit naarmate je portfolio in complexiteit groeit. De investering in de juiste setup zal zich uitbetalen in accurate rapportage, belastingoptimalisatie en portfolio inzichten.
Klaar om de controle over je cryptocurrency portfolio te nemen? Start vandaag nog met Beancount.io.