Валерий Чистяков
Валерий Чистяков личный блог
26 марта 2020, 13:49

Отчитываемся перед налоговой по доходам Interactive Brokers за 5 минут

Все мы знаем, что зарубежные брокеры не являются налоговыми агентами в РФ, соответственно, отчитываться по доходам и платить налоги с них мы должны самостоятельно. Вопрос отчитываться или нет у меня не стоял, поэтому, чтобы не тратить каждый год уйму времени на достаточно трудоемкие расчеты, я написал скрипт, который берет отчеты Interactive Brokers и формирует на основе них пояснительную записку со всеми пояснениями и расчетами для налоговой. Вам останется только приложить этот файл к декларации 3-НДФЛ, а в нее саму внести лишь два пункта (см. ниже).

Ограничения по применению

Поскольку я занимаюсь долгосрочными инвестициями, я не использую такие инструменты, как фьючерсы, опционы, а также никогда не использую плечо и сделки SHORT. В связи с этим, такие операции скриптом не поддерживаются. Если у кого-то есть желание — могут дописать сами.

Подготовка к использованию
  • Установите Python 3+
  • Скачайте архив со скриптом отсюда и распакуйте его в произвольную папку на компьютере
  • Скачайте годовые отчеты из личного кабинета брокера в формате .csv (необходимы за все года для корректного расчета сделок продажи), переименуйте их в {год отчета}.csv (например «2018.csv») и положите в папку со скриптом
  • Исправьте дату открытия счета в скрипте ib.py на свою (строка StartDate = «20.03.2019»)
  • Выполните установку необходимых пакетов Python при помощи команды в консоли, запущенной от имени администратора:
pip install -r requirements.txt
Использование
  • Запустите скрипт командой в консоли:
python ib.py
  • По запросу, введите первый год, на который есть отчет (например «2018»)
  • Дождитесь появления надписи «Готово» и нажмите Enter. Скрипт должен сформировать вашу пояснительную записку в формате .docx и открыть его
  • Повторите п.2-3 для всех годов (нужно делать только в первый раз, дальше — только подотчетный год)
  • Внесите в раздел Доходы за пределами РФ декларации 3-НДФЛ следующие доходы в рублях(!!!) с датой 31 декабря подотчетного года:
Источник выплат — «Interactive Brokers (дивиденды)». Полученный доход и Налог, уплаченный в иностранном государстве — {ваши суммы из пояснительной записки}
Источник выплат — «Interactive Brokers (операции с ЦБ)». Полученный доход и Сумма вычета (расхода) в рублях (код вычета — 201) — {ваши суммы из пояснительной записки}
Дополнительная информация

Данный скрипт также можно использовать и до окончания текущего налогового периода для понимания того, сколько на данный момент (по итогам года) потребуется заплатить налогов. В этом случае, нужно скачать отчет с начала года до текущей даты и положить его к остальным. При этом сценарии использования, скрипт предложит внести дополнительные сделки, которых нет в отчете (например, планируемые сделки) и сформирует отчет с учетом них, а также сам предложит сделки для налоговой оптимизации.

