RTP← Назад к кейсам
Кейс 07

Платформа учёта чеков и расходов в Telegram для команд в 12 регионах

142 бота в продакшене, 2,41 млн сообщений и 51 200 чеков за 30 дней при аптайме 99,98%. Каждая команда работает в своём боте, человек проверяет каждый чек, а ежедневные сверки формируются сами.

Роль: Разработка и эксплуатация·Сроки: Работает в продакшене·Статус: 142 бота
Операционный дашборд: 142 бота, 2,41 млн сообщений, 99,98% аптайма

Операционный дашборд за 30 дней

Задача

Команды финансового сервиса в 12 регионах вели учёт чеков и расходов вручную: фото в общих чатах, суммы в таблицах, сверки по вечерам. Данные терялись, валюты путались, а личности участников в общих чатах пересекались.

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

Решение

Собрали мульти-тенантную платформу на Telegram: у каждой команды свой бот, поэтому идентичности участников никогда не пересекаются.

  • Приём чека. Фото и сумма фиксируются в боте команды, дальше чек идёт на проверку человеку.
  • Проверка человеком. Одобрить, отклонить или отправить на доработку — решение всегда за человеком.
  • Мультивалютный учёт. Сверки по 12 региональным валютам, курсы обновляются и рассылаются в привязанные чаты.
  • Ежедневные сверки. Отчёты формируются сами по рабочим часам каждого чата.
  • Журнал аудита. Каждое сообщение и правка сохраняются и могут быть воспроизведены.

Система занимается только учётом и сверкой: она никогда не двигает деньги.

Технологии

Python, python-telegram-bot и aiogram, SQLite, systemd, DigitalOcean (Linux). Построено и обслуживается одним инженером.

Результат

142
Активных бота
2,41 млн
Сообщений за 30 дней
91,4%
Чеков одобрено (51,2K за 30 дней)
99,98%
Аптайм за 90 дней, без инцидентов для клиентов

Платформа работает без присмотра: очереди, мониторинг и перезапуски не теряют состояние, а журнал аудита позволяет восстановить любую цепочку событий.

Похожая задача?

Расскажите, что вы строите — будем рады обсудить.

Обсудить →