Перейти до основного вмісту

Шаблони та приклади для криптовалют

Цей посібник містить практичні шаблони Beancount і реальні приклади для поширених сценаріїв з криптовалютами. Скопіюйте та адаптуйте ці шаблони для своїх потреб в обліку криптовалют.

Базовий шаблон налаштування

Шаблон структури рахунків

; =============================================================================
; ШАБЛОН НАЛАШТУВАННЯ РАХУНКІВ КРИПТОВАЛЮТ
; =============================================================================

; Рахунки бірж
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: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: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

; Рахунки DeFi протоколів
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 Income:Crypto:Staking:ETH
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

; Рахунки витрат
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 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"

1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"

1970-01-01 commodity USDC
name: "USD Coin"
asset-class: "stablecoin"

Шаблони для торгівлі

Базова купівля криптовалюти

; Шаблон: Купівля криптовалюти на біржі
YYYY-MM-DD * "Купівля [AMOUNT] [CRYPTO] на [EXCHANGE]"
Assets:Crypto:[EXCHANGE]:[CRYPTO] [AMOUNT] [CRYPTO] {[PRICE] USD}
Assets:Crypto:[EXCHANGE]:USD -[TOTAL_COST] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD

; Приклад: Купівля 1 BTC на Coinbase
2024-01-15 * "Купівля 1 BTC на 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

Продаж криптовалюти

; Шаблон: Продаж криптовалюти на біржі
YYYY-MM-DD * "Продаж [AMOUNT] [CRYPTO] на [EXCHANGE]"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:USD [PROCEEDS] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD
Income:CapitalGains:Crypto [GAIN] USD ; або Expenses:CapitalLoss:Crypto

; Приклад: Продаж 0.5 BTC з прибутком
2024-03-20 * "Продаж 0.5 BTC на Coinbase"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD 24000.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:Crypto 1470.00 USD ; 24000 - 22500 - 30

Обмін криптовалюти на криптовалюту

; Шаблон: Обмін однієї криптовалюти на іншу
YYYY-MM-DD * "Обмін [AMOUNT1] [CRYPTO1] на [AMOUNT2] [CRYPTO2]"
Assets:Crypto:[EXCHANGE]:[CRYPTO1] -[AMOUNT1] [CRYPTO1] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:[CRYPTO2] [AMOUNT2] [CRYPTO2] {[NEW_PRICE] USD}
Income:CapitalGains:Crypto [GAIN] USD ; Оподатковувана подія
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD

; Приклад: Обмін BTC на ETH
2024-02-10 * "Обмін 1 BTC на 20 ETH на Binance"
Assets:Crypto:Binance:BTC -1.0 BTC {46000.00 USD}
Assets:Crypto:Binance:ETH 20 ETH {2400.00 USD}
Income:CapitalGains:Crypto 2000.00 USD ; 48000 - 46000
Expenses:Crypto:Fees:Trading 40.00 USD
Assets:Crypto:Binance:USD -40.00 USD

Шаблони для переказів

Переказ з біржі на гаманець

; Шаблон: Переказ криптовалюти з біржі на гаманець
YYYY-MM-DD * "Переказ [AMOUNT] [CRYPTO] з [EXCHANGE] на [WALLET]"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:Wallet:[WALLET]:[CRYPTO] [AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Expenses:Crypto:Fees:Withdrawal [FEE] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[FEE] [CRYPTO] {[COST_BASIS] USD}

; Приклад: Переказ BTC на Ledger
2024-01-20 * "Переказ 1 BTC з Coinbase на Ledger"
Assets:Crypto:Coinbase:BTC -1.0 BTC {45000.00 USD}
Assets:Crypto:Wallet:Ledger:BTC 1.0 BTC {45000.00 USD}
Expenses:Crypto:Fees:Withdrawal 0.0005 BTC {45000.00 USD}
Assets:Crypto:Coinbase:BTC -0.0005 BTC {45000.00 USD}

Міжбіржовий переказ

; Шаблон: Переказ між біржами
YYYY-MM-DD * "Переказ [AMOUNT] [CRYPTO] з [EXCHANGE1] на [EXCHANGE2]"
Assets:Crypto:[EXCHANGE1]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE2]:[CRYPTO] [AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Expenses:Crypto:Fees:Network [FEE] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE1]:[CRYPTO] -[FEE] [CRYPTO] {[COST_BASIS] USD}