44 Комментария
  • Тихая Гавань
    26 марта 2020, 14:05
    полезная вещь! благодарю
  • Maxim Kaminski
    26 марта 2020, 14:16
    Спасибо за информацию!
  • Николай Помещенко
    26 марта 2020, 14:25
    Вы святой
  • Йонатан Берсон
    26 марта 2020, 14:26
    И это всё бесплатно!!!
  • John Smith
    26 марта 2020, 14:35
    Почему именно 31 декабря?
      • John Smith
        26 марта 2020, 15:12
        Валерий Чистяков, У инспектора не возникнет вопрос: почему все дивиденды в один день?
  • Павел Ку
    26 марта 2020, 14:37
    А опционы поддерживаются?
      • Павел Ку
        26 марта 2020, 15:11
        Валерий Чистяков, попробую на выходных. Я ваял на PowerGrep + Excel. И раздел там другой у опционов и не совсем тривиальная система расчетов. Если опцион купил-продал, то тут все понятно. А вот если он исполнился, то прибыли нет, зато меняется цена сделки с бумагой связанно.

        Огромное спасибо!
  • IliaM
    26 марта 2020, 14:58
    Такое невозможно не плюсануть. Даже если не пользуешься IB
  • Андрей
    26 марта 2020, 15:05
    Большое человеческое спасибо.
  • buter
    26 марта 2020, 15:22
    Большое спасибо

  • ebanuha
    26 марта 2020, 15:37
    Спасибо большое!
    А если убытки за год на аккаунте в IB, их надо как-то документировать?
      • ebanuha
        26 марта 2020, 16:05
        Валерий Чистяков, спасибо за ответ! Вы святой человек
  • reglament
    26 марта 2020, 16:45
    Спасибо. Попробую. Хоть мне и не нужно — только по дивам отчитываюсь. Но записку я каждый год прикладываю
      • reglament
        27 марта 2020, 09:15
        Валерий Чистяков, ребаланс нет, не делаю. а дивы одной суммой пишу в 3-ндфл
  • Sergey
    26 марта 2020, 16:48
    Спасибо большое!
  • Андрей
    27 марта 2020, 10:51
    Коллеги, помогите чайнику, не могу победить. Что то не так с синтаксисом.


    Спасибо
  • я сделал это непосредственно из командной строки запущенной с правами админа а не из piton(a) В командной строке перейти в директорию interactive_brokers_tax-master и потом ввести команду pip install -r requirements.txt
    Затем в IDLE piton(a) открыть исходник и откорректировать дату открытия счета, сохранить.
    Запустить скрипт просто двойным кликом мышки предварительно положив туда же файлы yyyy.csv, все файлы по годам с момента открытия счета.

    Проблема правда и у меня есть — файлы формирует но сводная записка не формируется и выходит по ошибке, причем в разные годы и места ошибок разные
    Так понимаю что проблема в формате исходных отчетов
    Соответственно вопрос автору — Какой тип отчета использовать Activity MTM Summery?



    Автору спасибо, большой и полезный труд для сообщества!
    • Андрей
      27 марта 2020, 13:20

      Сергей, спасибо, но не идет почему то

      В командной строке перейти в директорию interactive_brokers_tax-master и потом ввести команду pip install -r requirements.txt



      • Андрей,  Командная строка запущена от имени админа?
        проверте в каталоге \AppData\Local\Programs\Python\Python38\Scripts наличие файла pip.exe
        и в командной строке введите команду pip она должна вывести список доступных команд


        Если выведет то должно работать и это (у меня уже установлено о чем и пишет)




           
        • Андрей
          27 марта 2020, 16:24
          Сергей, что то я туплю, эффект пятницы наверное, не получается. cmd.exe от админа, что то делаю не так


          • Андрей, я же написал проверьте установку pip
            Установка Python
            либо его нет либо неверно установили Python поскольку в последних версиях он уже в пакете


      • Валерий Чистяков, понял что проблема в несоответствии заголовков столбцов. Спасибо за предложение, скинуть отчеты в лс рейтинг не позволяет Свои топики не пишу :) Если не сложно скиньте мне почту.
  • mdscp
    16 апреля 2020, 22:22
    Отличное начинание! Однозначно лайк и подписка :-)
    Есть предложение:
    1. Дополнить инструкцию: «Отчеты должны быть только на англ. языке (русский не работает при создании файлов в директории получается не корректная имя файла).
    2. Доработать макет пояснительной записки (убрать ошибки и включить опись документов предоставляемых в налоговую).
    3. Доработать программу для других секций (например, налоги с процентов от пользования деньгами и акциями)
    4. Нужно больше отзывов по тому как отреагировала налоговая.
    5. Готов оказать содействие проекту (могу программировать на Питоне).
    6. Автор, как связаться с Вами оставьте координаты.
    7. Большое спасибо!


     
  • Олег
    19 апреля 2020, 13:42
    Спасибо! Супер! Но ...)) А если не задекларирую? Как это можно отследить? По переводам из банка РФ зарубежному брокеру? Банки дают эти сведения в ИФНС? Кто что делает? Лишний раз не хочу светить в налоговой. В том числе по вопросу ниже.
    При разводе, например, счет в IB реально в массу раздела включить?
    И при банкротстве (все случается, мало ли) в конкурсную массу брокерский счет в IB реально управляющему включить? В IB вроде только юрисдикции международного суда? Решение суда в РФ нет же шансов квалифицировать как международное? 
    Сталкивался кто-то? Спасибо!
  • Petya Katin
    22 апреля 2020, 18:40

    привет.

    Отличная программа. Заодно и Питон узнал


    Что то не так с форматом отчетов.
    Получаю ошибку:
    Разделение отчета на разделы...
    Чтение разделов отчета...
    --ibdata\2018_Trades.csv
    Traceback (most recent call last):
    File «ib.py», line 195, in
    trades, comissions, div, div_tax, div_accurals, usd = load_data()
    File «ib.py», line 156, in load_data
    trades = trades[trades.fee < 0]
    File «C:\Users\avsenev\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\core\generic.py», line 5274, in getattr
    return object.getattribute(self, name)
    AttributeError: 'DataFrame' object has no attribute 'fee'

    • mdscp
      25 апреля 2020, 00:34
      Petya Katin, подождите. Автор дорабатывает по мере возможностей. Сообщите у Вас были торговые операции с ценными бумагами?
       
  • inffin
    07 января 2021, 19:24
    Огромное спасибо за скрипт! Очень помог в расчетах, есть на что опереться и себя дополнительно проверить! Но при заполнении декларации через сайт nalog.ru или через программу «Декларация» в разделе «Доходы» требуется заполнить обязательное поле «Сумма дохода в валюте*». После этого «Сумма дохода в рублях по курсу ЦБ» рассчитывается автоматически и не совпадает с суммой дохода полученного при расчетах скриптом в пояснительной записке. При этом сумму дохода в рублях нельзя править руками.




    То же самое при заполнении раздела «Сведения о налоге, уплаченном в иностранном государстве», требуется ввести «Сумма налога в иностранной валюте*» и «Сумма налога в рублях по курсу ЦБ» считается автоматом и править ее нельзя…




    Вопрос как внести в декларацию точные данные из сформированной пояснительной записки?
  • Valery  Tlyusten
    20 апреля 2021, 21:23
         Да, комментарий пользователяinffin носит весьма существенный характер. К сожалению, отсутствие ответа на заданный в этом комментарии вопрос, обесценивает проделанный автором труд.
         А жаль! Программная разработка и качество её исполнения заслуживают самой высокой оценки. Однако, непосредственное использование на практике формируемой ею пояснительной записки для заполнения стандартной налоговой декларации, как оказалось, невозможно.
  • Valery  Tlyusten
    03 июля 2021, 11:53
    Уважаемый, Валерий Чистяков. Было бы совсем уж глупо обвинять, как Вы пишите, автора (и, совсем уж бессмысленно — созданный им скрипт) за любезно и совершенно бесплатно предоставленный им программный инструмент. Инструмент, обладающий, к тому же, бесспорно высокими потребительскими свойствами (что было отмечено мною особо).
    Речь конечно же шла не о каких-то там «обвинениях», а о некой проблеме, затрудняющей, и не только на мой взгляд, использование Вашей программы. Я, в частности, очень внимательно следовал и всем Вашим инструкциям и инструкциям на сайте. Не получилось. Причина указана пользователем inffin. Возможно, мы — и он, и я, что-то не так делали. И может быть Вам стоило чуть вникнуть и пару слов на этот счет добавить в инструкцию, не знаю.  Не хотите помочь предметно, — не надо. Это Ваше право. Но к чему тут обижаться, и, в свою очередь, обижать пренебрежительной отпиской ваших благодарных пользователей?
    Так или иначе, но программой Вашей, пусть и не в полной мере, я воспользовался. Спасибо Вам.
    P.S. Кстати сказать, мне 74 года.
      • inffin
        04 января 2022, 20:40
        Валерий, спасибо огромное за ваш труд! Скрипт действительно очень помог! Комментарии увидел только сегодня… Конечно же в том году я разобрался с декларацией и все сдал удачно! Сейчас уже понял, что нужно было сразу свой комментарий подправить и пояснить как нужно делать, чтобы другим читателям было тоже сразу понятно. Если кому-то будет полезно, то за 2021 год скрипт так же все расчитал, НО старая версия скрипта, которая работала при формировании записки за 2020 год, в этом году выдавала ошибки и пояснительная записка не работала. После скачивания актуальной версии скрипта с гитхаба по ссылке — https://github.com/airens/interactive_brokers_tax все заработало(до этого скрипт выдавал ошибки с зависимостями и не совместимыми версиями)

        Еще раз выражаю Благодарность! Успехов и удачи во всем! 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн