Генератор налоговой декларации из отчетов IB

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Генератор налоговой декларации из отчетов IB

Сообщение ElectrostaticMister »

  • Существенно улучшил расчет налогов для коротких продаж. Отчет о движении средств и активов при маржинальной торговле рассчитывается точно так же, как при обычной, возможно это неправильно.
  • Включил процент, заплаченный брокеру с кэша, в издержки при торговле ценными бумагами. Это может быть некорректно, если одолженные у брокера деньги использовались не для торговли бумагами (а например просто списывались из-за отрицательной ставки), кроме того, в НК есть какие-то рассуждения про допустимый размер ставки. Вероятно, вся эта информация есть в других секциях flex-отчета, но пока исправляйте декларацию и xls руками по собственному усмотрению.
  • Если по итогам года образовалась прибыль по всем секциям (точнее, если все расходы удалось без остатка вычесть из тех доходов, из которых их можно вычитать для последующего налогообложения), то расчеты в Декларации и в xls должны совпадать до копейки. В противном случае xls может что-то просуммировать неправильно. Ключевые параметры для сверки (естественно, для декларации заполненной с нуля):
    Главный лист xlsФорма 3-НДФЛ
    Дивидендный доходРасчет налоговой базы, вид дохода дивиденды, пункт 1.6
    Доплата налога по дивидендамРасчет налоговой базы, вид дохода дивиденды, пункт 2.9
    Сумма доходов (без дивидендов)Расчет налоговой базы, вид дохода иное, пункт 1.1
    Сумма расходов (без дивидендов)Расчет налоговой базы, вид дохода иное, пункт 1.5
    Налоговая база (без дивидендов)Расчет налоговой базы, вид дохода иное, пункт 1.6

    Если все 5 чисел совпали, значит расчеты в xls корректно обосновывают заполнение декларации. Если нет - надо разбираться.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Отчет о движении средств и активов

Сообщение ElectrostaticMister »

Добавил опцию Подробности отчета о движении средств для тех, кто хочет понять, из чего формируются списания и зачисления. Отображается как дополнительный лист в xls, довольно массивный, в нем перечислены даты, суммы и валюты, для активов - еще и тикер, по этим данным можно соотнести суммы с выпиской и понять их природу. Суммы в обычном и подробном отчете могут незначительно расходиться из-за ошибок округления, но все равно в отчет для налоговой они уходят округленными.

Значения на начало и конец периода берутся прямо из выписки, с их проверкой нет сложностей, если выписка сделана точно за календарный год.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Перенос позиций

Сообщение ElectrostaticMister »

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

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

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

Если позиция переносится частично, то отследить соблюдение принципа FIFO невозможно. Если он важен, надо проверять историю вручную и вносить исправления при необходимости.

UPD 2023-06-13:
Добавил опцию Результат→Не отображать переносы ценных бумаг на другой счет как доходы. Если опция включена, то в xls и декларации не отображаются доходы, сформированные при переносе ценных бумаг на другой счет. Раньше эти доходы надо было удалять из xls и декларации вручную. Опцию надо отключать, если требуется увидеть историю приобретения бумаг, позднее перенесенных на другой счет. По умолчанию опция включена. На переносы с другого счета на отчетный опция никак не влияет, их по-прежнему надо редактировать вручную.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Несколько счетов

Сообщение ElectrostaticMister »

UPD 2022-07-26: Новые возможности описаны здесь

