Skip to main content

Analysis of Interactive Brokers reports for tax reporting in Russia

Project description

Investments

Библиотека для анализа брокерских отчетов + утилиты для подготовки налоговой отчетности

Tests status

Установка/обновление

$ pip3 install investments --upgrade --user

или с помощью uv

Утилита ibtax

Расчет прибыли Interactive Brokers для уплаты налогов для резидентов РФ

  • расчет сделок по методу ФИФО, учет даты расчетов (settle date)
  • конвертация по курсу ЦБ
  • поддержка валют USD, RUB, EUR, CNH(CNY), AUD, GBP, CAD, CZK, DKK, HKD, HUF, YEN, KRW, NOK, PLN, SGD, ZAR, SEK, CHF, TRY
  • раздельный результат сделок по акциям и опционам + дивиденды
  • учёт начисленных процентов на остаток по счету
  • учёт комисий по сделкам
  • пока НЕ поддерживаются валюты ILS, MXN, NZD
  • пока НЕ поддерживаются сплиты
  • пока НЕ поддерживаются сделки Forex, сделка пропускается и выводится сообщение о том, что это может повлиять на итоговый отчет

Пример отчета: ibtax report example

Запуск

$ python3 -m investments.ibtax --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir

Отчеты activity & confirmation должны:

  • быть выгружены из IB в формате CSV
  • лежать в разных директориях (см. Подготовка отчетов Interactive Brokers)

Просмотр неокруглённых цифр в расчётах

$ python3 -m investments.ibtax --verbose --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir

Экспорт отчёта в pdf файл

$ python3 -m investments.ibtax --save-to /path/to/ibtax-report.pdf --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir

Утилита ibdds

Утилита для подготовки отчёта о движении денежных средств по счетам у брокера Interactive Brokers (USA) для резидентов РФ

  • выводит отчёт по каждой валюте счёта отдельно
  • вывод максимально приближен к форме отчёта о ДДС

Пример отчета: ibdds report example

Запуск

$ python3 -m investments.ibdds --activity-report-filepath /path/to/activity/report.csv

Отчет activity должен:

  • быть выгружен из IB в формате CSV
  • отражать активность за один год (см. Подготовка отчетов Interactive Brokers)

Подготовка отчетов Interactive Brokers

Для работы нужно выгрузить из личного кабинета два типа отчетов: Activity statement (сделки, дивиденды, информация по инструментам и т.п.) и Trade Confirmation (settlement date, необходимая для правильной конвертации сумм по курсу ЦБ)

Отчёты должны быть названы так, чтобы сортировались естественным образом по годам начиная от старого к новому. Такого можно достичь называя файлик номером года (например 2019.csv).

Activity statement

Для загрузки нужно перейти в Reports / Tax Docs > Default Statements > Activity

Выбрать Format: CSV и скачать данные за все доступное время (Perioid: Annual для прошлых лет + Period: Year to Date для текущего года)

Обязательно выгрузите отчеты за все время существования вашего счета!

Activity Statement

Trade Confirmation

Для загрузки нужно перейти в Reports / Tax Docs > Flex Queries > Trade Confirmation Flex Query и создать новый тип отчетов, выбрав в Sections > Trade Confirmation все пункты в группе Executions, остальные настройки - как на скриншоте:

Trade Confirmation Flex Query

После этого в Reports / Tax Docs > Custom Statements выгрузите отчеты за все время существования вашего счета, используя Custom date range периодами по 1 году (больше IB поставить не дает):

Trade Confirmation Statement

Разворачивание проекта для внесения изменений

  • Install uv
  • Clone & modify & run
$ git clone https://github.com/cdump/investments

$ cd investments

$ uv sync
$ uv run ibtax
usage: ibtax [-h] --activity-reports-dir ACTIVITY_REPORTS_DIR --confirmation-reports-dir CONFIRMATION_REPORTS_DIR [--cache-dir CACHE_DIR] [--years YEARS] [--verbose]
ibtax: error: the following arguments are required: --activity-reports-dir, --confirmation-reports-dir

$ vim investments/ibtax/ibtax.py # edit main file for example

$ uv run ibtax # run updated version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

investments-0.3.1.tar.gz (508.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

investments-0.3.1-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file investments-0.3.1.tar.gz.

File metadata

  • Download URL: investments-0.3.1.tar.gz
  • Upload date:
  • Size: 508.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for investments-0.3.1.tar.gz
Algorithm Hash digest
SHA256 43f837f48bed70b57c72c5ee071f5f62fc342b6a7f21c021405ce831838c4c0f
MD5 14d7c60abc0964255ca563f776f7163a
BLAKE2b-256 daf5d323345774acea928d5c5aa9892d85fb0e599bf687ea59926ac82cfe4bda

See more details on using hashes here.

File details

Details for the file investments-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: investments-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for investments-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5a22bd987b8c9216cfc3d3b7eb0c0118dfa211f6d50f1603e85e07ee1731b795
MD5 21d7358bd364e524acf29df4f7428226
BLAKE2b-256 0a3507a8089ca87732faf8ac343a714a4cc630f3c0228653cbe014a83adc8b1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page