Naar hoofdinhoud springen

Een cryptoportefeuille bijhouden met kostprijsbasis in

Houd een cryptoportefeuille in Beancount bij tussen beurzen, met kostprijsbasis, loten en prestatieanalyse in één grootboek.

Het beheren van een cryptovaluta-portfolio over meerdere beurzen, wallets en DeFi-protocollen kan uitdagend zijn. Deze uitgebreide gids laat zien hoe je een nauwkeurige cryptocurrency-portfolio bijhoudt met behulp van het krachtige platte-tekst boekhoudsysteem van Beancount.io.

Bekijk een levend voorbeeld van een cryptocurrency-boekhouding:

Cryptocurrency Example Ledger in een nieuw tabblad openen

Waarom traditionele portfolio-trackers tekortschieten

Veelvoorkomende problemen met crypto-portfoliotools

  • Beperkte beurs-ondersteuning: Veel tools ondersteunen niet alle beurzen of DeFi-protocollen
  • Ongeldige kostprijsbasis: Vereenvoudigde FIFO/LIFO-berekeningen missen complexe scenario's
  • Missende transacties: API-beperkingen en handmatige invoerhiaten
  • Geen aanpassingsmogelijkheden: Vaste categorieën en rapportagestructuren
  • Privacyzorgen: Het delen van API-sleutels met derden
  • Leveranciersafhankelijkheid: Proprietaire dataformaten en beperkte exportopties

Voordelen van Beancount.io

  • Volledige controle: Beheer je gegevens in platte-tekst formaat
  • Onbegrensde aanpassing: Creëer elke gewenste rekeningstructuur
  • Nauwkeurige kostprijsbasis: Lot-gebaseerde tracking met specifieke identificatie
  • Multi-protocol ondersteuning: Ondersteunt elke beurs, wallet of DeFi-protocol
  • Transparante berekeningen: Zie precies hoe cijfers worden berekend
  • Toekomstbestendig: Platte-tekst formaat garandeert langdurige toegankelijkheid

Je crypto-portfolio structuur opzetten

Basisrekeninghiërarchie

Begin met een uitgebreide rekeningstructuur die jouw crypto-ecosysteem weerspiegelt:

; 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:Crypto

Er geldt hier één naamgevingsregel, en de parser handhaaft deze in plaats van conventie: elk onderdeel van een rekening en elk commoditeitsymbool moet beginnen met een hoofdletter of een cijfer. Compound schrijft zijn ontvangsttoken cUSDC overal in zijn eigen interface, maar Assets:DeFi:Compound:cUSDC en een cUSDC-commodity zijn allebei lexer-fouten. Schrijf ze als CUSDC en behoud de spelling van het protocol in de name:-metadata van de commodity.

Commoditeitsdefinities 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"

Portfolio-tracking over meerdere beurzen

Aankopen registreren over beurzen heen

Volg dezelfde cryptocurrency op verschillende beurzen met nauwkeurige kostprijs:

; 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 USD

Overboekingen tussen beurzen

Volg overboekingen tussen beurzen terwijl je de kostprijs behoudt:

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}

Arbitragemogelijkheden

Een arbitrage is één economische gebeurtenis over twee handelsplaatsen, dus registreer dit als één transactie. Deze invoer verkoopt 10 ETH die je al bezit op Coinbase voor $2.580,00 en herstelt onmiddellijk de positie op Binance voor $2.500,00:

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 basis

Drie dingen om te kopiëren:

  • Laat nooit een lege regel tussen boekingen achter. Een lege regel beëindigt de transactie en Beancount meldt een syntaxfout bij de boekingen erna. Gebruik in plaats daarvan ingesprongen ; opmerkingen om de posten te labelen — wat de twee commentaarlijnen hierboven doen.
  • De winst is de opbrengst van de afstoting, $800,00, en is negatief omdat Income rekeningen credits bevatten. De $55,00 aan kosten is apart: dit is wat $800,00 bruto spread omzet in $745,00 winst, en het is al geregistreerd in zijn eigen twee boekingen.
  • De verkooppost vermindert een lot dat je al moet bezitten. Deze invoer gaat uit van 10 ETH eerder gekocht op Coinbase voor $2.500,00; zonder dat lot is er niets om tegen te boeken.

Geavanceerd beheer van kostprijs

Volgen op basis van lot

Het lot-gebaseerde systeem van Beancount.io biedt nauwkeurige kostprijsregistratie:

; 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 USD

De tekenconventie voor winsten en verliezen