У одного клиента может быть несколько счетов в IB (не демо, а именно настоящих). Налоговая рассматривает эти счета как независимые и по каждому должен быть свой отчет о движении средств. Генератор пока не умеет обрабатывать одновременно отчеты по нескольким счетам в IB (хотя умеет одновременно обрабатывать один счет в IB и один счет в FirsTrade), поэтому для каждого счета надо получить отдельный flex-отчет. Если не удается получить отдельный, загляните в общий flex-отчет, скорее всего он склеен из отдельных отчетов по счетам, каждый новый отчет начинается с шапки такого вида:
"HEADER","ACCT","CurrencyPrimary"
"DATA","ACCT","USD"
Строки внутри отчета содержат номер счета вида U1111111. Надо вручную разделить общий отчет на несколько файлов по счетам, проделать это для каждого года и далее отправлять файлы отчетов в генератор сгруппированными уже по счетам (например U1111111_2018.csv, U1111111_2019.csv и U1111111_2020.csv выдадут расчет по счету U1111111, U2222222_2019.csv и U2222222_2020.csv - по счету U2222222). Для теста можно создавать для каждого счета новую декларацию и сравнивать ее с xls, но в результате нужная одна общая декларация. То есть для первого счета декларацию можно создать с нуля, но потом нужно всегда отдавать генератору предыдущую декларацию в виде заготовки, чтобы в ней накапливались доходы. xls сами объединяться не умеют, это придется сделать вручную, в большинстве случаев достаточно просто копировать строки из одной эксельки в другую и следить, чтобы пределы итогового суммирования менялись правильно. После получения объединенной xls проверить, что в xls и в декларации совпадают налоговая база/сумма расходов/доходов по дивидендам/иным доходам.

Если между счетами есть переносы позиций, то надо дополнительно выполнить инструкцию из поста про переносы позиций. Ситуация упрощается тем, что вся история перенесенной позиции есть в соседнем flex-отчете, но к сожалению автоматически она пока не подтягивается, надо все делать вручную.


mikefsp
Сообщения: 1
Зарегистрирован: 29 янв 2021, 16:47

Генератор налоговой декларации из отчетов IB

Сообщение mikefsp »

Программа супер. Давно искал что-то, чтобы можно было в эксельке полазить и проверить результаты расчетов (да еще и с формулами).
ElectrostaticMister, огромное человеческое спасибище!

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Ошибки формирования отчетов

Сообщение ElectrostaticMister »

При формировании отчетов и выписок возникают технические ошибки, в результате которых отчет невозможно обработать, даже если содержательных проблем в нем нет. В этом посте приведены типичные примеры таких ошибок. Если вы поняли, что ваш отчет сформирован неверно, попробуйте поменять параметры формы, которая генерирует отчеты, и текстовый редактор, если вы редактировали отчет самостоятельно. Не редактируйте csv-файлы в Excel, используйте Блокнот или аналогичные простые текстовые редакторы (UPD: Если вы все-таки исправляете csv-файлы в Excel, сохраняйте исправленное как файл xls, а не csv, больше шансов, что будет работать).

Ошибки при формировании flex-отчета:

НЕПРАВИЛЬНО - кавычки вокруг полей многократно повторяются, в конце строк точка с запятой
"HEADER,""ACCT"",""CurrencyPrimary""";
"DATA,""ACCT"",""USD""";
ПРАВИЛЬНО - кавычки вокруг полей один раз, в конце строки нет разделителя
"HEADER","ACCT","CurrencyPrimary"
"DATA","ACCT","USD"

НЕПРАВИЛЬНО - неверный формат дат, без дефиса
"DATA","CRTT","U1234567","","","BASE_SUMMARY","BaseCurrency","20200101","20201231"
ПРАВИЛЬНО - формат дат с дефисом
"DATA","CRTT","U1234567","","","BASE_SUMMARY","BaseCurrency","2020-01-01","2020-12-31"

Ошибки при формировании выписки:

НЕПРАВИЛЬНО - в конце строк точки с запятой
Statement,Header,Field Name,Field Value;;;;;;;;;;;;
Statement,Data,BrokerName,Interactive Brokers;;;;;;;;;;;;
Statement,Data,BrokerAddress,;;;;;;;;;;;;
ПРАВИЛЬНО - в конце строки нет разделителя, может быть запятая
Statement,Header,Field Name,Field Value
Statement,Data,BrokerName,Interactive Brokers
Statement,Data,BrokerAddress,

