Analysis of Interactive Brokers reports for tax reporting in Russia
Project description
Investments
Библиотека для анализа брокерских отчетов + утилиты для подготовки налоговой отчетности
Установка/обновление
$ 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, сделка пропускается и выводится сообщение о том, что это может повлиять на итоговый отчет
Пример отчета:
Запуск
$ 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) для резидентов РФ
- выводит отчёт по каждой валюте счёта отдельно
- вывод максимально приближен к форме отчёта о ДДС
Пример отчета:
Запуск
$ 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 для текущего года)
Обязательно выгрузите отчеты за все время существования вашего счета!
Trade Confirmation
Для загрузки нужно перейти в Reports / Tax Docs > Flex Queries > Trade Confirmation Flex Query и создать новый тип отчетов, выбрав в Sections > Trade Confirmation все пункты в группе Executions, остальные настройки - как на скриншоте:
После этого в Reports / Tax Docs > Custom Statements выгрузите отчеты за все время существования вашего счета, используя Custom date range периодами по 1 году (больше IB поставить не дает):
Разворачивание проекта для внесения изменений
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43f837f48bed70b57c72c5ee071f5f62fc342b6a7f21c021405ce831838c4c0f
|
|
| MD5 |
14d7c60abc0964255ca563f776f7163a
|
|
| BLAKE2b-256 |
daf5d323345774acea928d5c5aa9892d85fb0e599bf687ea59926ac82cfe4bda
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a22bd987b8c9216cfc3d3b7eb0c0118dfa211f6d50f1603e85e07ee1731b795
|
|
| MD5 |
21d7358bd364e524acf29df4f7428226
|
|
| BLAKE2b-256 |
0a3507a8089ca87732faf8ac343a714a4cc630f3c0228653cbe014a83adc8b1d
|