Income-rekeningen bevatten credits, dus Beancount slaat ze op als negatieve getallen. Elke winst hieronder is daarom een negatieve boeking op een inkomstenrekening, en elk verlies is een positieve boeking op een kostenrekening. De vergoeding is van beide gescheiden: het is een kostenpost op zich, dus het ook aftrekken van de winst zou het twee keer aftrekken en de transactie uit balans brengen.

Voor één afstoting is de rekenkundige formule altijd:

gain (or loss) = gross proceeds - cost basis of the lots removed
net cash       = gross proceeds - fees

Specifieke identificatiemethode

Verkoop specifieke lots voor optimale belastingbeheer. Het benoemen van de kostprijs van het lot in de verminderingboeking is wat "specifieke identificatie" betekent in Beancount, en het werkt onder de standaard STRICT-boekhouding:

; 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 proceeds

Verkopen van het oudste of het nieuwste lot

Het benoemen van een andere kostprijs selecteert een ander lot. Deze twee verkopen nemen het lot van $40.000,00 en dan het lot van $45.000,00 — de twee die nog over zijn na de $50.000,00 in het voorbeeld hierboven — wat dezelfde selectie is die FIFO en LIFO automatisch zouden maken, hier handmatig uitgesproken:

; 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 basis

Zelfde verkoopprijs, andere lot, $2,500.00 verschil in gerealiseerde winst. Als je liever hebt dat Beancount het lot voor je kiest, stel dan een boekingsmethode in op de rekening in plaats van een kost te noemen — "FIFO", "LIFO" of "HIFO" op de open-directief, beschreven in Inventory Management.

Portfolio Prestatie Analyse

Prijsvolg Setup

Stel geautomatiseerde prijsfeeds in voor nauwkeurige waardering:

; 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 USD

Portfolio Allocatie Volgen

Gebruik de rapportagefuncties van Beancount.io om allocatie te analyseren:

-- 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 DESC

Prestatie Kengetallen

Volg belangrijke prestatie-indicatoren:

-- 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 en DeFi Integratie

Staking Beloning Volgen

Registreer stakingbeloningen met juiste inkomensherkenning. De eenheden die binnenkomen en het erkende inkomen zijn hetzelfde evenement gezien van twee kanten, dus hun gewichten moeten elkaar opheffen: [units] × [price] van activum in, hetzelfde aantal dollars aan inkomen uit — en inkomen is een credit, dus het is negatief.

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.50

De {2,500.00 USD} en {0.50 USD} zijn externe waarderingen. Beancount slaat op wat je schrijft; het haalt geen prijs op of beslist welke offerte de juiste is. Kies een bron — de beurs waarop je daadwerkelijk zou verkopen, of een gepubliceerd index — en gebruik die consequent, want dat nummer is zowel je inkomsten als je toekomstige kostprijsbasis.

De basis van de beloning wordt eenmaal erkend

De hierboven erkende $200.00 wordt de kostprijsbasis van de 0.08 ETH. Verkoop ervan later realiseert alleen de beweging sinds de beloningsdatum:

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 aan vermogenswinst, niet $240.00 — de eerste $200.00 was al inkomen in januari. Het boeken van de hele $240.00 als winst is de meest voorkomende manier waarop beloningsinkomen dubbel wordt geteld. Wanneer de beloning belastbaar wordt, en tegen welk tarief, verschilt per jurisdictie; de grootboek registreert ontvangst en vervreemding apart zodat beide behandeling eruit gerapporteerd kan worden.

DeFi Rendement Volgen

Volg complexe DeFi-posities:

Liquiditeit verschaffen ruilt twee grondstoffen om voor een derde, dus elke onderdeel moet in dezelfde valuta wegen voordat de transactie kan balanceren. De ETH- en LP-componenten doen dat al, want zij dragen een kost; de stablecoin-component heeft een expliciete @ 1.00 USD nodig, anders ziet Beancount 25.000 eenheden van USDC vertrekken en $25,000.00 waarde arriveren, wat verschillende grondstoffen zijn en niet tegen elkaar wegvallen.

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.00

Geautomatiseerd Portfolio Beheer

Importeren van beursgegevens

Beancount levert geen exchange API-client en er is geen configuratiebestand dat het laat communiceren met Coinbase of Binance. Het ondersteunde pad is een importeur: je downloadt de CSV-export van de beurs (of haalt die op met je eigen script) en zet deze om in Beancount-transacties met beangulp, het importraamwerk dat de ingebouwde beancount.ingest van Beancount 2 opvolgde. beancount.ingest bestaat niet in Beancount 3.

Als je zelf een fetch-script schrijft, is het referentiebestand alleen van jou — niets in de Beancount-toolchain leest dit:

# 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"

Geautomatiseerde Afstemming

Stel geautomatiseerde saldoverificatie in:

; 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 ADA

