Salta al contenuto principale

Traccia un portafoglio crypto con base di costo in Beancount

Traccia un portafoglio crypto in Beancount su più exchange, con base di costo, lotti e analisi delle performance in un unico registro.

Gestire un portafoglio di criptovalute su più exchange, wallet e protocolli DeFi può essere una sfida. Questa guida completa ti mostra come configurare e mantenere un monitoraggio preciso del portafoglio di criptovalute utilizzando il potente sistema di contabilità in testo semplice di Beancount.io.

Esplora un esempio di ledger live per criptovalute:

Apri Cryptocurrency Example Ledger in una nuova scheda

Perché i Tracker Tradizionali di Portafoglio Sono Insufficienti

Problemi Comuni con gli Strumenti per Portafogli Cripto

  • Supporto Limitato per gli Exchange: Molti strumenti non supportano tutti gli exchange o protocolli DeFi
  • Costo Base Inaccurato: Calcoli FIFO/LIFO semplificati non coprono scenari complessi
  • Transazioni Mancanti: Limitazioni API e lacune nell'inserimento manuale
  • Nessuna Personalizzazione: Categorie fisse e strutture di report predefinite
  • Problemi di Privacy: Condivisione di chiavi API con servizi terzi
  • Blocco del Fornitore: Formati dati proprietari e opzioni di esportazione limitate

Vantaggi di Beancount.io

  • Controllo Completo: Possiedi i tuoi dati in formato testo semplice
  • Personalizzazione Illimitata: Crea qualsiasi struttura di conti necessaria
  • Costo Base Preciso: Monitoraggio basato su lotti con identificazione specifica
  • Supporto Multi-Protocolli: Gestisci qualsiasi exchange, wallet o protocollo DeFi
  • Calcoli Trasparenti: Visualizza esattamente come vengono calcolati i numeri
  • Futuro Garantito: Il formato testo semplice assicura accessibilità a lungo termine

Configurazione della Struttura del Tuo Portafoglio Crypto

Gerarchia Base dei Conti

Inizia con una struttura completa dei conti che rifletta il tuo ecosistema crypto:

; 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

Qui una regola di denominazione è ferrea, e il parser la impone più della convenzione: ogni componente di un conto, e ogni simbolo di commodity, deve cominciare con una lettera maiuscola o una cifra. Compound scrive il suo token di ricevuta cUSDC in tutta la sua interfaccia, ma Assets:DeFi:Compound:cUSDC e una commodity cUSDC sono entrambi errori di lexer. Scrivili CUSDC e mantieni l'ortografia del protocollo stessa nella metadata name: della commodity.

Definizioni di Commodity con Metadata

Definisci le tue criptovalute con metadata ricchi per un miglior monitoraggio:

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"

Monitoraggio del Portafoglio Multi-Exchange

Registrare gli Acquisti Attraverso gli Exchange

Traccia la stessa criptovaluta su diversi exchange con una base di costo precisa:

; 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

Trasferimenti tra Exchange

Traccia i trasferimenti tra exchange mantenendo la base di costo:

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}

Opportunità di Arbitraggio

Un arbitraggio è un unico evento economico su due piattaforme, quindi registralo come una transazione. Questa voce vende 10 ETH che già possiedi su Coinbase a $2,580.00 e immediatamente ristabilisce la posizione su Binance a $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

Tre cose da copiare:

  • Non lasciare mai una linea vuota tra le registrazioni. Una linea vuota termina la transazione, e Beancount segnala un errore di sintassi sulle registrazioni successive. Usa invece commenti indentati ; per etichettare le parti - come fanno le due righe di commento sopra.
  • Il guadagno è il guadagno dalla cessione, $800.00, ed è negativo perché i conti Income contengono crediti. I $55.00 di commissioni sono separati: trasformano $800.00 di spread lordo in $745.00 di profitto, ed sono già registrati in due registrazioni a sé stanti.
  • La parte di vendita riduce un lotto che devi già detenere. Questa registrazione assume 10 ETH acquistati in precedenza su Coinbase a $2,500.00; senza quel lotto la riduzione non avrebbe nulla su cui essere contabilizzata.

Gestione avanzata della base di costo

Tracciamento basato sui lotti

Il sistema basato sui lotti di Beancount.io fornisce un tracciamento preciso della base di costo:

; 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

La convenzione del segno per guadagni e perdite

I conti Income contengono crediti, quindi Beancount li memorizza come numeri negativi. Ogni guadagno qui sotto è quindi una registrazione negativa in un conto di reddito, e ogni perdita è una registrazione positiva in un conto di spesa. La commissione è separata da entrambi: è una spesa a sé stante, quindi sottrarla anche dal guadagno la dedurrebbe due volte e lascerebbe la transazione sbilanciata.