НЕПРАВИЛЬНО - все строки целиком заключены в кавычки
"Statement,Header,Field Name,Field Value		"
"Statement,Data,BrokerName,Interactive Brokers		"
"Statement,Data,BrokerAddress,	"
НЕПРАВИЛЬНО - некоторые строки целиком заключены в кавычки
"Statement,Data,Period,""January 1, 2020 - December 31, 2020""";;;;;;;;;;;;
ПРАВИЛЬНО - в кавычки могут быть заключены только отдельные поля
Statement,Header,Field Name,Field Value
Statement,Data,BrokerName,Interactive Brokers
Statement,Data,BrokerAddress,
Statement,Data,Title,Activity Statement
Statement,Data,Period,"January 1, 2020 - December 31, 2020"

При использовании выписки на русском языке:

НЕПРАВИЛЬНО - кодировка CP1251
ПРАВИЛЬНО - кодировка UTF8

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Генератор налоговой декларации из отчетов IB

Сообщение ElectrostaticMister »

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


DaniilKharms
Сообщения: 1
Зарегистрирован: 10 фев 2021, 14:11

Генератор налоговой декларации из отчетов IB

Сообщение DaniilKharms »

ElectrostaticMister писал(а): 20 июл 2020, 18:26 опционы - покупка/продажа, без исполнения, все опционы считаются опционами на ценные бумаги (а не на товары)
Поясните пожалуйста. Корректно ли считается досрочная поставка БА по опциону, а также экспирация "вне денег"?
Спасибо.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Генератор налоговой декларации из отчетов IB

Сообщение ElectrostaticMister »

DaniilKharms писал(а): 10 фев 2021, 15:27 Корректно ли считается досрочная поставка БА по опциону, а также экспирация "вне денег"?
Экспирация вне денег будет выглядеть как продажа за 0.
При поставке опцион и БА точно никак не будут связаны, то есть опцион будет просто продан за 0, БА куплен по цене страйка. Насчет досрочности не знаю, надо попробовать.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Слияния

Сообщение ElectrostaticMister »

Упрощенная обработка слияний/поглощений: Добавил поддержку некоторых видов реорганизации компаний, когда акции одной компании меняются на акции другой компании. В этом случае списание старых акций учитывается программой как их продажа, а зачисление новых - как покупка. Естественно это не соответствует действительности, и руками надо внести изменения в xls и декларацию, так же как в случае перевода позиций.

UPD: 15 ноября 2021 добавлена полноценная обработка слияний/поглощений, с моментальным налогообложением только выплаченных денег и пропорциональным разделением издержек, она включана по умолчанию и не требует ручных исправлений. Теория вопроса здесь - Слияния и поглощения / Mergers and Acquisitions. Если генератор ломается на слияниях, переходите на упрощенную обработку с помощью галки.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Генератор налоговой декларации из отчетов IB

Сообщение ElectrostaticMister »

Добавил расчет налогов для фьючерсов способами 1,2 и 4, описанными здесь Налогообложение валютных фьючерсов. Способ можно выбрать в настройках формы. Поддержка фьючерсов по-прежнему экспериментальная.

UPD: Во flex-отчетах нашлась секция с ежедневной вариационной маржой, поэтому для них реализован наиболее правильный способ 3. В выписке, наоборот, только сводка по марже, для них по-прежнему работает способ 4. Возможно, наилучший способ - работать с Custom Statement, в которые можно добавлять секции flex-отчета и которые можно создавать в pdf, но я пока их не поддерживаю.


Yury
Сообщения: 2
Зарегистрирован: 18 фев 2021, 07:46

Для жалоб и предложений

Сообщение Yury »

Добрый день!
Вот такая ошибка в логе
ERROR:EventHistory: Unfinished splits found {"date":"2020-08-28","symbols":"AAPL"}

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Для жалоб и предложений

Сообщение ElectrostaticMister »

Yury писал(а): 18 фев 2021, 08:30 ERROR:EventHistory: Unfinished splits found {"date":"2020-08-28","symbols":"AAPL"}
Да, у AAPL был не совсем обычный сплит, исправил, должно работать.


Yury
Сообщения: 2
Зарегистрирован: 18 фев 2021, 07:46

Для жалоб и предложений

Сообщение Yury »

ElectrostaticMister писал(а): 18 фев 2021, 19:42 Да, у AAPL был не совсем обычный сплит, исправил, должно работать.
Спасибо большое, все работает!
Буду разбираться дальше.


EvgenyLisin
Сообщения: 1
Зарегистрирован: 20 фев 2021, 22:10
Контактная информация:

Формирование flex-отчета IB

Сообщение EvgenyLisin »

ElectrostaticMister писал(а): 17 дек 2020, 04:45 Сначала надо создать специализированный запрос
В меню личного кабинета IB Reports→Flex Query создать новый Activity Flex Query, выбрать для него следующие секции:
  1. Account Information, поля Currency и Master Name.
  2. Cash Report, подсекции Base Currency Summary и Currency Breakout, все поля.
  3. Cash Transactions, все подсекции, кроме Summary, все поля.
  4. Change in Dividend Accruals, подсекция Detail, все поля.
  5. Corporate Actions, подсекция Detail, все поля.
  6. Interest Accruals, все поля.
  7. Open Positions, подсекция Summary, все поля.
  8. Realized and Unrealized Performance Summary in Base, все поля.
  9. Trades, подсекции Orders и Executions, все поля.
Секции, которые нужно добавить при необходимости:
  1. Statement of Funds, подсекция Currency Breakout, все поля - при торговле фьючерсами.
  2. Transfers, все поля - если был перенос бумаг.
  3. Transaction Fees, подсекция Detail, все поля - если была торговля на биржах с налогообложением сделок (Британия, Гонконг, Швейцария и т.п.).
Инструкция не актуальна. Не могу настроить Flex Query. Не могли бы обновить и желательно на русском.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Формирование flex-отчета IB в русском интерфейсе

Сообщение ElectrostaticMister »

В меню личного кабинета IB Доходность и отчеты→Flex-запросы (там совсем рядом PortfolioAnalyst с его отчетами, они не нужны!) создать новый Flex-запрос по операциям, выбрать для него следующие секции:
  1. Информация о счете, поля Currency, IB Entity и Master Name.
  2. Отчет о денежных средствах, подсекции Отчет по базовой валюте и Распределение валют, все поля.
  3. Наличные операции, все подсекции, кроме Суммарно, все поля.
  4. Изменения в начислениях дивидендов, подсекция Деталь, все поля.
  5. Корпоративные действия, подсекция Деталь, все поля.
  6. Информация о финансовых инструментах, все поля.
  7. Начисления процентов, все поля.
  8. Открытые позиции, подсекция Суммарно, все поля.
  9. Отчет об эффективности на основе реализованной и нереализованной прибыли в базовой валюте, все поля.
  10. Сделки, подсекции Ордера и Исполнения, все поля.
Секции, которые нужно добавить при необходимости:
  1. Рыночная переоценка в базовой валюте, все поля - если в отчетах пропущено начало истории сделок.
  2. Отчет о движении денежных средств, подсекция Распределение валют, все поля - при торговле фьючерсами или CFD, в случае исполнения расчетных опционов.
  3. Переводы, все поля - если был перенос бумаг.
  4. Платы за транзакции, подсекция Деталь, все поля; Sales Tax Details, все поля - если была торговля на биржах с налогообложением сделок (Европа, Гонконг и др.), если были продажи MLP в США.
  5. Операции по акциям в подарок, все поля - если были получены в дар акции, например, акции IBKR от брокера.
Настроить некоторые параметры запроса, остальные оставить как были:
  1. Формат CSV
  2. Включать записи заголовка и трейлера? Нет
  3. Включить заголовки столбцов? Да
  4. Включить код раздела и описание строки? Да
  5. Формат даты yyyy-MM-dd
  6. Формат времени HH:mm:ss
  7. Разделитель даты/времени ' ' (один пробел)
  8. Breakout by Day? Нет

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Формирование flex-отчета IB

Сообщение ElectrostaticMister »

EvgenyLisin писал(а): 24 фев 2021, 08:57 Инструкция не актуальна. Не могу настроить Flex Query. Не могли бы обновить и желательно на русском.
Добавил перевод постом выше, попробуйте, должно работать.

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Пользовательский отчет / Custom Statement

Сообщение ElectrostaticMister »

Добавил поддержку пользовательских отчетов (Custom Statement), единственное преимущество такого отчета перед выпиской - в нем есть данные для наиболее корректного налогообложения фьючерсов (как во flex-отчете) и одновременно он доступен в формате pdf (как выписка).

В меню личного кабинета IB Reports→Statements (Отчеты→Выписки) надо создать новый Custom Statement (пользовательский отчет), для него выбрать Statement Type Activity (Тип отчета Активность).

Затем возможны два варианта - выбрать либо все секции, либо по списку:
  1. Account Information (Информация о счете)
  2. Adjustments (Корректировки)
  3. Cash Report (Отчет о денежных средствах)
  4. Change in Dividend Accruals (Изменения в начислениях дивидендов)
  5. Combined Deposits/Withdrawals (Объединенные вводы/выводы средств)
  6. Combined Dividends (Объединенные дивиденды)
  7. Combined Fees (Объединенные сборы)
  8. Combined Interest (Объединенная проц. ставка)
  9. Commission Credits (Комиссионный кредит)
  10. Corporate Actions (Корпоративные действия)
  11. Financial Instrument Information (Информация о финансовом инструменте)
  12. Interest Accruals (Начисления процентов)
  13. Net Asset Value (Чистая стоимость активов (NAV))
  14. Open Positions (Открытые позиции)
  15. Realized & Unrealized P/L Summary (Отчет о реализованной и нереализованной ПиУ)
  16. Trades (Сделки)
  17. Withholding Tax (Удерживаемый налог)
  18. Statement of Funds (Отчет о движении денежных средств) - при торговле фьючерсами
  19. Transfers (Переводы) - если был перенос бумаг
  20. Transaction Fees (Платы за транзакции) - если была торговля на биржах с налогообложением сделок (Британия, Гонконг, Швейцария и т.п.)
После выбора секций выбрать Profit and Loss MTM and Realized P/L (Прибыль и убытки (П/У) MTM и реализованная П/У), на все вопросы ответить No (Нет), кроме вопроса Hide Details for Positions, Trades and Client Fees Sections? (Скрыть подробности для разделов "Позиции", "Сделки" и "Клиентские сборы"?), на который ответить Yes (Да)

Как обычно, отчет надо создавать в формате CSV, отчетов может быть несколько, они не должны пересекаться по датам и т.д. Отчет для программы предпочтительно создавать на английском языке, но возможно сработает и на русском.


ko100
Сообщения: 1
Зарегистрирован: 26 фев 2021, 20:00

Генератор налоговой декларации из отчетов IB

Сообщение ko100 »

не взлетело...
[2021-02-28 17:03:35.330146] NOTICE: Current version {"portfolio":"2021-02-28-c7e4b42","cbr":"2020-09-07-e7d43c3","declaration":"2021-02-27-5ddbc57"}
[2021-02-28 17:03:35.330528] WARNING: No names for sections, trying to guess {"file":"/home/webmaster/uploaded/tax/150/1614521015/FLEX.csv","lineno":1}
[2021-02-28 17:03:35.409543] ERROR: Required sections not found {"file":"/home/webmaster/uploaded/tax/150/1614521015/FLEX.csv","names":"Cash Report"}

Делал flex отчет по инструкции

Аватара пользователя

Автор темы
ElectrostaticMister
Сообщения: 312
Зарегистрирован: 12 май 2020, 23:14
Контактная информация:

Генератор налоговой декларации из отчетов IB

Сообщение ElectrostaticMister »

ko100 писал(а): 28 фев 2021, 17:04 [2021-02-28 17:03:35.409543] ERROR: Required sections not found {"file":"/home/webmaster/uploaded/tax/150/1614521015/FLEX.csv","names":"Cash Report"}
Пишет что нет секции Cash Report / Отчет о денежных средствах

Ответить

Вернуться в «Налоговая декларация»