Наша веб-студия обслуживает клиентов по подписочной модели: Wazzup24, Bitrix24, amoCRM, Яндекс.Директ, хостинг, телефония. Каждый месяц — ручная проверка 30+ подписок, выставление счетов, создание задач в CRM. На это уходило 4-6 часов. Мы написали бота, который делает это за 2 минуты.
Проблема
У нас ~15 клиентов, каждый использует 2-5 SaaS-сервисов. Итого 30+ подписок, которые нужно:
Раньше это делал менеджер вручную: заходил в каждый личный кабинет, смотрел даты, создавал счёт в Word, отправлял в чат, ставил задачу. Забывали, пропускали, клиенты оставались без WhatsApp-канала на выходных.
Решение — BillPilot
Бот на Python, который каждый день в 10:00:
1. Логинится в личные кабинеты сервисов через Playwright (headless-браузер)
2. Собирает данные о подписках и балансах
3. Анализирует — что скоро истекает, где кончаются деньги
4. Генерирует счёт-оферту (DOCX → PDF, с реквизитами и подписью)
5. Отправляет алерт + счёт в Telegram
6. Создаёт задачу в Bitrix24 на ответственного менеджера
Почему Playwright, а не API
Потому что у большинства SaaS-сервисов нет нормального API для партнёров:
Только Яндекс.Директ и SMS.ru дали нормальный API.
Что мониторим
| Сервис | Как подключаемся | Что отслеживаем |
| Wazzup24 | Playwright + перехват API | 30+ каналов (WhatsApp, Telegram, Instagram) — сроки подписок |
| Яндекс.Директ | REST API | Баланс, расход/день, прогноз "хватит на N дней" |
| Bitrix24 | Playwright + TOTP 2FA | Лицензия клиента, дата истечения |
| amoCRM | Playwright | Подписки, тарифы, сроки |
| AIDeploy | REST API | Баланс AI-агентов |
| SMS.ru | API | Баланс SMS-рассылок |
| Gmail | IMAP | Входящие счета от поставщиков (Diginetica, UIS, хостинг) |
Как устроен алерт
Бот классифицирует подписки по срочности:
Для critical и warning:
1. Генерируется счёт-оферта — DOCX по шаблону с реквизитами, автоинкрементным номером, суммой с учётом партнёрской скидки
2. Счёт + алерт уходит в Telegram
3. Создаётся задача в Bitrix24 с дедлайном, ответственным и наблюдателем
Генерация счетов
Самое интересное — автоматическая генерация счетов-оферт. Бот:
Счета нумеруются автоматически (сейчас #187 и растёт). Нет ручной работы вообще.
Bitrix24 + TOTP
Отдельная боль — создание задач в Bitrix24. У Bitrix24 нормальный REST API, но для партнёров-интеграторов обязательная двухфакторная авторизация, которую нельзя отключить.
Решение: Playwright логинится с email/паролем, затем программно генерирует TOTP-код через pyotp и вводит его. После логина — вызывает BX.rest.callMethod() прямо в браузере для создания задачи.
Костыль? Да. Работает стабильно? Тоже да — 13 из 13 запусков без ошибок.
Мониторинг входящих счетов из Gmail
Бот подключается к Gmail по IMAP и ищет письма от конкретных поставщиков:
Находит вложения-счета (PDF), пересылает в Telegram и создаёт задачу "оплатить счёт" в Bitrix24.
Результат
За первую неделю работы бот:
Менеджер больше не заходит в личные кабинеты вручную. Всё приходит в Telegram — посмотрел, оплатил (или переслал клиенту), закрыл задачу.
Стек
Сколько стоила разработка
[ЗАПОЛНИТЬ: часы/стоимость разработки, или убрать секцию]
Планы
*Если вашей IT-компании нужна автоматизация биллинга — пишите, поможем настроить аналогичную систему.*
*FriendAdmin — веб-студия, разработка сайтов, CRM, AI-автоматизация.*
*friendadmin.ru*