Per una cessione l'aritmetica è sempre:

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

Metodo di identificazione specifica

Vendi lotti specifici per una gestione fiscale ottimale. Indicare il costo del lotto nella registrazione di riduzione è ciò che "identificazione specifica" significa in Beancount, e funziona con la prenotazione predefinita STRICT:

; 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

Vendita del lotto più vecchio o più recente

Indicare un costo differente seleziona un lotto diverso. Queste due vendite prendono il lotto da $40,000.00 e poi quello da $45,000.00 — i due ancora disponibili dopo il lotto da $50,000.00 citato nell'esempio sopra — che è la stessa selezione che FIFO e LIFO farebbero automaticamente, esplicitata manualmente:

; 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

Stesso prezzo di vendita, lotto diverso, differenza di $2.500,00 nel guadagno realizzato. Se preferisci che sia Beancount a scegliere il lotto per te, imposta un metodo di contabilizzazione sull'account invece di specificare un costo — "FIFO", "LIFO" o "HIFO" sulla direttiva open, descritta in Gestione dell'Inventario.

Analisi della Performance del Portafoglio

Configurazione del Monitoraggio dei Prezzi

Configura feed di prezzo automatizzati per una valutazione accurata:

; 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

Monitoraggio dell'Allocazione del Portafoglio

Usa le funzionalità di reportistica di Beancount.io per analizzare l'allocazione:

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

Indicatori di Performance

Monitora gli indicatori chiave di performance:

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

Integrazione Staking e DeFi

Monitoraggio delle Ricompense di Staking

Registra le ricompense di staking con il corretto riconoscimento dei redditi. Le unità che arrivano e il reddito riconosciuto sono lo stesso evento visto da due lati, quindi i loro pesi devono annullarsi: [units] × [price] di asset in ingresso, lo stesso numero di dollari di reddito in uscita — e il reddito è un credito, quindi è negativo.

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

I {2,500.00 USD} e {0.50 USD} sono valutazioni esterne. Beancount memorizza ciò che scrivi; non recupera un prezzo né decide quale quotazione sia quella corretta. Scegli una fonte — l'exchange su cui effettivamente venderesti, o un indice pubblicato — e usala in modo coerente, perché quel valore è sia il tuo reddito che il tuo futuro costo di base.

La base della ricompensa è riconosciuta una sola volta

I $200,00 riconosciuti sopra diventano la base di costo degli 0,08 ETH. Vendendoli più tardi si realizza solo la variazione dal momento della ricompensa:

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 di plusvalenza, non $240,00 — i primi $200,00 erano già reddito a gennaio. Registrare l’intero importo di $240,00 come plusvalenza è il modo più comune per cui il reddito da ricompense viene conteggiato due volte. Quando la ricompensa diventa tassabile, e a quale aliquota, varia a seconda della giurisdizione; il libro mastro registra separatamente la ricezione e la disposizione così che entrambi i trattamenti possano essere riportati da esso.

Monitoraggio dei Rendimenti DeFi

Monitora posizioni DeFi complesse:

Fornire liquidità scambia due commodity per una terza, quindi ogni componente deve essere valutato nella stessa valuta prima che la transazione possa bilanciarsi. Le componenti ETH e LP lo sono già, perché portano un costo; la componente stablecoin necessita di un @ 1.00 USD esplicito, altrimenti Beancount vede 25.000 unità di USDC in uscita e $25.000,00 di valore in ingresso, che sono commodity diverse e non si annullano.

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

Gestione Automatizzata del Portafoglio

Importazione dati exchange

Beancount non include alcun client API per exchange, e non esiste alcun file di configurazione che lo faccia comunicare con Coinbase o Binance. Il percorso supportato è un importatore: scarichi l'esportazione CSV dell'exchange (o la ottieni con il tuo script) e la converti in transazioni Beancount con beangulp, il framework importatore che ha sostituito il beancount.ingest integrato in Beancount 2. beancount.ingest non esiste in Beancount 3.

Se scrivi uno script di fetch, il file credenziali è solo tuo — nessuno strumento della toolchain Beancount lo legge:

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

Riconciliazione Automatica

Imposta la verifica automatica del saldo:

; 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

