Утренний отчет из 1С прямо в Telegram
Задача
Руслан владеет сетью из четырёх аптек в одном городе. Каждое утро в 7:30 ему нужно было понимать что произошло вчера в каждой точке: какая выручка, какие остатки критичны, какие позиции заканчиваются, есть ли пересортица между точками. Без этой картины невозможно было принимать решения по закупкам, перебросам товара и работе с поставщиками
Сценарий до запуска агента выглядел так. Сотрудник на каждой точке закрывал день в 1С, выгружал стандартные отчёты в Excel и отправлял по почте старшему провизору. Старший провизор сводил четыре файла в один Excel, отдельно сверял остатки против минимальных порогов, выбирал что критично, вписывал в общий чат сети. Делал он это без структуры - иногда просто цифрами, иногда списком. Руслан утром читал чат, сам перепроверял что сошлось, звонил по точкам если что-то непонятно
- 90 минут утром на сбор и сверку, минимум 5 раз в неделю
- Данные приходили без сравнения с прошлой неделей - Руслан сам держал в голове что было
- К 11 утра отчёт уже устаревал, решения по перебросам товара принимались по вчерашним цифрам
- Если сотрудник старшего провизора заболел или забыл - отчёт не приходил вообще, Руслан собирал руками
- Раз в неделю всплывала ошибка переноса цифр между Excel и чатом, неделями замечали уже когда расхождение бросалось в глаза
Решение
Сделал утренний агент-аналитик который к 8:00 сам собирает данные из 1С четырёх точек, прогоняет через Claude для аналитики и присылает Руслану структурированный отчёт в Telegram. Сотрудники из цепочки убраны полностью - провизоры теперь работают только с клиентами, не пишут отчёты
Архитектура из четырёх слоёв:
- 1С-коннектор - каждую ночь в 6:00 выгружает за прошлые сутки три отчёта по каждой из четырёх точек: остатки в разрезе SKU, продажи за сутки, движения товара. Складывает в общий Google Sheets с разделением по точкам и датам
- Google Sheets как промежуточный слой - даёт три вещи. Первое - историю на 90 дней назад чтобы Claude мог сравнивать. Второе - Руслан может зайти и сам посмотреть сырые цифры если хочет. Третье - backup данных на случай если 1С упадёт
- Claude Sonnet через API - в 7:55 читает свежие данные плюс срез за прошлые 7 дней и пишет отчёт в фирменном формате Руслана. Считает изменения в процентах, выделяет аномалии (выручка просела больше чем на 30% относительно среднего по дню недели), отмечает критичные остатки (меньше двухдневного запаса), предлагает что нужно перебросить между точками
- Telegram-бот - в 8:00 присылает отчёт в личный чат с Руслана и в групповой чат с управляющими точек. На ответы и уточнения («покажи остатки по точке номер 3 детально») бот тоже отвечает - данные те же из Sheets, формат меняется по запросу
Под капотом крутится python-скрипт на VPS Hostinger ($5/месяц), запуск по cron, мониторинг через простую sentry-подписку чтобы Mat видел если выгрузка упала. Стоимость API Claude - около $4/месяц при текущих объёмах
Результат
Руслан утром получает готовую картину по сети без участия людей. Те 8 часов в неделю что раньше уходили на сбор отчёта, теперь идут на работу с поставщиками и переговоры по новым точкам. Старший провизор больше не дёргается на «срочно сделай отчёт» по утрам - занимается своей основной работой с клиентами
Незапланированный бонус - Claude в отчётах стал ловить аномалии которые человек пропускал. На второй неделе работы агент написал «выручка по точке 2 за вчера 12% от среднего по понедельникам» - оказалось что управляющий не оформил продажу через кассу для постоянного клиента-врача. Без агента это вскрылось бы через две недели на сверке
Хронология
- День 1-2Аудит процесса. Проинтервьюировал Руслана и старшего провизора, посмотрел реальные Excel-файлы за последние 30 дней, понял какие поля важны, какие можно выкинуть. Согласовал формат отчёта
- День 3-5Коннектор 1С → Google Sheets. Настроил выгрузку трёх стандартных отчётов на каждой точке через 1С-обработку. Тестировал на двух точках, потом раскатил на четыре
- День 6-8Промт для Claude. Это самая хрупкая часть. Написал базовый промт, прогнал через данные за прошлый месяц, сравнил с тем что Руслан реально считал важным. Поправил три раза, прежде чем стал доверять автоматическим выводам
- День 9-10Telegram-бот, мониторинг, обучение Руслана. Показал как уточнять у бота если что-то непонятно, как остановить если сломается, как добавить новую точку когда откроет
Подводные камни
Главное чему научился на этом проекте - нельзя начинать с архитектуры, надо начинать с реального формата отчёта. У Руслана в голове было «мне нужны выручка и остатки», но когда мы посмотрели его Excel-файлы за месяц - оказалось что он реально смотрит на семь разных метрик, плюс сравнения с прошлой неделей, плюс проценты от среднего. Если бы я спросил один раз и сделал по описанию - получилось бы бесполезно
Второй момент - 1С это не один источник, а три. Остатки, продажи и движения живут в разных регистрах, выгружаются разными отчётами, иногда расходятся между собой на копейки из-за округлений. Пришлось сделать сверочный шаг в Google Sheets - если расхождение больше рубля, в утренний отчёт добавляется флажок «проверь точку N»
Третий - Claude иногда галлюцинирует на цифрах если данных мало. На первой неделе работы было два случая когда он указал процент изменения который не сходился с фактом. Решилось через жёсткое разделение в промте: цифры считает Sheets-формула и подставляются в готовом виде, Claude только пишет интерпретацию и комментарий, не считает сам
Утром открываю Telegram - там уже всё по бизнесу за вчера, по делу, без воды. Час свободного времени каждое утро - я не ожидал что это будет так заметно. На прошлой неделе впервые за полгода сел в 8 утра не за отчёты а за переговоры по аренде новой точки
- Руслан, владелец сети аптек
Хочешь такого же агента в свой бизнес?