{"id":20997526,"url":"https://github.com/cdump/investments","last_synced_at":"2025-04-09T09:05:41.178Z","repository":{"id":41851301,"uuid":"253290715","full_name":"cdump/investments","owner":"cdump","description":"Analysis of Interactive Brokers reports for tax reporting in Russia","archived":false,"fork":false,"pushed_at":"2024-05-19T14:27:33.000Z","size":1102,"stargazers_count":112,"open_issues_count":21,"forks_count":21,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-02T06:57:29.003Z","etag":null,"topics":["interactive-brokers","investment","tax-report","taxes"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cdump.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-05T17:20:41.000Z","updated_at":"2025-03-05T22:24:12.000Z","dependencies_parsed_at":"2024-05-19T10:33:09.392Z","dependency_job_id":"42788edd-7676-404a-95e0-a8f49a126492","html_url":"https://github.com/cdump/investments","commit_stats":{"total_commits":94,"total_committers":5,"mean_commits":18.8,"dds":0.2872340425531915,"last_synced_commit":"1ec2cc3bc55cf5a4c11282ef5647693c7e78a0d2"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdump%2Finvestments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdump%2Finvestments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdump%2Finvestments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdump%2Finvestments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdump","download_url":"https://codeload.github.com/cdump/investments/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008630,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["interactive-brokers","investment","tax-report","taxes"],"created_at":"2024-11-19T07:40:08.084Z","updated_at":"2025-04-09T09:05:41.160Z","avatar_url":"https://github.com/cdump.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Investments\nБиблиотека для анализа брокерских отчетов + утилиты для подготовки налоговой отчетности\n\n![Tests status](https://github.com/cdump/investments/workflows/tests/badge.svg)\n\n## Установка/обновление\n```\n$ pip3 install investments --upgrade --user\n```\nили с помощью [poetry](https://python-poetry.org/)\n\n## Утилита ibtax\nРасчет прибыли Interactive Brokers для уплаты налогов для резидентов РФ\n\n- расчет сделок по методу ФИФО, учет даты расчетов (settle date)\n- конвертация по курсу ЦБ\n- поддержка валют USD, RUB, EUR, CNH(CNY), AUD, GBP, CAD, CZK, DKK, HKD, HUF, YEN, KRW, NOK, PLN, SGD, ZAR, SEK, CHF, TRY\n- раздельный результат сделок по акциям и опционам + дивиденды\n- учёт начисленных процентов на остаток по счету\n- учёт комисий по сделкам\n- пока **НЕ** поддерживаются валюты ILS, MXN, NZD\n- пока **НЕ** поддерживаются сплиты\n- пока **НЕ** поддерживаются сделки Forex, сделка пропускается и выводится сообщение о том, что это может повлиять на итоговый отчет\n\n*Пример отчета:*\n![ibtax report example](./images/ibtax_2020.jpg)\n\n### Запуск\n```\n$ python3 -m investments.ibtax --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir\n```\nОтчеты `activity` \u0026 `confirmation` должны:\n- быть выгружены из IB в формате CSV\n- лежать в разных директориях (см. *Подготовка отчетов Interactive Brokers*)\n\n#### Просмотр неокруглённых цифр в расчётах\n```\n$ python3 -m investments.ibtax --verbose --activity-reports-dir /path/to/activity/dir --confirmation-reports-dir /path/to/confirmation/dir\n```\n\n#### Экспорт отчёта в pdf файл\n```\n$ 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\n```\n\n\n## Утилита ibdds\nУтилита для подготовки отчёта о движении денежных средств по счетам у брокера Interactive Brokers (USA) для резидентов РФ\n\n- выводит отчёт по каждой валюте счёта отдельно\n- вывод максимально приближен к форме отчёта о ДДС\n\n*Пример отчета:*\n![ibdds report example](./images/ibdds_2020.png)\n\n### Запуск\n```\n$ python3 -m investments.ibdds --activity-report-filepath /path/to/activity/report.csv\n```\nОтчет `activity` должен:\n- быть выгружен из IB в формате CSV\n- отражать активность за один год (см. *Подготовка отчетов Interactive Brokers*)\n\n\n## Подготовка отчетов Interactive Brokers\nДля работы нужно выгрузить из [личного кабинета](https://www.interactivebrokers.co.uk/sso/Login) два типа отчетов: *Activity statement* (сделки, дивиденды, информация по инструментам и т.п.) и *Trade Confirmation* (settlement date, необходимая для правильной конвертации сумм по курсу ЦБ)\n\nОтчёты должны быть названы так, чтобы сортировались естественным образом по годам начиная от старого к новому. Такого можно достичь называя файлик номером года (например 2019.csv).\n\n### Activity statement\nДля загрузки нужно перейти в **Reports / Tax Docs** \u003e **Default Statements** \u003e **Activity**\n\nВыбрать `Format: CSV` и скачать данные за все доступное время (`Perioid: Annual` для прошлых лет + `Period: Year to Date` для текущего года)\n\n**Обязательно выгрузите отчеты за все время существования вашего счета!**\n\n![Activity Statement](./images/ib_report_activity.jpg)\n\n### Trade Confirmation\n\nДля загрузки нужно перейти в **Reports / Tax Docs** \u003e **Flex Queries** \u003e **Trade Confirmation Flex Query** и создать новый тип отчетов, выбрав в **Sections** \u003e **Trade Confirmation** все пункты в группе **Executions**, остальные настройки - как на скриншоте:\n\n![Trade Confirmation Flex Query](./images/ib_trade_confirmation_settings.jpg)\n\nПосле этого в **Reports / Tax Docs** \u003e **Custom Statements** выгрузите отчеты **за все время существования вашего счета**, используя `Custom date range` периодами по 1 году (больше IB поставить не дает):\n\n\n![Trade Confirmation Statement](./images/ib_report_trade_confirmation.jpg)\n\n\n## Разворачивание проекта для внесения изменений\n\n- Install [poetry](https://python-poetry.org/docs/#installation)\n- Clone \u0026 modify \u0026 run\n\n```\n$ git clone https://github.com/cdump/investments\n\n$ cd investments\n\n$ poetry install\n$ poetry run ibtax\nusage: ibtax [-h] --activity-reports-dir ACTIVITY_REPORTS_DIR --confirmation-reports-dir CONFIRMATION_REPORTS_DIR [--cache-dir CACHE_DIR] [--years YEARS] [--verbose]\nibtax: error: the following arguments are required: --activity-reports-dir, --confirmation-reports-dir\n\n$ vim investments/ibtax/ibtax.py # edit main file for example\n\n$ poetry run ibtax # run updated version\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdump%2Finvestments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdump%2Finvestments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdump%2Finvestments/lists"}