...

How to Calculate Crypto Profits and Prepare a Report for the Tax Authorities or a Bank

How to calculate crypto profits Guides
The bank asks you to verify income from crypto, tax authorities in the EU receive exchange data under DAC8, and there are hundreds of transactions across several platforms. We explain how to compile your history, calculate your profit, and prepare a report that both the bank and the tax authority will understand.

In Brief

  • Profit from cryptocurrency is sale proceeds minus documented purchase expenses. Without proof of the purchase price, the tax authority may treat the entire sale amount as income.
  • Data sources: trade exports from exchanges, P2P order history with bank statements, and transfer hashes between your own wallets.
  • The accounting method is not defined by law in Ukraine. Calculations use FIFO (first bought — first sold) or the average price. Choose one and apply it consistently.
  • Under draft law 10225-d, tax arises when converting to fiat, crypto-to-crypto exchanges are not taxed, and losses are carried forward. Until the law is adopted, the general rules apply.
  • The final report for the bank is a short annual summary plus statements. For the tax authority, it is a calculation for each sale.

There is not much time left until the end of the year — now is the best time to compile your data for 2026. If you are a tax resident of Ukraine, the annual tax return must be filed by May 1 of the following year. If you live in the EU, in 2027 the tax authority will receive exchange data for 2026 under DAC8. And a bank may ask about the source of your funds at any time. In all three cases, you need the same foundation — a well-organized transaction history and a clear profit calculation.

What counts as profit from cryptocurrency

The basic formula is almost the same everywhere:

Profit = sale amount − purchase cost of the coins sold − fees

Important details:

  • Only realized profit is taken into account. An increase in the price of coins you hold is not income until you sell them.
  • Expenses must be documented. A purchase statement, a P2P order with a bank statement confirming payment. Without documents, the expense will not be recognized.
  • What counts as a sale depends on the rules. Under draft law 10225-d, a sale is any transfer of cryptocurrency in exchange for money, goods, or services. Payment with a crypto card can formally also be considered a sale.

Which rules to apply

QuestionUkraine nowUkraine under Draft Law 10225-dEU countries
Is there a special regime for cryptoNo, general Tax Code rulesYesExists in most countries
Rate18% personal income tax + 5% military levy18% + 5% on profit; preferential 5% + 5% in the first yearDepends on the country
When tax arisesThe mechanism is not definedWhen exchanged into fiatUsually upon sale; crypto-to-crypto exchange rules vary
Crypto-to-crypto exchangeNot definedNot taxedDepends on the country
LossesNot definedCarried forward to subsequent yearsDepends on the country
Accounting methodNot definedNot specified in the draftOften FIFO or average cost

Read more about the status of the bill in the guide crypto tax in Ukraine. If you are a tax resident of an EU country, apply the rules of that country, and read about data sharing by exchanges in the guide DAC8: the exchange requires a tax number.

Example: FIFO and average price

Suppose that over the course of a year you:

  • bought 1,000 USDT at UAH 41.0 — spent UAH 41,000;
  • bought another 1,000 USDT at UAH 42.0 — spent UAH 42,000;
  • sold 1,500 USDT at UAH 43.0 — received UAH 64,500.
MethodCost of 1,500 USDT soldProfitTax under the draft law (18% + 5%)
FIFO1,000 × 41.0 + 500 × 42.0 = UAH 62,000UAH 2,500UAH 575
Average price1,500 × 41.5 = UAH 62,250UAH 2,250UAH 517.50

The difference is small, but across hundreds of trades it adds up. The main rule is to choose one method and apply it to all trades for the year.

How to calculate profit for the year: step by step

  1. Make a list of every place where you held cryptocurrency. Exchanges, P2P, wallets, crypto cards. Don’t forget closed accounts.
  2. Export your exchange history. Binance, Bybit, WhiteBIT, OKX, and others let you download reports on trades, deposits, and withdrawals in CSV or Excel. Use the full year.
  3. Export P2P orders and match them with your bank records. For each order, find the payment in your bank statement with the same amount and date. This is proof of the price in hryvnia.
  4. Mark transfers between your own wallets. Transaction hashes show that you moved your own coins rather than sold them or received income.
  5. Combine everything into one table or calculator. Columns: date, transaction type, asset, quantity, price in hryvnia or euros, fee, source. Crypto tax calculators like Koinly or CoinTracking import exchange files, but Ukrainian rules are not built into them — check the result.
  6. Choose an accounting method and calculate each sale. FIFO or average cost, but use one method for the entire year.
  7. Summarize the year. Total sales, purchase cost, fees, profit or loss.
  8. Keep the original files. Exchange exports, bank statements, hashes. A calculation without the underlying data proves nothing.

What report the bank requires

The bank does not need a tax calculation for each transaction. What matters is understanding where the money came from. A good package looks like this:

  1. One-page summary: period, exchanges, how much was invested, how much was withdrawn, total profit.
  2. Exchange statement showing the sale and withdrawal of funds that were credited to the account.
  3. Purchase history: statements or P2P orders showing what funds were used to buy the cryptocurrency.
  4. Source of the initial funds: salary, sale of property, savings — OK-7 certificate, contract, or statements.
  5. Tax return, if you declared the income.

We explained how to respond to a bank’s request in Ukraine in the article PrivatBank Requested Proof of Source of Funds. How to increase your transfer limit with such documents is explained in the guide how to increase your transfer limit.

What data to get and where to get it

SourceWhat to exportWhy
ExchangesTrade, deposit, and withdrawal historyPurchase and sale prices, fees
P2POrders with ID, amount, and counterpartyPrice in hryvnia, connection to bank payments
BankCard and account statementsProof of payment and receipt of funds
WalletsTransaction hashes from the block explorerTransfers between your own addresses
Crypto cardsTransaction historySpending crypto may be considered a sale

Risks

  • Lost data. Exchanges shut down, and accounts get blocked. Export your history every year, not right before an audit.
  • Import errors. Calculators confuse transfers between your own wallets with sales. Check every large transaction manually.
  • Rule changes. If the Rada adopts 10225-d, the calculation procedure may be clarified. Saved source data will make it possible to recalculate.
  • Mismatch with exchange data. In the EU, tax authorities will compare the tax return with exchange reports under DAC8. Discrepancies are a reason for questions.

FAQ

How do you calculate the profit from selling cryptocurrency?

From the sale amount, subtract the purchase cost of the coins sold and the fees. The purchase cost must be confirmed with documents: an exchange statement or a P2P order together with a bank statement confirming payment.

Which accounting method should you use: FIFO or the average cost?

In Ukraine, the method is not defined by law, and draft law 10225-d does not specify it either. Use FIFO or the average cost method, but apply one method to all transactions for the year. In EU countries, the rules of the specific country apply.

Should you account for exchanging one cryptocurrency for another?

Under draft law 10225-d, such an exchange is not taxed, but it still needs to be recorded: it changes the purchase cost of your coins. In EU countries, the rules vary.

How do you export your trade history from Binance or Bybit?

In the order history or reports section on the exchange, select the period and transaction type, then download the file in CSV or Excel format. Export trades, deposits, and withdrawals separately for each year.

What documents does a bank need to verify income from crypto?

A brief summary for the period, an exchange statement on the sale and withdrawal, the cryptocurrency purchase history, proof of the source of the initial funds, and a tax return if you filed one.

Do crypto tax calculators help?

Yes, they save time on importing exchange files and calculations. But Ukrainian rules are not built into them, and transfers between your own wallets are sometimes recognized as sales. Check the result manually.

Rate author
BullRun
Add a comment

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.