Die drie cijfers komen van jouw exchange-schermen, niet van deze pagina, dus de bovenstaande blok zal tegen niets verifiëren totdat je eigen transacties in het grootboek staan. Twee regels bepalen of het überhaupt verifieert. Een balance-directief geeft het saldo aan het begin van de genoemde dag aan, dus een verklaring gedateerd 2024-01-31 ziet niets geboekt op 2024-01-31 — dateer het op de dag na de periode die je afsluit. En elk bevestigd account moet open zijn, daarom verschijnt Assets:Crypto:Kraken:ADA in de sectie Basis Rekeninghiërarchie hierboven.

Prijzen up-to-date houden

Prijzen staan in het grootboek als price-directieven en niets in Beancount 3.2.3 haalt die voor je op. Er is geen custom "price-source"-directief — een naakte grondstoffensymbool is niet eens een geldige custom-waarde, dus die regel is een syntaxfout — en geen beancount.plugins.forecast-module; de loader stopt met een importfout als je die noemt.

Schakel beanprice in binnen de beheerde engine met bea engine enable beanprice, en haal dan koersinformatie op met bea price main.beancount. Het leest een price:-metadata-veld op elk commodity-directief, in de vorm "<quote currency>:<source module>/<ticker>", en schrijft price-directieven die je aan je grootboek toevoegt:

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 USD

Elke andere metadata die je aan een grondstof koppelt — sector, website of het eerder in deze gids gebruikte price-source-veld — is vrije documentatie voor je eigen voordeel. De loader slaat het op en geen enkele tool handelt ernaar.

Strategieën voor Belastingoptimalisatie

Belastingverlies oogsten

Implementeer systematisch belastingverlies oogsten:

; 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 USD

Langetermijn- versus Kortetermijnwinst

Houd houdperiodes bij voor belastingoptimalisatie:

; 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 basis

De ^long-term-btc-link op beide posten is wat je laat de aankoop en verkoop later samen op te roepen; Beancount houdt zelf geen houdperiodes bij.

Rapportage en Analyse

Portefeuille Overzichtsrapporten

Genereer uitgebreide portefeuillerapporten:

-- 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;

Prestatie-Analyse

Volg de prestaties van de portefeuille in de tijd:

-- 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;

Inkomstenanalyse

Analyseer inkomstenbronnen:

-- 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 en Tips

1. Consistente Registratie

  • Registreer transacties direct na uitvoering
  • Gebruik gestandaardiseerde transactiebeschrijvingen
  • Neem transactie-hashes op in metadata

2. Regelmatige Afstemming

  • Controleer wekelijks saldi op alle platforms
  • Gebruik saldobevestigingen om afwijkingen te detecteren
  • Houd toezicht op ontbrekende transacties

3. Back-up en Beveiliging

  • Maak regelmatig een back-up van je Beancount-bestanden
  • Gebruik versiebeheer (Git) voor wijzigingsregistratie
  • Versleutel gevoelige gegevens

4. Documentatie

  • Documenteer je beslissingen over de accountstructuur
  • Houd aantekeningen bij over complexe transacties
  • Bewaar gegevens van API-configuraties

5. Belastingvoorbereiding

  • Genereer per kwartaal rapporten voor belastingplanning
  • Houd gedetailleerde administratie bij voor audits
  • Raadpleeg belastingadviseurs bij complexe situaties

Conclusie

Effectieve cryptocurrency portfolio monitoring vereist precisie, consistentie en de juiste tools. Beancount.io biedt de flexibiliteit en kracht die nodig zijn om complexe cryptoportefeuilles te beheren over meerdere beurzen, wallets en DeFi-protocollen.

Belangrijkste voordelen van het gebruik van Beancount.io voor crypto portfoliobeheer:

  • Volledige Gegevens-eigendom: Je gegevens in platte-tekst formaat
  • Nauwkeurige Kostprijsbepaling: Lot-gebaseerde tracking met specifieke identificatie
  • Onbeperkte Flexibiliteit: Aangepaste accountstructuren en rapportages
  • Belastingoptimalisatie: Geavanceerde strategieën voor minimalisering van belastingverplichtingen
  • Toekomstbestendig: Open formaat garandeert lange termijn toegankelijkheid

Begin met een basisconfiguratie en breid je tracking geleidelijk uit naarmate je portefeuille complexer wordt. De investering in een juiste opzet betaalt zich terug in nauwkeurige rapportage, belastingoptimalisatie en portfolio-inzichten.

Klaar om de controle over je cryptocurrencyportfolio te nemen? Begin vandaag nog met Beancount.io.

Bron: https://beancount.io/nl/docs/Solutions/cryptocurrency-portfolio-tracking