PNL calculation for each transaction type

This article explains how each transaction type impacts the PNL calculation.

Transfers of crypto between your own accounts (deposits and withdrawals) do not affect your gains or losses, so there's generally no need to reflect them in your transaction history.
However, if the transfer fee is included in the exchange's file or provided via API integration, it will be recorded as a transfer fee (SENDFEE). Transfer (Deposit/Withdrawal) History between Accounts
 

 

1. Australia

If you tax file in Australia, please refer to the below help page:

PNL Calculation for Each Transaction Type in cryptact for Australian Tax Filing (Australia)
 

2. Canada

If you tax file in Canada, please refer to the below help page:

PNL Calculation for Each Transaction Type in cryptact for Tax Filing (Canada)

 

3. Japan, India and Others

No. Transaction type
("Action" column in the custom file)
How it is processed PNL impact?

Examples

1 Buy (BUY) Purchased at the price*1 on the transaction date and time ×*7 ・Buy crypto on exchanges
・Peer to peer trading
2 Sell (SELL) Sold at the price*1 on the transaction date and time 〇 ・Sell crypto on exchanges
・Peer to peer trading
3 Bonus (BONUS) Profit recognized at the price*1 on the transaction date and time 〇 ・Airdrop
・Campaign reward
・Referral reward
4 Pay (PAY) Sold at the price*1 on the transaction date and time 〇 Paid for goods/services in a cryptocurrency
5 Transfer Fee (SENDFEE) Decrease the quantity*3 without affecting the PNL*9 ×*4 Paid a transfer fee
6 DeFi Fee (DEFIFEE) Loss recorded at the book price*2 〇 Paid a gas fee for a DeFi transaction
7 Mining (MINING) Profit recognized at the price*1 on the transaction date and time 〇 Received a reward for mining
8 Staking Income (STAKING) Profit recognized at the price*1 on the transaction date and time 〇 Received a reward for staking
9 Lending (LENDING) Profit recognized at the price*1 on the transaction date and time 〇 Received a lending interest
10 Borrow (BORROW) Incorporate the price for the stated date and time into the book price*2 × Borrowed coins
11 Return Borrow (RETURN) PNL is calculated as (price at the time of borrowing - book price*2) * quantity 〇 Returned the borrowed coins
12 Lend (LEND) Locks in the stated quantity × Lent coins to a friend
13 Recover Lent (RECOVER) Releases the stated quantity × Received back the coins that were lent
14 Margin/Gain (MARGINGAIN)*8 Profit recognized at the price*1 on the transaction date and time 〇 Margin increased as a result of derivative trading (futures, FX, margin trading, etc.)
15 Margin/Loss (MARGINLOSS)*8 Loss recorded at the book price*2 〇 Margin decreased as a result of derivative trading (including liquidation)
16 Loss (LOSS) Loss recorded at the book price*2 〇 The exchange shut down, and the tax office confirmed it can be reported as a loss
17 Level Up (LEVELUP) Add to the book price*2 of NFTs × Level-up in STEPN
18 Rebrand (REBRAND)*10 Carry over the book value of the disposed coin to the acquired coin as-is × Coin rename, redenomination or token migration
19 Cash PL (CASH) Loss for the fiat currency portion 〇 Paid for goods/services in a fiat currency
20 Funding (FUNDING)*11 Loss recorded for the fiat currency amount entered as the fee 〇 Funding fees or interest paid on margin or derivative trading
21 Expense (EXPENSE) Loss recorded at the book price*2*6 〇 If the loss deduction is approved
22 Reduce (REDUCE) Decrease the quantity*3 without affecting the PNL × The exchange shut down, but the tax office doesn't allow it to be reported as a loss.
23 Tip (TIP) Sold at the price for the stated date and time or decrease the quantity without affecting the PNL *5 Sent a tip

If you file taxes in India, certain types of crypto gifts may not be subject to tax, depending on the circumstances. Examples include:

  • Gifts of crypto worth up to ₹50,000 received from friends or extended family
  • Gifts received from close family members such as parents or a spouse
While you may refer to this article for general guidance, please consult your tax advisor or accounting firm to confirm how these rules apply to your specific case. If the transaction is considered non-taxable, please record it as a BUY at the market price of INR, rather than as a BONUS at the received price. We strongly recommend checking with your accountant to determine the appropriate treatment.
 

*1 the price -> the market value obtained from cryptact (for supported coins only) / the transaction price provided by the exchange / the price entered by the user.

*2 the book price->the book value. The value of assets and liabilities included in the ledger.
The book price for a cryptocurrency is calculated based on all historical trades.

*3 the quantity -> the quantity of each coin.

*4 × -> the default behavior is to simply reduce the quantity. You can change the setting to include the fee in the PNL.

(Please refer to "Expense transfer fees").

*5 The National Tax Agency clearly stated in June 2021, in "Tax Treatment of Crypto Assets (FAQ)" No. 16 that gratuitous transfers are addressed. Accordingly, we have updated the tip calculation logic as follows.

Please note that whether a tip should be treated as a gratuitous transfer is ultimately determined by the relevant tax office.

Date and Time When the Tip Was Given Calculation Logic on cryptact
Until December 31, 2020, 23:59:59 Only the position decreases in a way that does not affect profit and loss.
From January 1, 2021, 0:00:00 onwards Sale at market price.

Example:

 

*6 The process will be the same as when selecting "Loss." However, the method of generating the transaction history differs. When selecting "Expense," two records will be created:

・A disposal record at market value (Transaction Type: "Expense")
・A disposal record for the fee currency (Transaction Type: "Sale of Fee Currency")
By combining the gains and losses from these two records, the loss will be recorded based on the average acquisition cost.

*7 In cryptocurrency-to-cryptocurrency transactions, the “×” indicates that the gain or loss is calculated based on the cryptocurrency received (the base currency). Since the cryptocurrency used for payment is treated as a disposal (sale), a gain or loss may arise even in a “buy” transaction. For details, please see “2.Calculating cryptocurrency prices” in "Calculation Methods."

*8 Derivative gains and losses (increases and decreases in margin) recorded in exchange files are reflected as "Margin/Gain" or "Margin/Loss" for files uploaded on or after September 17, 2026. Transactions uploaded before that date remain displayed as "Bonus" or "Loss", but they are processed in the same way in the PNL calculation. For how to enter them in a custom file, please see "2.11 Derivative Transactions" in "How to Create a Custom File".

*9 For deposit/withdrawal fees paid in fiat currency (e.g. JPY), the quantity of fiat currency is not tracked, so there is no impact on the PNL when "Expense transfer fees" is off. When it is on, the fee amount is recorded as a loss. For details, please see How to Handle "Fees in Fiat Currency" during Deposits and Withdrawals.

*10 For Rebrand, the disposed coin and the acquired coin cannot be the same coin. Fees cannot be entered; if a fee was incurred, please record it as a separate transaction.

*11 For Funding, only the "Fee" and "Fee Currency" values are used in the PNL calculation (the volume does not affect the PNL). Please select a fiat currency as the fee currency.