Skip to the article

Internal transfers

Why moving an asset between two of your accounts is not a disposal, and what to do when Conta Finance cannot see both sides.

All the accountsA wallet or an exchange account your organization controls. of an organization form one portfolio. When you move an asset from one of your accounts to another, you still own it. So the transfer is not a disposalAn asset leaving your portfolio, by a sale, a swap or a payment. It consumes lots.: no lotOne acquisition of an asset: how much came in, when, and at what cost. is consumed and no gain is realized.

Cost basis counts only what crosses the edge

Cost basis reads the direction of each movement:

  • An asset that comes in from outside your portfolio builds an acquisition lot, at its price on that day.
  • An asset that goes out to outside your portfolio is a disposal. It consumes lots and realizes a gain or a loss.

A transfer between two of your accounts stays inside the portfolio. Conta Finance skips both of its movements. The lots stay as they are, with their first cost.

When Conta Finance sees both sides

Conta Finance recognizes a transfer by itself when the address on the other side of the movement is one of your accounts on the same blockchain. You do not have to do anything for these transfers. Between two of your monitored wallets, the System rule "Internal transfers" also gives these movements the category Internal transfer. See How classification works.

It cannot see that the other side is yours in these cases:

  • An exchange. An exchange reports a deposit with no sender, and a withdrawal to an address on another platform.
  • Another blockchain. A bridge records two separate transactions on two platforms. See Potential bridges.
  • An account you do not track, such as a custody account or an old wallet you did not add.

In these cases, the movement counts in cost basis until you say otherwise.

The Internal transfer category

A movement with the category Internal transfer never counts in cost basis, whatever the other side is. Contract deposit is the other category that changes cost basis figures, for an asset you send into a contract that still holds it for you: see Contract deposits. All other categories only label the movement. See Categories, subcategories and tags.

You can give it in several ways:

  • Select the movements and categorize them. See Categorize movements.
  • Write a rule, for example for every withdrawal from your exchange account to your wallet. See Create a rule.
  • Select Mark as internal transfer in the Potential bridgeTwo movements on two platforms that Conta Finance thinks are one transfer. A person must confirm the pair. window.

The effect follows the name. If you rename the category, it no longer takes movements out of cost basis.

Exchange deposits and withdrawals

When you send an asset from your wallet to your exchange account, Conta Finance records two movements: the outflow from the wallet and the deposit on the exchange. Give both the Internal transfer category.

If only one side has it, the other side still counts. For example, if only the outflow has it, the deposit builds a new lot at the price of that day, and the asset is counted twice.

When one side is not tracked

If the other account is yours but Conta Finance does not track it, you have two choices:

  • Add the account. Then transfers on the same blockchain are recognized by themselves. See Add a wallet and Connect an exchange.
  • Take the movement out of cost basis. Give it the Internal transfer category, or select Exclude from cost basis. The second keeps the category as it is. See Categorize movements.

The lot then stays in your cost basis, because the asset is still yours. When the asset comes back to a tracked account, treat that inflow the same way, so it does not build a second lot.

An example

Your account Treasury buys 2 ETH at $2 000 each. Later it sends the 2 ETH to your account Ops on the same blockchain. Ops then sends them to your exchange account, on a day when ETH is at $3 000.

StepWithout the categoryWith Internal transfer on both sides
Treasury buys 2 ETHA lot of 2 ETH at $2 000 eachA lot of 2 ETH at $2 000 each
Treasury sends to OpsSkipped: both accounts are yoursSkipped: both accounts are yours
Ops sends to the exchangeA disposal: $2 000 of realized gainSkipped
The exchange receivesA new lot of 2 ETH at $3 000 eachSkipped
Realized gain$2 000, though you sold nothing$0
Cost of the 2 ETH you hold$6 000$4 000

The second column is correct: you still hold the same 2 ETH, bought for $4 000.