Чеки в таблицу: фото чека боту, траты сами по категориям
В уроке по слову БЮДЖЕТ мы разбирали банковскую выписку. В выписке видно «Пятёрочка 2 340», и всё. А что там было, продукты, бытовая химия или подарок, не видно. Ответ лежит в чеке, а чек лежит в кармане куртки и через неделю выцветает.
Здесь делаем бота. Вышла из магазина, сфотографировала чек, отправила боту. Нейросеть прочитала магазин, дату, сумму и покупки, бот разложил их по категориям и записал в таблицу. В конце месяца одна команда, и видно: на продукты столько, на химию столько, на «вкусненькое» столько.
Советов, куда девать деньги, тут нет, и для налоговой такой учёт не годится. Он нужен, чтобы увидеть свои траты.
Что получишь
- бота, которому отправляешь фото чека
- таблицу всех покупок: дата, магазин, товар, сумма, категория
- сводку за неделю и месяц по категориям
- файл, который открывается в Excel
Сначала про данные
Обычный чек из магазина личных данных почти не содержит: магазин, товары, суммы. Но на некоторых чеках бывают последние цифры карты или имя кассира. Последние цифры карты закрой пальцем при фото или просто не держи их в кадре. Чеки аптек и клиник лучше в такого бота не отправлять, там бывают сведения о здоровье.
Фото чека уходит в нейросеть GigaChat, чтобы её распознала. Остальное лежит на твоём компьютере.
Что нужно до старта
- Телеграм и компьютер на Windows или Mac, бот работает, пока он включён. Чеки, отправленные, пока он выключен, Телеграм хранит для бота не дольше 24 часов (документация Bot API)
- Python с python.org
- ключ GigaChat API: developers.sber.ru, вход через Сбер ID, проект GigaChat API для физлица, «Настройки API», «Получить ключ». Есть бесплатный режим: по странице тарифов Сбера (обновлена 7 октября 2026) 365 миллионов токенов на 12 месяцев на разные модели (тарифы GigaChat API)
- Claude или ChatGPT для кода (из России через VPN) или ГигаЧат на giga.chat
- вечер
Если уже собирала бота по урокам БОТ или СВОДКА, ключи и Python у тебя есть.
Сначала проверь, читает ли нейросеть твои чеки. Открой giga.chat, прикрепи фото чека скрепкой и напиши «перепиши товары и суммы с этого чека» (справка ГигаЧата). Если читает хорошо, бот тоже справится. Если путает, посмотри шаг «Где обычно ломается».
Шаги
Шаг 1. Бот у BotFather
@BotFather, /newbot, имя «Мои чеки», адрес латиницей с bot на конце, ключ бота никому не показываешь.
Шаг 2. Просьба к нейросети
Ты опытный разработчик. Я не программист, объясняй просто.
Напиши Телеграм-бота на Python: учёт покупок по фото чеков. Один хозяин.
1. Я отправляю фото чека. Бот отправляет фото в GigaChat API (модель, которая умеет читать изображения) с просьбой:
«Перепиши с чека: магазин, дату, итоговую сумму и список товаров с ценами. Верни строго JSON. Если что-то не читается, пиши null, не угадывай».
2. Бот раскладывает каждый товар по категориям: продукты, бытовая химия, гигиена, дети, дом, одежда, вкусности (сладкое, снеки, напитки), прочее. Категории можно поменять в файле kategorii.txt.
3. Записывает в файл pokupki.csv: дата, магазин, товар, цена, категория. Кодировка, которую нормально открывает русский Excel.
4. Отвечает мне: «Пятёрочка, 9 октября, 2 340 ₽: продукты 1 650, химия 420, вкусности 270». Под ответом кнопка «Неверно».
5. Если сумма товаров не сходится с итогом чека больше чем на 1 рубль - честно пишет «Сумма не сходится, проверь» и всё равно записывает с пометкой.
6. Кнопка «Неверно» - бот удаляет этот чек из таблицы и просит прислать фото ещё раз или ввести итог вручную.
7. Команды: /nedelya и /mesyac - сумма по категориям и топ-5 товаров по деньгам; /fayl - прислать pokupki.csv; /udalit - удалить последний чек.
8. Никаких советов про траты, только цифры.
9. Отвечает только хозяину (OWNER_ID из .env), остальным «Это личный бот». Если OWNER_ID пустой - отвечать «Твой ID: ...».
Технически:
- aiogram 3; официальная библиотека gigachat с PyPI, scope GIGACHAT_API_PERS; как правильно отправить изображение в GigaChat API - по актуальной документации Сбера. Проверь синтаксис по актуальным версиям
- сертификат НУЦ Минцифры подключить правильно, проверку SSL не отключать
- ключи TELEGRAM_TOKEN, GIGACHAT_CREDENTIALS, OWNER_ID из .env через python-dotenv
- весь код в одном файле bot.py
Дай по порядку: requirements.txt, bot.py целиком, .env с пустыми местами, пример kategorii.txt, команды установки и запуска на [Windows / Mac].
Шаг 3. Файлы и запуск
Папка cheki на рабочем столе, в Блокноте bot.py, requirements.txt, .env, kategorii.txt («Тип файла: Все файлы»). В .env ключи. Сертификат Минцифры, если нейросеть сказала, скачай с Госуслуг.
cd Desktop\cheki
pip install -r requirements.txt
python bot.py
Напиши боту, он покажет номер, впиши как OWNER_ID, перезапусти. Отправь фото свежего чека.
Шаг 4. Как фотографировать чек
- ровно сверху, на тёмном фоне (стол, обложка книги)
- чек расправлен, без заломов посередине
- весь чек в кадре, длинный можно двумя фото: сначала верх, потом низ, и написать «продолжение»
- при хорошем свете, без вспышки
Термобумага выцветает за неделю-две. Фотографируй сразу у кассы или дома в тот же день.
Шаг 5. Через месяц
/mesyac, и видно, куда ушли деньги в магазинах. Рядом с разбором выписки по уроку БЮДЖЕТ получается полная картина: выписка показывает, где тратила, чеки показывают, на что.
Где обычно ломается
Нейросеть путает цифры. 1 и 7, 3 и 8, особенно на бледном чеке. Поэтому бот сверяет сумму товаров с итогом. Не сошлось, нажми «Неверно» и пересними. Бледный чек проще вписать итогом вручную.
Сокращения в чеке непонятные. «МОЛ ПАСТ 3,2% 930» нейросеть обычно понимает как молоко. Если нет, категория будет «прочее». Раз в месяц посмотри «прочее» и подскажи категории в kategorii.txt.
GigaChat не читает фото. Значит, модель или способ отправки выбраны не те. Отправь нейросети, которая писала код, текст ошибки (без ключей) и попроси сверить с документацией Сбера.
Ошибка сертификата. Не подключён сертификат Минцифры, см. шаг 3.
Что дальше
Бот, который читает картинку и раскладывает её в таблицу, это уже настоящий помощник с нейросетью внутри. По тому же устройству собирают ботов для своего дела: приём заявок, ответы клиентам, ссылки на оплату. Как, разбирается в курсе «Свой бот в Телеграме за вечер»
Источники
- https://developers.sber.ru/docs/ru/gigachat/tariffs/individual-tariffs
- https://core.telegram.org/bots/api#getting-updates
- https://core.telegram.org/bots/tutorial
- https://www.python.org/downloads/
- https://giga.chat/help/articles/gigachat-load-picture
Ещё уроки
Новые уроки каждую неделю
Новые уроки, разборы и что поменялось в нейросетях за неделю - в телеграм-канале.
Телеграм-канал