Skip to content

About

Offline PDF to XLSX/CSV/JSON converter for Yandex Bank statements (deposit Сейв + card account, auto-detected). Конвертер банковских выписок Яндекс Банка из PDF в Excel — всё локально, данные не покидают компьютер.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Yandex Bank Statement Converter — конвертер выписок Яндекс Банка (PDF → Excel)

tests

Лёгкий офлайн-конвертер банковских выписок Яндекс Банка (YABANK, Яндекс Пэй) из PDF в XLSX (Excel), CSV или JSON. Поддерживаются оба вида выписок: по вкладу («Сейв») и по карте (банковский счёт) — вид определяется автоматически. Все данные обрабатываются локально — банковская выписка никуда не отправляется.

Offline converter for Yandex Bank (Russia) PDF account statements into Excel (XLSX), CSV or JSON. Supports both statement kinds — savings («Сейв» deposit) and card account. 100% local processing: no uploads, no analytics, no telemetry — your banking data never leaves your computer.

Если вы искали: «конвертер выписки Яндекс Банка», «выписка Яндекс Пэй в Excel», «выписка по вкладу Сейв PDF в таблицу», «выписка Яндекс Банка по карте в Excel», «парсер PDF-выписки банка» — это оно.

Что делает

  • читает «Выписку по договору» Яндекс Банка (PDF), сам различая вклад и карту;
  • вклад: описание, дата операции, сумма в валюте договора;
  • карта: описание (склеивается из нескольких строк), дата и время операции (время в PDF стоит отдельной строкой «в 11:33»), дата обработки, номер карты, суммы в валюте операции и договора;
  • сортирует от старых к новым; списания — отрицательные, поступления — положительные;
  • сверяет суммы с итогами банка («Входящий/Исходящий остаток», «Итого списаний/зачислений» у вклада, «Всего расходных/приходных операций» у карты); при расхождении файл создаётся с пометкой _VERIFICATION_FAILED;
  • сохраняет результат в XLSX (по умолчанию), CSV (разделитель на выбор) или JSON.

Быстрый старт (без командной строки)

Нужен только установленный Python 3.10+ (в Windows при установке отметьте «Add Python to PATH»). Дальше:

  • Windows — двойной щелчок по start_windows.bat;
  • Linux/Mac — запустите ./start_linux_mac.sh.

Первый запуск сам установит зависимости (около минуты), затем автоматически откроется браузер со страницей конвертера: перетащите PDF → «Конвертировать» → «Скачать результат».

Установка

Через uv (рекомендуется):

uv sync

Либо классически:

python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt

CLI

# XLSX по умолчанию, результат рядом с исходником: statement_converted.xlsx
python converter.py statement.pdf

# явное имя результата; формат определяется расширением (.xlsx/.csv/.json)
python converter.py statement.pdf result.csv

# CSV с другим разделителем
python converter.py statement.pdf result.csv --delimiter ","

(при использовании uv — uv run python converter.py ...)

Web-интерфейс

python converter.py --web            # браузер откроется автоматически
python converter.py --web --no-browser --port 9000

Страница доступна на http://127.0.0.1:8739/ — перетащите PDF, выберите формат, нажмите «Конвертировать» и скачайте результат.

Архитектура: браузер не может запускать локальный Python напрямую, поэтому используется крошечный web-сервер стандартной библиотеки (вариант A из SPEC). Он слушает только 127.0.0.1 — снаружи компьютера недоступен.

Privacy

Выписка обрабатывается локально. Никаких внешних запросов, аналитики, telemetry, CDN — см. PRIVACY.md.

Testing

uv run pytest

Тесты используют синтетические PDF-макеты обоих видов выписки (tests/fixtures/, генератор tests/fixtures/make_fixtures.py). Реальные выписки в репозиторий не попадают (data/ в .gitignore); локальные интеграционные тесты на реальных файлах автоматически пропускаются, если файлов нет.

Ограничения

  • Поддерживается только «Выписка по договору» Яндекс Банка (вклад «Сейв» и банковский счёт).
  • В выписке по вкладу у операций нет времени — в результате выводится только дата (ТЗ просит DD.MM.YYYY HH:MM, но времени в данных банка нет).
  • Таблицы в PDF без разделительных линий, разбор построчный; длинные описания склеиваются из нескольких строк через пробел.

License

MIT

About

Offline PDF to XLSX/CSV/JSON converter for Yandex Bank statements (deposit Сейв + card account, auto-detected). Конвертер банковских выписок Яндекс Банка из PDF в Excel — всё локально, данные не покидают компьютер.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages