Skip to content

About

Находит забытые подписки и автосписания в банковской выписке. Работает в браузере, данные не покидают компьютер.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Subscription Hunter

Охотник за подписками: находит забытые автосписания в банковской выписке и подсказывает, как их отменить.

English summary. Finds forgotten subscriptions and recurring charges in a Russian bank statement (CSV from Sber, T-Bank, Alfa, VTB and others): how much they cost per month and per year, which ones went up in price, where a 1 ₽ trial turned into a paid plan, and how to cancel. Works fully in the browser (online version, the statement never leaves your machine), as a dependency-free Python CLI, and as a Claude Code skill. Docs below are in Russian.

Пробный период за 1 ₽, который тихо превратился в 399 ₽ в месяц. Онлайн-кинотеатр, который вы не открывали с весны. Сервис, который поднял цену на треть, а вы не заметили. Subscription Hunter читает выписку из вашего банка и за секунду показывает, сколько на самом деле уходит на подписки — в месяц и в год.

👉 Проверить выписку онлайн — без установки и регистрации

Выписка не покидает ваш компьютер. Онлайн-версия считает всё прямо в браузере и ничего не отправляет: сетевые запросы и отправка форм запрещены её политикой безопасности (CSP), проверить можно в исходном коде. Версия для командной строки работает без интернета и без сторонних библиотек. Никаких серверов, аккаунтов и «дайте доступ к банку».

$ python3 skills/subscription-hunter/scripts/subhunter.py examples/vypiska-primer.csv

# Активных подписок: 5 · ≈ 5 837 ₽ в месяц · ≈ 70 044 ₽ в год

Ещё одна подписка, похоже, уже отменена: списаний давно не было. В таблице — с пометкой «отменена?».

Данные на 30.09.2026. Суммы «в месяц» и «в год» — по последнему списанию.

| Подписка | Период | Последнее списание | Сумма | В год | Уверенность | Заметки |
|---|---|---|---:|---:|---|---|
| FITNESS PRIME KLUB MOSCOW | месяц | 01.09.2026 | 2 900 ₽ | 34 800 ₽ | высокая | — |
| ChatGPT Plus | месяц | 20.09.2026 | 1 990 ₽ | 23 880 ₽ | высокая | — |
| Яндекс Плюс | месяц | 12.09.2026 | 399 ₽ | 4 788 ₽ | высокая | цена выросла на 33%: было 299 ₽, стало 399 ₽ |
| Иви (отменена?) | месяц | 15.06.2026 | 399 ₽ | 4 788 ₽ | высокая | списаний нет с 15.06.2026 — похоже, уже отменена |
| Okko | месяц | 03.09.2026 | 399 ₽ | 4 788 ₽ | высокая | началась с пробного периода за 1 ₽ |
| Apple (App Store, iCloud, Apple Music) | месяц | 08.09.2026 | 149 ₽ | 1 788 ₽ | высокая | оплачена через Apple — отменять в настройках iPhone, а не в банке |

Полный отчёт на вымышленной выписке — в examples/otchet-primer.md.

Что находит

  • Все регулярные списания — раз в неделю, месяц, квартал, полгода или год. Даже если подписки нет в справочнике: фитнес-клуб, онлайн-школа, сервис с непонятным названием в выписке.
  • Пробные периоды, которые стали платными.
  • Подорожание — на сколько процентов и с какой суммы.
  • Уже отменённые подписки — чтобы не искать то, что вы и так отключили.
  • Подписки через App Store и Google Play — их нельзя отменить в банке или в самом сервисе, и отчёт об этом предупреждает.
  • Где отменять каждую подписку и что делать, если деньги списали после отмены — с шаблоном заявления на возврат по ст. 32 Закона «О защите прав потребителей».

Обычные покупки — продукты, кофе, такси — в отчёт обычно не попадают: у них нерегулярные даты и суммы. Но если вы покупаете что-то строго раз в неделю на похожую сумму, такая строка может попасть в отчёт — просто пропустите её.

Быстрый старт

Проще всего — онлайн-версия: перетащите выписку на страницу. Там же можно отметить ненужные подписки и сразу увидеть, сколько сэкономите за год. Страницу можно и скачать: откройте docs/index.html из репозитория двойным кликом — она работает без интернета.

Командная строка. Нужен только Python 3.9 или новее — на Mac и Linux он обычно уже есть.

  1. Выгрузите выписку по карте в формате CSV из приложения или интернет-банка — лучше за 3–6 месяцев.
  2. Запустите:
git clone https://github.com/codebywater/subscription-hunter
cd subscription-hunter
python3 skills/subscription-hunter/scripts/subhunter.py ~/Downloads/выписка.csv

Несколько карт или банков — перечислите файлы через пробел. Отчёт в таблицу: --format csv -o подписки.csv, в JSON: --format json.

Выписку разбирает библиотека vypiska — одна и та же в скрипте и на странице. Колонки выписки определяются автоматически: дата операции, описание, сумма (или отдельно «расход» и «приход»), статус. Кодировка (UTF-8 или Windows-1251) и разделитель (;, ,, табуляция) — тоже. Если ваш банк выгружает выписку так, что скрипт её не читает, — создайте issue с заголовками колонок (без самих операций).

С ИИ-агентом: Claude Code, Codex, Cursor

Скилл subscription-hunter делает то же самое, но в разговоре: запускает поиск, уточняет спорные случаи («это аренда или подписка?»), помогает отменить и пишет заявление на возврат.

Claude Code — в обычном терминале:

claude plugin marketplace add codebywater/subscription-hunter
claude plugin install subscription-hunter@subscription-hunter

Codex или Cursor:

git clone https://github.com/codebywater/subscription-hunter
cd subscription-hunter && sh install.sh codex    # или cursor

Потом попросите агента: «Найди мои подписки в выписке выписка.csv».

Как это работает

Онлайн-версия и скрипт считают одинаково: тесты сверяют их результаты на примере и на случайно сгенерированных выписках.

  1. Списания группируются по продавцу: из описания убираются номера терминалов, города и служебные слова. Известные сервисы распознаются по справочнику.
  2. Для каждой группы проверяется, повторяются ли списания через равные промежутки — неделя, месяц, квартал, полгода, год. Пропущенный месяц не мешает.
  3. Суммы должны быть похожи (±30%), иначе это обычные покупки у одного продавца.
  4. Подписка считается отменённой, если очередного списания нет дольше, чем период плюс запас.

Ограничения

  • Нужна выписка в CSV. PDF и Excel пока не читаются — их можно выгрузить заново в CSV или попросить ИИ-агента перевести таблицу.
  • Годовую подписку видно только по двум списаниям, то есть по выписке больше чем за год. По одному списанию известного сервиса она попадает в «Возможные подписки».
  • Регулярные платежи вроде аренды, кредита или мобильной связи тоже попадут в отчёт — решать, что из этого подписка, вам.

Планы

  • Версия в браузере: перетащил выписку — получил отчёт, без установки и без отправки данных на сервер
  • Чтение выписок в PDF и Excel
  • Больше сервисов в справочнике
  • Напоминание о следующем списании

Как помочь

Больше всего нужны новые сервисы в справочнике — это одна строка в services.json. Как это сделать — в CONTRIBUTING.md.

Лицензия

MIT © 2026 Greg Reshetnyak (gregreshetnyak52@gmail.com).

Проект не связан с банками и сервисами, которые упоминаются в справочнике, и не одобрен ими. Отчёт и шаблон заявления — подсказка, а не финансовая или юридическая консультация.

Контакты

Автор: Greg Reshetnyak — gregreshetnyak52@gmail.com (вопросы, предложения, сотрудничество).

Ошибки и идеи — в issues.

Если охотник нашёл у вас забытую подписку — поставьте ⭐, чтобы его нашли и другие.

About

Находит забытые подписки и автосписания в банковской выписке. Работает в браузере, данные не покидают компьютер.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages