Вот картина, которую мы чаще всего видим в торговой или производственной компании. Каждое утро бухгалтер открывает учётную программу, запускает три-четыре отчёта, переносит цифры в таблицу, поправляет форматирование и отправляет владельцу скриншот в Telegram. Это занимает около трёх часов, отчёт приходит между 11:00 и обедом, и примерно раз в неделю в нём есть ошибка — потому что какая-то ячейка была затёрта при вставке. Владелец читает его с телефона, в машине, и задаёт один встречный вопрос — на который уходит ещё час.
Цель этой заметки узкая: тот же отчёт, в Telegram, в 08:00, без бухгалтера. Одна минута чтения вместо трёх часов работы. Именно этот процесс мы чаще всего предлагаем первым проектом: он маленький, заметный и измеримый.
Типовой объём первого проекта. Цифру по каждому клиенту публикуем, когда она измерена.
Архитектура словами
Диаграмма не нужна; частей пять.
- Источник. Ваша учётная программа, обычно со своими доработками. Мы не трогаем её настройки. Читаем данные через подключение, которое даёт сама программа, если ваш программист его откроет; если нет — начинаем с выгрузки, которую вы уже делаете: файла, который каждую ночь ложится в папку.
- Воркер. Небольшая задача по расписанию, запускается в 07:40 по местному времени. Забирает согласованные цифры, проверяет их, форматирует сообщение и отправляет. Работает в облачном аккаунте, оформленном на вашу компанию, а не на нас.
- Валидация. Перед отправкой воркер проверяет, что данные за вчера, что итоги сходятся с построчными суммами и что ничего не пусто. Если проверка не прошла, отчёт не уходит — предупреждение получает бухгалтер, а не владелец.
- Комментарий (опционально). Два предложения от языковой модели: что изменилось к вчерашнему дню и к тому же дню недели на прошлой неделе. Модель получает только агрегированные цифры, никогда — исходные документы.
- Доставка. Telegram-бот отправляет отчёт в закрытую группу тех, кому он нужен. История сообщений и есть архив; папки с таблицами больше никто не ищет.
Семь шагов
- Выберите один отчёт. Тот, который владелец действительно читает. Не двенадцать, которые делает бухгалтер, — один.
- Согласуйте цифры. Максимум пять-семь: продажи, поступления, остаток денег, дебиторка старше 30 дней, остатки по ключевым позициям. Если цифру нельзя определить одним предложением — она не готова к автоматизации.
- Достаньте данные из учётной программы. Подключение, которое даёт сама программа, или выгрузка по расписанию. Зафиксируйте формат выгрузки письменно — это контракт, на котором держится всё остальное.
- Валидируйте. Проверки из архитектуры выше должны быть кодом, а не привычкой.
- Форматируйте под телефон. Моноширинные колонки, один экран, без вложений. Цифры, которые читаются в 08:00 в машине.
- Расписание и журнал. Запуск в 07:40, доставка в 08:00, каждый запуск в журнале: что прочитано и что отправлено.
- Измеряйте несколько недель. Потом решайте, добавлять ли второй отчёт.
Что измерять
Замерьте до старта — иначе вы никогда не узнаете, что дала автоматизация.
- Минуты ручной работы в день на этот отчёт, до и после.
- Время, когда отчёт реально приходит: 11:30 против 08:00 — это цифра, которую владельцы запоминают.
- Исправления в месяц: как часто цифра была неверной и отчёт пересылали заново.
- Вопросы на отчёт: сколько раз владельцу пришлось спросить «а что с…». Хороший отчёт отвечает на второй вопрос до того, как его задали.
- Сходимость в конце месяца: бьются ли ежедневные цифры с закрытым месяцем в учётной программе.
Ловушки
Управление данными. Решите на одной странице, какие поля могут покидать учётную программу. Дневные итоги продаж — да. Зарплаты — никогда. Персональные данные граждан — имена и телефоны клиентов — минимизируются и, где этого требует закон, хранятся на серверах внутри Узбекистана. Провайдер модели получает только агрегаты. Запишите это до первого отправленного сообщения; одна и та же страница отвечает на все вопросы о данных, которые позже задаст клиент, проверяющий орган или партнёр.
Узбекское и русское форматирование. Здесь большинство первых попыток выглядят неправильно с первого дня. Разделитель тысяч — пробел, а не запятая: 12 450 000, а не 12,450,000. Десятичный разделитель в русском — запятая. Валюта ставится после числа — soʻm, сум или UZS — и одинаково в каждой строке. Даты — 04.09.2026. Узбекской латинице нужна правильная модификаторная буква: в «oʻtgan oy» стоит ʻ, и он должен правильно выглядеть на любом телефоне, — проверьте на самом старом в офисе. Решите, будет ли сообщение двуязычным или отдельным для каждого получателя; смешанное сообщение не читает никто.
Выгруженные файлы. Выгрузка может прийти в старой кириллической кодировке, а числа в ней — в виде текста. Обрабатывайте оба случая явно.
Устаревшие данные. Если бухгалтер не закрыл вчерашний день, отчёт должен так и сказать, а не отправлять нули.
Дрейф конфигурации. В следующем квартале кто-нибудь изменит отчёт в учётной программе. Зафиксированный контракт выгрузки плюс шаг валидации — то, что поймает это раньше владельца.
Сколько это стоит и куда ведёт
Стоимость первого проекта такого рода считается по объёму, а результат измеряется до и после. Если цифра держится, второй отчёт стоит долю первого, а тот же воркер может отправлять дожим заявок и генерировать документы. Хотите, чтобы мы посмотрели на ваш отчёт, — свяжитесь с нами и пришлите скриншот, который бухгалтер отправляет сегодня. Этот скриншот и есть всё техзадание.