; Приклад: Переказ ETH з Coinbase на Binance
2024-02-05 * "Переказ 10 ETH з Coinbase на Binance"
Assets:Crypto:Coinbase:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Binance:ETH 10 ETH {2500.00 USD}
Expenses:Crypto:Fees:Network 0.01 ETH {2500.00 USD}
Assets:Crypto:Coinbase:ETH -0.01 ETH {2500.00 USD}

Шаблони для стейкінгу

Стейкінг Ethereum

; Шаблон: Стейкінг ETH
YYYY-MM-DD * "Стейкінг [AMOUNT] ETH"
Assets:Crypto:Wallet:MetaMask:ETH -[AMOUNT] ETH {[PRICE] USD}
Assets:Staking:Ethereum:ETH [AMOUNT] ETH {[PRICE] USD}
Expenses:Crypto:Fees:Network [FEE] ETH {[PRICE] USD}
Assets:Crypto:Wallet:MetaMask:ETH -[FEE] ETH {[PRICE] USD}

; Приклад: Стейкінг 32 ETH
2024-01-10 * "Стейкінг 32 ETH на Ethereum 2.0"
Assets:Crypto:Wallet:MetaMask:ETH -32 ETH {2500.00 USD}
Assets:Staking:Ethereum:ETH 32 ETH {2500.00 USD}
Expenses:Crypto:Fees:Network 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

Винагороди за стейкінг

; Шаблон: Отримання винагород за стейкінг
YYYY-MM-DD * "[CRYPTO] Винагороди за стейкінг - [PERIOD]"
Assets:Staking:[PROTOCOL]:[CRYPTO] [AMOUNT] [CRYPTO] {[PRICE] USD}
Income:Crypto:Staking:[CRYPTO] [VALUE] USD

; Приклад: Винагороди за стейкінг ETH
2024-02-01 * "Винагороди за стейкінг ETH - Січень"
Assets:Staking:Ethereum:ETH 0.08 ETH {2600.00 USD}
Income:Crypto:Staking:ETH 208.00 USD

Шаблони для DeFi

Надання ліквідності в Uniswap

; Шаблон: Додавання ліквідності в пул Uniswap
YYYY-MM-DD * "Додавання ліквідності в пул [TOKEN1]-[TOKEN2]"
Assets:Crypto:Wallet:MetaMask:[TOKEN1] -[AMOUNT1] [TOKEN1] {[PRICE1] USD}
Assets:Crypto:Wallet:MetaMask:[TOKEN2] -[AMOUNT2] [TOKEN2] {[PRICE2] USD}
Assets:DeFi:Uniswap:[TOKEN1]-[TOKEN2]-LP [LP_AMOUNT] [LP_TOKEN] {[LP_PRICE] USD}
Expenses:Crypto:Fees:Network [FEE] ETH {[ETH_PRICE] USD}
Assets:Crypto:Wallet:MetaMask:ETH -[FEE] ETH {[ETH_PRICE] USD}

; Приклад: Додавання ліквідності ETH-USDC
2024-01-15 * "Додавання ліквідності в пул ETH-USDC"
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-V3-ETH-USDC {500.00 USD}
Expenses:Crypto:Fees:Network 0.02 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.02 ETH {2500.00 USD}

Кредитування в Compound

; Шаблон: Надання активів в Compound
YYYY-MM-DD * "Надання [AMOUNT] [TOKEN] в Compound"
Assets:Crypto:Wallet:MetaMask:[TOKEN] -[AMOUNT] [TOKEN]
Assets:DeFi:Compound:c[TOKEN] [C_AMOUNT] c[TOKEN] {[C_PRICE] USD}
Expenses:Crypto:Fees:Network [FEE] ETH {[ETH_PRICE] USD}
Assets:Crypto:Wallet:MetaMask:ETH -[FEE] ETH {[ETH_PRICE] USD}

