Блог им. airens

Отчитываемся перед налоговой по доходам 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) — {ваши суммы из пояснительной записки}
Дополнительная информация

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

★110 | ₽ 201
полезная вещь! благодарю
Спасибо за информацию!
avatar

Maxim Kaminski

Вы святой
И это всё бесплатно!!!
Почему именно 31 декабря?
avatar

John Smith

John Smith, последний день в году. По большей части — дата не важна, я думаю. Для инспектора важнее содержимое записки
Валерий Чистяков, У инспектора не возникнет вопрос: почему все дивиденды в один день?
avatar

John Smith

John Smith, для того, чтобы у инспектора не возникло вопросов и нужна Пояснительная записка
А опционы поддерживаются?
avatar

Павел Ку

Павел Ку, если сделки по ним отображаются в том же разделе отчета, что и с акциями — да. 
Валерий Чистяков, попробую на выходных. Я ваял на PowerGrep + Excel. И раздел там другой у опционов и не совсем тривиальная система расчетов. Если опцион купил-продал, то тут все понятно. А вот если он исполнился, то прибыли нет, зато меняется цена сделки с бумагой связанно.

Огромное спасибо!
avatar

Павел Ку

Павел Ку, если допилите под опционы — просьба поделиться либо тут, либо на Github. Я в них ничего не понимаю, а кому-то может пригодиться.
Такое невозможно не плюсануть. Даже если не пользуешься IB
avatar

IliaM

Большое человеческое спасибо.
avatar

Андрей

Большое спасибо

avatar

buter

Спасибо большое!
А если убытки за год на аккаунте в IB, их надо как-то документировать?
avatar

ebanuha

ebanuha, да, они будут в пояснительной записке и лучше их также внести в декларацию. В течение 10 лет можно будет их зачесть и снизить налогооблагаемую базу
Валерий Чистяков, спасибо за ответ! Вы святой человек
avatar

ebanuha

Спасибо. Попробую. Хоть мне и не нужно — только по дивам отчитываюсь. Но записку я каждый год прикладываю
avatar

reglament

reglament, ребаланс портфеля не делаете? Да и по дивам у меня тоже таблица строк на 30 получилась, считать небыстро, учитывая валютную переоценку.
Валерий Чистяков, ребаланс нет, не делаю. а дивы одной суммой пишу в 3-ндфл
avatar

reglament

Спасибо большое!
avatar

Sergey

Коллеги, помогите чайнику, не могу победить. Что то не так с синтаксисом.


Спасибо
avatar

Андрей

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

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



Автору спасибо, большой и полезный труд для сообщества!
avatar

Сергей

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

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



avatar

Андрей

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


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




   
avatar

Сергей

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


avatar

Андрей

Андрей, вопрос, который вы задаете, не имеет никакого отношения к скрипту и данному топику. Вы просто недоустановили Python. Введите ошибку, которую вам выдает командная строка в Гугл и по первой же ссылке найдете ответ.
Андрей, я же написал проверьте установку pip
Установка Python
либо его нет либо неверно установили Python поскольку в последних версиях он уже в пакете


avatar

Сергей

Сергей, это IB чудит. У вас в отчете по какой-то причине разное количество строк в таблице с дивидендами и налогами по ним. Скрипт не может понять поэтому, какая строка какой соответствует. Можете мне послать свой отчет, на котором отваливается, в ЛС (только измените в файле Имя\Фамилию, если хотите), попробую что-то придумать.
Валерий Чистяков, понял что проблема в несоответствии заголовков столбцов. Спасибо за предложение, скинуть отчеты в лс рейтинг не позволяет Свои топики не пишу :) Если не сложно скиньте мне почту.
avatar

Сергей

Сергей, проблема была не в заголовках, а в том, что не всегда раздел Дивиденды в отчете присутствует. Это исправил. Также вы используете операции SHORT, а они скриптом не поддерживаются.

....все тэги
2010-2020
UPDONW