Перемещение монет между двумя адресами одного владельца обычно не меняет общий размер портфеля, но меняет его местоположение. В учёте важно связать списание с одного кошелька и поступление на другой, отдельно зафиксировать сетевую комиссию и не записать входящую сумму как новую покупку. Алгоритм ниже подходит для ручной сверки или таблицы. Для налогового учёта правила могут зависеть от страны и типа актива, поэтому техническую запись операции не следует автоматически считать налоговым заключением.
Сначала определите, чей это перевод
Соберите адрес отправителя, адрес получателя, сеть, актив и примерное время операции. Убедитесь, что оба адреса действительно контролируются вами или вашим портфельным учётом как собственные. Похожий адрес, общий биржевой адрес и адрес кастодиального сервиса сами по себе не доказывают принадлежность. Если получатель – биржа, перевод может потребовать Memo или Tag; полезно свериться с материалом о Memo и Tag при переводе. Не включайте приватные ключи, seed-фразы и резервные коды в таблицу.
Если один адрес принадлежит бирже, разделите две ситуации: внутреннее перемещение между вашими аккаунтами внутри одной площадки и перевод по блокчейну на внешний адрес. Внутренний перевод может отображаться во внутреннем журнале, но не иметь отдельной публичной транзакции. Внешний перевод обычно имеет хеш в сети. Эти события нельзя объединять в одну запись без проверки отчёта биржи. Сначала определите, был ли создан on-chain перевод, а затем найдите подтверждение у отправителя и получателя.
Найдите исходящую транзакцию
В истории кошелька откройте операцию и перепишите сеть, токен, сумму, адрес назначения, время и хеш транзакции. Проверьте хеш в обозревателе соответствующей сети, а не в первом попавшемся поиске: один и тот же тикер может существовать на разных сетях и иметь разные адреса контракта. Сверьте статус, количество подтверждений и поля From и To. Если нужно, используйте инструкцию как найти хеш и проверить перевод.
Запишите отдельно количество актива, которое ушло из кошелька, и комиссию, списанную сетью. В некоторых сетях комиссия оплачивается отдельным активом, поэтому баланс исходного токена и баланс для оплаты газа изменятся по-разному. Для пакетной транзакции или смарт-кошелька детализация может содержать несколько действий. Смотрите на фактические события перевода и изменение баланса, а не только на общую подпись, которую показал интерфейс кошелька. Если статус pending, пока не сопоставляйте его с окончательным поступлением.
Сопоставьте входящую запись
На адресе получателя найдите поступление в той же сети и по тому же активу. Сверьте контракт токена, сумму, хеш и блок. Во многих сетях входящая запись будет иметь тот же хеш, но отображаться как отдельное событие Transfer. Учитывайте точность токена: значение в интерфейсе округляется, а блокчейн хранит целое число минимальных единиц. Комиссия отправителя часто объясняет разницу между суммой, списанной со счёта, и поступившей суммой, но проверьте детали конкретной сети и тип транзакции.
Когда обе стороны совпали, заведите одну связанную пару записей: исходящий перевод из кошелька A и поступление в кошелёк B. Пометьте их как внутреннее перемещение или transfer between own wallets, если ваша система учёта поддерживает такой тип. Используйте общий идентификатор, например хеш, и добавьте две отметки времени, если интерфейсы показывают разные часовые пояса. Не записывайте поступление как доход или новую покупку только потому, что кошелёк B раньше не содержал этот актив.
Как отразить комиссию и стоимость
Комиссия сети – отдельное событие расхода, а не часть самого перемещения между вашими адресами. В портфельной таблице сохраните актив комиссии, количество, сеть и хеш, а также стоимость в выбранной валюте на момент операции, если вы ведёте оценку в деньгах. Не используйте текущую цену вместо цены на дату операции, если модель учёта требует исторической оценки. Если комиссия оплачена из отдельного баланса, отразите её у того кошелька, с которого она фактически списалась.
Для обычного внутреннего перевода между своими адресами общий объём токенов до и после перемещения должен совпадать за вычетом комиссии, если комиссия взята в переводимом токене. Если газ списан в другой монете, стоимость портфеля изменится только на этот расход и рыночные колебания, а не на весь переведённый объём. Сверьте конечные балансы кошельков и общий баланс портфеля. Если ваша система не умеет связывать transfer, используйте категорию без реализации прибыли и отдельно подпишите, что обе стороны принадлежат одному владельцу.
Типичные ошибки и проверка результата
Частая ошибка – записать поступление как приобретение, а исходящую сумму как продажу. Тогда отчёт удваивает оборот и может показать фиктивный доход или убыток. Другая ошибка – объединить токены одного названия из разных сетей. Всегда сверяйте адрес контракта и chain ID. Третья ошибка – полагаться на статус в одном кошельке: обновление индекса может задержаться, а перевод в другую сеть не будет отображаться в исходном интерфейсе. Для мостового маршрута ищите связанные исходное и целевое сообщения отдельно.
После сверки должны выполняться три условия: на отправителе есть исходящая операция с подтверждённым хешем; на получателе найдено соответствующее поступление в той же сети; общий портфель изменился только на комиссию и рыночную переоценку. Сохраните выгрузку, идентификатор сети и дату проверки. Если сумма не совпадает, сначала проверьте decimals, токен-контракт, комиссии и возможные промежуточные адреса. Если транзакция отправлена не туда, дальнейшие действия зависят от сети и контроля над адресом, гарантии возврата нет.



