← Как я работаю
Используется ежедневно Личный проект · 2026

ИИ-трекер расходов с импортом банковских выписок

Раз в несколько дней я тратил от 30 до 60 минут, чтобы вручную записать свои расходы. Я создал приложение, которое читает выписку моего банка, поручает ИИ выбрать категорию для каждого платежа и просит меня проверить каждую строку. А ещё оно сообщает моей девушке, сколько она мне должна.

Моя роль
Я спроектировал приложение и решил, как в нём используется ИИ. Код написали кодинг-агенты — Claude Code и Codex — в рамках моих правил и проверок.
Статус
Я пользуюсь приложением каждый день с апреля 2026 года. Код закрыт, поэтому работу приложения показывает демо-видео на тестовых данных.
Стек
Android, Claude через мой приватный ИИ-шлюз, Telegram Bot API, GitHub для резервных копий и обновлений
Масштаб
Около 1000 транзакций за два года, включая историю, которую я перенёс из старых приложений

Задача

Мой банк, Toss Bank, выдаёт выписки в виде Excel-файлов, защищённых паролем. В каждой строке есть дата, сумма и короткое название магазина.

Я хотел знать, куда уходят мои деньги, а ещё у нас с моей девушкой много общих расходов. Поэтому раз в несколько дней я копировал строки в приложение для учёта бюджета, выбирал для каждой строки категорию и считал, какая часть расходов приходится на девушку.

Как развивалось приложение

Я начал с малого. В апреле 2026 года я за два дня сделал Telegram-бота. Затем бот стал Telegram Mini App — небольшим веб-приложением внутри Telegram — и получил импорт с помощью ИИ. В июне 2026 года из него выросло Android-приложение, которым я пользуюсь сегодня.

Как проходит импорт

  1. Открыть выписку Приложение открывает Excel-файл банка на телефоне с помощью сохранённого пароля.
  2. Прочитать числа Код считывает из каждой строки дату, сумму и название магазина. ИИ никогда не задаёт сумму.
  3. Сопоставить чеки Для заказов из Coupang, корейского интернет-магазина, приложение находит письмо о заказе и добавляет названия товаров.
  4. ИИ выбирает категорию Claude выбирает из фиксированного списка категорий. Мои правила для знакомых магазинов срабатывают первыми.
  5. Я проверяю каждую строку Я отмечаю, кто платил: I Pay Full, Half или She Pays. Я могу исправить любое поле или пропустить строку.
  6. Сохранить и уведомить Строки сохраняются на телефоне, а моя девушка получает в Telegram сообщение со своей итоговой суммой.
  • Если ИИ даёт сбойКатегории проставляют локальные правила, а уведомление объясняет причину
  • Резервная копияЗакрытый репозиторий на GitHub, который обновляется после каждого изменения
  • ОбновленияПодписанные обновления приложения из GitHub Releases
Путь одной банковской выписки: от файла до сохранённых расходов. Пунктиром отмечен шаг, который выполняется, только когда включён поиск писем.

Пример: одна строка выписки шаг за шагом

  1. Строка в файле банка 2026-09-23 11:52 · 쿠팡(쿠페이)_KCP · −12,800 KRW
  2. После сопоставления с чеком 쿠팡(쿠페이)_KCP — A4 복사용지 500매 В письме о заказе указан товар: пачка офисной бумаги формата A4.
  3. Что считывает код и что добавляет ИИ
    • date: 2026-09-23
    • amount: −12,800 KRW
    • type: expense
    • category: Paperwork › Printing & scanning
    Первые три поля заполняет код. ИИ выбирает только категорию.
  4. Я нажимаю Half, и сообщение уходит в Telegram 2026-09-23 11:52 - 쿠팡(쿠페이)_KCP — A4 복사용지 500매 [Printing & scanning] - 6,400 KRW (total: 12,800 KRW)
Выдуманная строка из тестовых данных приложения: она показывает шаги на примере.

Проектные решения

  • С числами работает код. Однажды ИИ принял остаток на моём счёте за доход. Теперь каждую сумму и дату считывает код, а знак суммы определяет, доход это или расход. ИИ только выбирает категорию, поэтому он не может изменить итог.
  • Хорошие входные данные важнее хорошего промпта. В выписке все списания Coupang выглядят почти одинаково, поэтому ни один промпт не помог бы правильно определить их категорию. Когда приложение стало сопоставлять каждое списание с письмом о заказе, ИИ получил настоящие названия товаров. Чек засчитывается, только если его сумма равна списанию, а письмо пришло в пределах двух часов от него.
  • Мои правила идут первыми. Правила, которые я задал для знакомых магазинов, всегда перекрывают выбор ИИ.
  • Сбои никогда не остаются незамеченными. Если вызов ИИ не удался или ИИ вернул категории не из списка, строки размечают локальные правила, а уведомление объясняет причину. Строка, которую не удалось разметить ничем, остаётся в категории «Unknown», чтобы я её исправил.
  • Решения опираются на реальные данные. Раньше возвраты считались доходом. В моих собственных выписках 10 из 17 возвратов Coupang совпали ровно с одним более ранним списанием. Поэтому теперь приложение само вычитает такие возвраты из покупки, а остальные оставляет мне для ручного сопоставления.
  • Приватность по умолчанию. Данные хранятся на телефоне. При импорте в ИИ уходит только текст выписки — через мой собственный шлюз. Резервные копии уходят в закрытый репозиторий на GitHub и никогда не содержат паролей и токенов.

Посмотрите приложение в работе

Смотреть 12-минутное демо на YouTube В видео приложение работает в демо-режиме, только с тестовыми данными.

Скриншоты сделаны в демо-режиме приложения, где показаны только тестовые данные.

Результаты

  • 40–100 чэкономии в год, по моей собственной оценке
  • ~1000учтённых транзакций за два года истории
  • Ежедневноиспользуется с апреля 2026 года

Раньше обновление занимало от 30 до 60 минут. Теперь импорт занимает от 5 до 10 минут.

А ещё разбивка расходов по категориям помогла мне экономить деньги.

Код приложения закрыт. Видео и скриншоты показывают демо-режим, который работает на тестовых данных.