Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Экспорт сделок из брокерских систем: CSV, JSON, стандартизация и анализ

Каждый брокер и биржа формируют выгрузку сделок в собственном формате: разные названия колонок, разные разделители, разная кодировка. Без стандартизации данных из нескольких источников невозможно получить корректную сводную картину портфеля, рассчитать налоговую базу или загрузить историю в аналитический инструмент. Понимание структуры CSV и JSON-файлов позволяет автоматизировать этот процесс и снизить число ошибок при подготовке декларации 3-НДФЛ.

Автор: ~8 мин

Чем отличается CSV от JSON при экспорте истории сделок?

CSV (Comma-Separated Values) — табличный формат: каждая строка соответствует одной сделке, поля разделены запятой или точкой с запятой. Прост для просмотра в Excel, но не поддерживает вложенные структуры. JSON (JavaScript Object Notation) — иерархический формат: позволяет хранить вложенные данные (например, комиссии по подтипам). Удобен для программной обработки через Python или API. Большинство российских брокеров предоставляют CSV; криптобиржи чаще поддерживают оба формата.

Источник: ЦБ РФ

Какие поля обязательно должны быть в выгрузке сделок для налогового учёта?

Для корректного расчёта налоговой базы по НДФЛ в файле выгрузки должны присутствовать: дата и время сделки, тикер или ISIN инструмента, направление (покупка/продажа), количество, цена сделки, валюта расчётов, сумма комиссии и курс ЦБ на дату сделки (для валютных инструментов). Отсутствие хотя бы одного из этих полей приводит к необходимости ручного восстановления данных или запроса дополнительных отчётов у брокера.

Почему данные из разных брокеров сложно объединить напрямую?

Российские брокеры используют разные обозначения одних и тех же полей: «Дата сделки» у одного брокера, «Дата заключения» у другого, «Trade Date» у третьего. Кодировка файлов различается (UTF-8 и Windows-1251). Разделитель может быть запятой, точкой с запятой или табуляцией. Форматы дат (DD.MM.YYYY vs YYYY-MM-DD) и чисел (точка vs запятая как десятичный разделитель) также не совпадают. Всё это требует этапа нормализации перед объединением.

Как рассчитать налоговую базу при продаже бумаг, купленных в разные периоды?

В России для ценных бумаг применяется метод FIFO (First In, First Out): при продаже партии акций сначала списываются те, что были куплены раньше. Для корректного расчёта необходима полная история всех покупок данного инструмента с датами и ценами в рублях по курсу ЦБ на дату каждой сделки. Ошибка в хронологии или пропуск одной сделки в истории ведёт к неверному расчёту налоговой базы и потенциальным претензиям налогового органа.

Какие инструменты позволяют анализировать экспортированные данные о сделках?

Для базового анализа подходит Excel или Google Sheets — сводные таблицы позволяют агрегировать P&L по инструментам и периодам. Для автоматизации и работы с несколькими брокерами используют Python (библиотеки pandas, openpyxl). Специализированные сервисы для российских инвесторов: Intelinvest, Snowball Income, ЛК брокеров с агрегацией. Для крипто-истории — Koinly, CoinTracker (поддерживают CSV из основных бирж). Налоговую базу всегда сверяйте с отчётом брокера, а не только с собственными расчётами.

Источник: ЦБ РФ

Нужно ли хранить исходные файлы выгрузок после подачи декларации?

Да. Налоговый орган вправе запросить подтверждающие документы в течение трёх лет после подачи декларации (срок исковой давности по НК РФ). Исходные CSV/JSON-файлы с историей сделок, брокерские отчёты и расчётные таблицы являются первичными документами, подтверждающими правильность исчисления НДФЛ. Рекомендуется хранить как оригинальные файлы брокера, так и собственные расчётные таблицы.

Источник: ЦБ РФ

Где взять курс ЦБ РФ для пересчёта валютных сделок в рубли?

Официальные курсы ЦБ РФ на конкретную дату доступны на сайте cbr.ru в разделе «Статистика» — «Обменные курсы». Для пакетной загрузки доступен XML-API ЦБ без ключа. Именно этот курс используется для расчёта налоговой базы по НДФЛ при сделках с иностранными инструментами и криптовалютой.

Эксклюзив от ИнвестХомяка

Форматы экспорта сделок у крупных российских брокеров (ориентировочно, 2025–2026)

Брокер/платформаДоступные форматыОсобенности выгрузки
Тинькофф Инвестиции (T-Банк)CSV, Excel (.xlsx)Выгрузка по периоду из ЛК; разделитель — точка с запятой; кодировка UTF-8
Сбербанк ИнвестицииExcel (.xlsx), XMLФорматы брокерского отчёта; требуют ручной нормализации для импорта в сторонние сервисы
БКС БрокерCSV, Excel, PDFНесколько типов отчётов: сделки, движение средств, позиции — необходимо объединять вручную
Криптобиржи (Bybit, OKX и др.)CSV, JSONРаздельные выгрузки для спота, фьючерсов, стейкинга; часто требуют нормализации дат и валют

Сравнение подходов к стандартизации данных из нескольких брокеров

КритерийРучная обработка в ExcelАвтоматизация через Python/pandas
Порог входаНизкий — достаточно базовых навыков ExcelСредний — требуется знание Python на уровне начинающего
Скорость при большом объёме сделокНизкая — десятки часов при 500+ сделкахВысокая — скрипт обрабатывает тысячи строк за секунды
Риск ошибкиВысокий при ручном копировании и нормализацииНиже после отладки; ошибки в логике повторяются системно
Воспроизводимость при добавлении нового брокераТребует повторного ручного трудаДобавление нового парсера без переработки основной логики
СтоимостьТолько времяВремя на разработку; далее — минимальные затраты

Как стандартизировать и объединить историю сделок из нескольких источников

  1. Выгрузите историю сделок из каждого брокера за нужный период

    В личном кабинете каждого брокера найдите раздел «Отчёты» или «История сделок» и скачайте файл за отчётный год. Убедитесь, что выгрузка содержит все обязательные поля: дату, тикер, количество, цену, комиссию и валюту.

  2. Определите структуру каждого файла и составьте схему маппинга

    Откройте каждый файл и зафиксируйте названия колонок, разделитель, кодировку и формат дат. Составьте таблицу соответствия: как поле называется у каждого брокера и как оно должно называться в вашем едином формате.

  3. Нормализуйте данные к единому формату

    Приведите все файлы к единой схеме: одинаковые названия колонок, формат дат YYYY-MM-DD, десятичная точка, кодировка UTF-8, валюта расчётов явно указана. Для валютных инструментов добавьте колонку с курсом ЦБ на дату сделки.

  4. Объедините данные и проверьте корректность

    Соедините нормализованные таблицы в одну. Проверьте дубликаты по ключевым полям (дата + тикер + количество + цена), убедитесь в отсутствии пропусков в обязательных колонках и сверьте итоговые суммы с брокерскими отчётами.

  5. Импортируйте в аналитический инструмент и рассчитайте налоговую базу

    Загрузите стандартизированный файл в выбранный сервис или таблицу для расчёта P&L методом FIFO. Сверьте результат расчёта налоговой базы с данными из брокерской справки 2-НДФЛ — расхождения требуют проверки истории сделок.

Частые вопросы

Где взять курс ЦБ РФ для пересчёта валютных сделок в рубли?

Официальные курсы ЦБ РФ на конкретную дату доступны на сайте cbr.ru в разделе «Статистика» — «Обменные курсы». Для пакетной загрузки доступен XML-API ЦБ без ключа. Именно этот курс используется для расчёта налоговой базы по НДФЛ при сделках с иностранными инструментами и криптовалютой.

Может ли брокер автоматически рассчитать и удержать НДФЛ по всем моим сделкам?

Российский брокер является налоговым агентом и удерживает НДФЛ по операциям, проведённым через него. Однако по сделкам на зарубежных биржах и криптобиржах брокер не является агентом — инвестор обязан самостоятельно рассчитать налог и подать декларацию 3-НДФЛ.

Как обработать файл в кодировке Windows-1251, если он открывается с кракозябрами?

В Excel при открытии CSV используйте «Данные» — «Из текста/CSV» и укажите кодировку Windows-1251 (Кириллица). В Python используйте параметр encoding='cp1251' при вызове pd.read_csv(). После нормализации пересохраните файл в UTF-8.

Обязан ли я хранить историю сделок в структурированном виде или достаточно брокерских отчётов?

Закон не требует конкретного формата хранения. Достаточно оригинальных брокерских отчётов и документов, подтверждающих расчёт налоговой базы. Структурированная база сделок — инструмент для вашего удобства и снижения риска ошибки при самостоятельном расчёте.

Что делать, если история сделок за прошлые годы частично утеряна?

Запросите архивные брокерские отчёты напрямую у брокера — большинство обязаны хранить данные не менее пяти лет. Для восстановления истории по ценным бумагам можно запросить справку о движении по счёту депо у депозитария. Без полной истории корректный расчёт налоговой базы методом FIFO невозможен.

Источники