Hands writing notes beside a laptop

When a wallet transfer looks like a sale

How internal moves between self-custody addresses inflate disposal counts—and how to tag them before lot matching.

Exchange CSVs rarely announce that a withdrawal landed in a wallet you still control. The row simply shows coins leaving. If you classify that row as a disposal, your lot register invents a sale that never happened, and your accountant inherits a phantom gain.

A practical tag

Before matching lots, walk every withdrawal and deposit pair across your own addresses. When amounts and timestamps align within a reasonable window, mark both sides as a transfer in the organizer. Leave a note with the destination address suffix so the packet explains the skip.

When alignment fails

Sometimes fees or partial arrivals break a clean match. Record the uncertainty rather than forcing a disposal. The open-question list in the handoff packet exists for these lines. Accountants in Hong Kong routinely prefer a flagged transfer over a reconstructed sale with no invoice.

Session tip

In our export review, transfer tagging is the first pass. Classification goes faster when the disposal list is already honest.