; Приклад: Надання USDC в Compound
2024-01-20 * "Надання 10000 USDC в Compound"
Assets:Crypto:Wallet:MetaMask:USDC -10000 USDC
Assets:DeFi:Compound:cUSDC 500 cUSDC {20.00 USD}
Expenses:Crypto:Fees:Network 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

Шаблони для майнінгу

Винагороди за майнінг

; Шаблон: Отримання винагород за майнінг
YYYY-MM-DD * "[CRYPTO] Винагорода за майнінг - [POOL/SOLO]"
Assets:Crypto:Mining:[CRYPTO] [AMOUNT] [CRYPTO] {[PRICE] USD}
Income:Crypto:Mining:[CRYPTO] [VALUE] USD

; Приклад: Винагорода за майнінг Bitcoin
2024-01-15 * "Винагорода за майнінг BTC - Slush Pool"
Assets:Crypto:Mining:BTC 0.01 BTC {45000.00 USD}
Income:Crypto:Mining:BTC 450.00 USD

Витрати на майнінг

; Шаблон: Операційні витрати на майнінг
YYYY-MM-DD * "Майнінг [EXPENSE_TYPE] - [PERIOD]"
Expenses:Crypto:Mining:[EXPENSE_TYPE] [AMOUNT] USD
Assets:Checking -[AMOUNT] USD

; Приклад: Витрати на електроенергію для майнінгу
2024-01-31 * "Електроенергія для майнінгу - Січень"
Expenses:Crypto:Mining:Electricity 800.00 USD
Assets:Checking -800.00 USD

Шаблони для аірдропів

Токен аірдропи

; Шаблон: Отримання токен аірдропу
YYYY-MM-DD * "[TOKEN] Аірдроп від [PROJECT]"
Assets:Crypto:Wallet:[WALLET]:[TOKEN] [AMOUNT] [TOKEN] {[PRICE] USD}
Income:Crypto:Airdrops [VALUE] USD

; Приклад: UNI токен аірдроп
2024-03-01 * "UNI Аірдроп від Uniswap"
Assets:Crypto:Wallet:MetaMask:UNI 400 UNI {8.00 USD}
Income:Crypto:Airdrops 3200.00 USD

Розширені шаблони

Арбітраж із використанням миттєвого кредиту (Flash Loan)

; Шаблон: Арбітраж із використанням миттєвого кредиту (Flash Loan)
YYYY-MM-DD * "Арбітраж із використанням миттєвого кредиту (Flash Loan) - [STRATEGY]"
; Миттєвий кредит (Flash loan)
Assets:Crypto:Temp:FlashLoan [LOAN_AMOUNT] [TOKEN]
Liabilities:DeFi:[PROTOCOL]:Flash -[LOAN_AMOUNT] [TOKEN]

; Виконання арбітражу
Assets:Crypto:Temp:FlashLoan -[LOAN_AMOUNT] [TOKEN]
Assets:Crypto:Temp:Arbitrage [RETURN_AMOUNT] [TOKEN]

; Погашення миттєвого кредиту
Liabilities:DeFi:[PROTOCOL]:Flash [LOAN_AMOUNT] [TOKEN]
Assets:Crypto:Temp:Arbitrage -[LOAN_PLUS_FEE] [TOKEN]

; Прибуток
Assets:Crypto:Wallet:[WALLET]:[TOKEN] [PROFIT] [TOKEN]
Income:Crypto:Arbitrage [PROFIT_USD] USD

Міжланцюговий міст (Cross-Chain Bridge)

