Как ФНС считает доход с криптовалюты — FIFO, cost basis, P2P
Разбираем какие методы расчёта дохода допустимы в РФ: FIFO по умолчанию, средневзвешенный, идентификация партий и тонкости P2P.
Опубликовано 30.04.2026
Когда у вас 100 USDT и вы 5 раз докупали по разным курсам, потом продали половину — какая часть из них «продана»? Какой курс брать как cost basis? В РФ нет специальных правил для криптовалюты — ФНС применяет общие принципы из НК РФ. На практике это означает FIFO по умолчанию и кучу серых зон.
Что такое cost basis
Cost basis — стоимость покупки актива, которую вы вычитаете из цены продажи чтобы получить доход.
Простой пример:
- Купил 100 USDT за 95 ₽ = 9 500 ₽
- Продал 100 USDT за 105 ₽ = 10 500 ₽
- Cost basis = 9 500 ₽
- Доход (налогооблагаемая база) = 10 500 - 9 500 = 1 000 ₽
- Налог 13% = 130 ₽
Когда покупок несколько — встаёт вопрос какие именно USDT вы продали.
Методы учёта в мировой практике
FIFO (First In First Out) — «первые пришли, первые ушли»
Когда продаёте, считается что продали самые старые. Сначала уходят USDT купленные раньше всего.
Пример:
- 1 янв: купил 100 USDT @ 90 ₽
- 1 фев: купил 100 USDT @ 100 ₽
- 1 мар: продал 50 USDT @ 105 ₽
По FIFO продаются 50 USDT из январской партии (купленных по 90).
- Доход = 50 × (105 - 90) = 750 ₽
LIFO (Last In First Out) — «последние пришли, первые ушли»
Продаются самые свежие. По примеру выше — продали бы из февральской партии.
- Доход = 50 × (105 - 100) = 250 ₽ (меньше налог)
LIFO в РФ для физлиц не разрешён. ФНС применяет FIFO.
Средневзвешенная цена
Усредняем все покупки.
- Средняя cost basis = (100 × 90 + 100 × 100) / 200 = 95 ₽/USDT
- Доход с продажи 50 USDT = 50 × (105 - 95) = 500 ₽
В НК РФ для ценных бумаг прямо разрешён средневзвешенный метод (ст. 214.1). Для криптовалюты — нет прямого указания, но ФНС в своих письмах допускает.
Specific identification — конкретная партия
Указываете конкретно: «продаю те 50 USDT, что купил 1 февраля». Требует детальной документации каждой партии. На практике для физлица в РФ слишком сложно — мало кто использует.
Что разрешает ФНС в 2026
В НК РФ специальных норм для криптовалюты нет. ФНС применяет:
- ст. 220 НК РФ (имущество): доход = выручка - расходы. Метод не указан → по умолчанию FIFO
- Письмо Минфина 03-04-05/52635 от 2018: допустим средневзвешенный
- Принцип «осмотрительности»: ФНС склонна применять метод с большим налогом при споре
Практический вывод: используйте FIFO. Если применили средневзвешенный — будьте готовы обосновать выбор и приложить расчёт.
Где это критично — пример
Сценарий: в течение 2025 года вы купили USDT 50 раз по разным ценам, затем 10 раз продавали.
- При FIFO налог может быть 80 000 ₽
- При средневзвешенном — 60 000 ₽
- При LIFO (запрещён) — 40 000 ₽
Разница между методами — десятки тысяч ₽. Выбор метода важен.
Тонкости P2P-сделок
P2P (Bybit, OKX, Bitget) — особый случай для ФНС:
1. Курс P2P ≠ курс ЦБ
Если на бирже вы продали USDT по 96 ₽, а официальный курс ЦБ доллара в этот день был 95 ₽, то:
- Для дохода ФНС возьмёт фактическую сумму получения в рублях (96 ₽ × 100 = 9 600 ₽)
- Для cost basis — фактическую сумму покупки
То есть отчитываемся в рублях фактически, не «по курсу ЦБ от USDT». Курс ЦБ нужен только для конвертации USDT → ₽ если расчёт шёл в крипте.
2. Идентификация контрагента
ФНС иногда запрашивает: «Кому вы продали USDT?» На P2P-биржах это анонимно — TG-ник, чат внутри биржи. Для документации сохраняйте:
- Скриншот ордера с биржи (с номером order ID)
- Подтверждение поступления денег на карту
- Order history exports с биржи (раз в квартал)
3. P2P → НЕ задекларированные деньги на карту
Если получили 200 000 ₽ от P2P → банк может задать вопрос (особенно при сумме >600 000 ₽ за период). Декларация 3-НДФЛ снимает риск 115-ФЗ: если деньги задекларированы — банк закрывает вопрос.
Стейкинг — отдельный случай
Стейкинг-вознаграждение — новый доход, не реализация старого актива. FIFO не применяется к самому стейкингу.
Когда вы потом продаёте застейканную крипту:
- Cost basis = курс ЦБ в день получения вознаграждения
- Доход при продаже = разница между ценой продажи и cost basis
То есть стейкинг даёт двойное налогообложение:
- В момент получения — НДФЛ как «иной доход»
- В момент продажи — НДФЛ на разницу с cost basis
Это плохо влияет на эффективную ставку. Например:
- Получили 1 SOL по 14 000 ₽ (заплатили 13% × 14 000 = 1 820 ₽ налога с дохода)
- Продали через год за 18 000 ₽ (доход 4 000 ₽ × 13% = 520 ₽)
- Итого с одного SOL отдали 2 340 ₽, или 13% от ОБЩЕЙ суммы 18 000 ₽
То есть налог не двойной, а распределённый. Главное — учесть оба этапа.
Что делать если cost basis не известен
Купили крипту 5 лет назад на P2P от незнакомца, выписки нет → как считать cost basis?
Подход 1: взять курс ЦБ на день получения по блокчейн-выписке. Tronscan/Etherscan показывают timestamp поступления.
Подход 2: если совсем нет данных — указать 0. Тогда вся сумма продажи = доход. Невыгодно, но легально.
⚠ Не пишите ноль для всего портфеля если реально покупали — это завышает налог в разы. Лучше восстановите хотя бы курсовую цену по блокчейну.
Bridges и обмен крипты на крипту
Перевод BTC → USDT через bridge (Wormhole, Stargate) или через DEX swap — это две сделки:
- Продажа BTC по курсу ЦБ на день обмена → доход/убыток считается
- Покупка USDT по той же сумме → новая cost basis
Это самая частая ошибка в декларациях: люди думают что обмен BTC → USDT не требует декларации. Требует.
Чек-лист
- ✅ Использую FIFO как основной метод (или средневзвешенный с обоснованием)
- ✅ Веду таблицу всех покупок с датами и курсом
- ✅ Каждый swap крипты на крипту считаю как 2 сделки
- ✅ Стейкинг-вознаграждения отдельная статья дохода (не путать с продажей)
- ✅ Сохраняю выписки с бирж и обменников минимум 4 года
- ✅ Если документации нет — восстанавливаю по блокчейну, не пишу 0