Quei tre numeri provengono dagli schermi del tuo exchange, non da questa pagina, quindi il blocco sopra non verrà verificato contro nulla finché le tue transazioni non sono nel libro mastro. Due regole decidono se si verifica affatto. Una direttiva balance asserisce il saldo all'inizio di un giorno nominato, quindi un'asserzione datata 2024-01-31 non vede nulla registrato il 2024-01-31 — datala al giorno dopo il periodo che stai chiudendo. E ogni conto asserito deve essere aperto, ecco perché Assets:Crypto:Kraken:ADA appare nella sezione Gerarchia base del conto sopra.

Mantenere i prezzi aggiornati

I prezzi risiedono nel libro mastro come direttive price, e nulla in Beancount 3.2.3 li recupera per te. Non esiste direttiva custom "price-source" — un simbolo di commodity nudo non è nemmeno un valore custom valido, quindi quella riga è un errore di sintassi — e nessun modulo beancount.plugins.forecast; il caricatore si ferma con un errore di importazione se lo nomini.

Abilita beanprice dentro il motore gestito con bea engine enable beanprice, poi recupera le quotazioni con bea price main.beancount. Legge un campo di metadati price: su ogni direttiva commodity, sotto forma di "<quote currency>:<source module>/<ticker>", e scrive direttive price che aggiungi al tuo libro mastro:

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

Qualsiasi altro metadato che alleghi a una commodity — sector, website o il campo price-source usato prima in questa guida — è documentazione libera per tuo beneficio. Il caricatore lo conserva e nessuno strumento agisce su di esso.

Strategie di Ottimizzazione Fiscale

Realizzazione Sistemica di Perdite Fiscali

Implementa una realizzazione sistematica di perdite fiscali:

; 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

Guadagni a Lungo Termine vs Breve Termine

Traccia i periodi di detenzione per l'ottimizzazione fiscale:

; 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

Il collegamento ^long-term-btc su entrambe le voci è ciò che ti consente di associare l'acquisto e la vendita insieme dopo; Beancount non traccia i periodi di detenzione da solo.

Reportistica e Analisi

Rapporti riepilogativi del portafoglio

Genera rapporti completi del portafoglio:

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

Analisi delle prestazioni

Monitora le prestazioni del portafoglio nel tempo:

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

Analisi del reddito

Analizza le fonti di reddito:

-- Income breakdown by source
SELECT
  account,
  sum(position) as total_income
WHERE account ~ "Income:Crypto"
GROUP BY account
ORDER BY total_income DESC;

Best practice e consigli

1. Registrazione coerente

  • Registra le transazioni immediatamente dopo l'esecuzione
  • Usa descrizioni standardizzate per le transazioni
  • Includi gli hash delle transazioni nei metadati

2. Riconciliazione regolare

  • Verifica i saldi settimanalmente su tutte le piattaforme
  • Usa asserzioni di saldo per individuare discrepanze
  • Monitora per transazioni mancanti

3. Backup e sicurezza

  • Esegui regolarmente il backup dei tuoi file Beancount
  • Usa il controllo di versione (Git) per tracciare le modifiche
  • Cripta i dati sensibili

4. Documentazione

  • Documenta le decisioni sulla struttura dei conti
  • Mantieni note sulle transazioni complesse
  • Conserva i record delle configurazioni API

5. Preparazione fiscale

  • Genera rapporti trimestrali per la pianificazione fiscale
  • Mantieni registrazioni dettagliate per scopi di revisione
  • Consulta esperti fiscali per situazioni complesse

Conclusione

La gestione efficace di un portafoglio di criptovalute richiede precisione, coerenza e gli strumenti giusti. Beancount.io offre la flessibilità e la potenza necessarie per gestire portafogli crypto complessi su più exchange, wallet e protocolli DeFi.

Vantaggi chiave dell'uso di Beancount.io per il monitoraggio del portafoglio crypto:

  • Completo controllo dei dati: i tuoi dati in formato testo semplice
  • Base di costo precisa: tracciamento basato su lotti con identificazione specifica
  • Flessibilità illimitata: strutture di conto e reporting personalizzati
  • Ottimizzazione fiscale: strategie avanzate per minimizzare la tassazione
  • A prova di futuro: il formato aperto garantisce accessibilità a lungo termine

Inizia con una configurazione di base e amplia gradualmente il monitoraggio man mano che il tuo portafoglio diventa più complesso. L'investimento in una configurazione corretta ripagherà con report accurati, ottimizzazione fiscale e approfondimenti sul portafoglio.

Pronto a prendere il controllo del tuo portafoglio di criptovalute? Inizia con Beancount.io oggi.

Fonte: https://beancount.io/it/docs/Solutions/cryptocurrency-portfolio-tracking