; Шаблон: Переказ активів між ланцюгами
YYYY-MM-DD * "Переказ [AMOUNT] [TOKEN] з [CHAIN1] в [CHAIN2]"
Assets:Crypto:[CHAIN1]:[TOKEN] -[AMOUNT] [TOKEN] {[PRICE] USD}
Assets:Crypto:[CHAIN2]:[TOKEN] [AMOUNT] [TOKEN] {[PRICE] USD}
Expenses:Crypto:Bridge:Fees [FEE] [TOKEN] {[PRICE] USD}
Assets:Crypto:[CHAIN1]:[TOKEN] -[FEE] [TOKEN] {[PRICE] USD}

; Приклад: Переказ ETH в Polygon
2024-02-05 * "Переказ 5 ETH з Ethereum в Polygon"
Assets:Crypto:Ethereum:ETH -5 ETH {2600.00 USD}
Assets:Crypto:Polygon:ETH 5 ETH {2600.00 USD}
Expenses:Crypto:Bridge:Fees 0.01 ETH {2600.00 USD}
Assets:Crypto:Ethereum:ETH -0.01 ETH {2600.00 USD}

Шаблони для оптимізації оподаткування

Збір податкових збитків (Tax Loss Harvesting)

; Шаблон: Збір податкових збитків (Tax loss harvesting)
YYYY-MM-DD * "Збір податкових збитків (Tax loss harvesting) - Продаж [CRYPTO] зі збитком"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[HIGH_COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:USD [PROCEEDS] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD
Expenses:CapitalLoss:Crypto [LOSS] USD

; Приклад: Збір збитків ADA
2024-12-15 * "Збір податкових збитків (Tax loss harvesting) - Продаж ADA зі збитком"
Assets:Crypto:Binance:ADA -1000 ADA {0.60 USD}
Assets:Crypto:Binance:USD 445.00 USD
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USD
Expenses:CapitalLoss:Crypto 150.00 USD

Довгостроковий приріст капіталу

; Шаблон: Продаж з довгостроковим приростом капіталу
YYYY-MM-DD * "Довгостроковий продаж - [CRYPTO] утримувався > 1 року"
date-acquired: "[PURCHASE_DATE]"
holding-period: "[DAYS] days"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:USD [PROCEEDS] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD
Income:CapitalGains:LongTerm [GAIN] USD

; Приклад: Довгостроковий продаж BTC
2025-02-01 * "Довгостроковий продаж - BTC утримувався 382 дні"
date-acquired: "2024-01-15"
holding-period: "382 days"
Assets:Crypto:Coinbase:BTC -1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD 55000.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
Income:CapitalGains:LongTerm 9950.00 USD

Шаблони для звірки

Щомісячна перевірка балансу

; Шаблон: Щомісячні твердження про баланс
YYYY-MM-DD balance Assets:Crypto:[EXCHANGE]:[CRYPTO] [EXPECTED_BALANCE] [CRYPTO]
YYYY-MM-DD balance Assets:Crypto:Wallet:[WALLET]:[CRYPTO] [EXPECTED_BALANCE] [CRYPTO]

; Приклад: Перевірка балансу за січень
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:Wallet:Ledger:BTC 1.0 BTC

Оновлення цін

; Шаблон: Щоденні оновлення цін
YYYY-MM-DD price [CRYPTO] [PRICE] USD

; Приклад: Щоденні ціни
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USD
2024-01-15 price ADA 0.50 USD

Інструкції з використання

  1. Скопіюйте відповідний шаблон для вашого типу транзакції
  2. Замініть заповнювачі (показані в [КВАДРАТНИХ ДУЖКАХ]) фактичними значеннями
  3. Відрегулюйте назви рахунків відповідно до вашої структури рахунків
  4. Додайте метадані за потреби для податкової звітності або відстеження
  5. Перевірте розрахунки перед завершенням записів

Найкращі практики

  • Використовуйте узгоджені правила найменування
  • Включайте ідентифікатори транзакцій у метадані
  • Ретельно документуйте складні транзакції
  • Перевіряйте обмінні курси та ціни
  • Регулярно створюйте резервні копії файлів

Ці шаблони забезпечують міцну основу для обліку криптовалют у Beancount.io. Налаштуйте їх відповідно до своїх конкретних потреб і моделей торгівлі.