Автоматизация отчётов — это когда цифры сами собираются из источников и в одно и то же время приходят к тому, кто по ним действует. Руками остаётся одно: прочитать и решить. Инструмент для этого найдётся почти всегда: Excel, Google Таблицы, скрипт или сервис. Труднее понять, что именно автоматизировать.
Ниже порядок работы: какие числа нужны и кто по ним действует, что ломает отчёты на практике, четыре уровня автоматизации с их границами, место ИИ в отчётах, макет сводки на пять строк и чек-лист.
Сначала решите, кто и что сделает по отчёту
Отчёт, по которому никто ничего не делает, автоматизировать бессмысленно. Деньги уйдут на то, чтобы бесполезный документ приходил вовремя.
Проверка простая. Выпишите каждую строку нынешнего отчёта и заполните для неё три поля: откуда берётся число, кто на него смотрит и что этот человек делает, если число плохое. Условный пример для компании, которая делает мебель или навесы на заказ:
| Число | Откуда | Кто смотрит | Что делает, если число плохое |
|---|---|---|---|
| Просроченные этапы заказов | Таблица заказов или CRM | Начальник производства | Звонит мастеру, переносит срок клиенту |
| Долги после сдачи | Таблица оплат или 1С | Владелец | Поручает менеджеру позвонить должнику |
| Заявки без ответа дольше 30 минут | CRM или мессенджер | Руководитель продаж | Разбирает, кто пропустил и почему |
| Остаток денег на счетах | Банк или 1С | Владелец | Сдвигает платежи поставщикам |
Строку с пустой последней колонкой из отчёта убирают. Обычно после этого остаётся три-пять чисел. Этого хватает, и такая сводка целиком помещается на экране телефона.
Второе правило: у каждого числа один источник. Если выручку считают и в 1С, и в таблице менеджера, а цифры расходятся, автоматика не решит, какая из них верная. Решите это до начала работ и запишите.
Третье: рядом с числом, которое легко улучшить на бумаге, поставьте число качества. Время ответа на заявку быстро сокращается, если менеджер пишет «принято» и пропадает. Почему показатель, ставший целью, перестаёт что-то показывать, мы разбирали в статье «Что измеряется, тем управляют».
Что на самом деле ломает отчёты
Отчёты ломаются в двух местах: при ручном копировании и на молчаливых пределах. С копированием всё понятно: вставили не тот диапазон, забыли новую строку, перепутали неделю. Молчаливый предел опаснее. Система не выдаёт ошибку, она просто отбрасывает лишнее, и отчёт выглядит как обычно.
15 841 случай, которого не было в сводке
Осенью 2020 года Public Health England (PHE) собирала результаты тестов на COVID-19 для ежедневной сводки новых случаев в Англии. 4 октября агентство сообщило, что 15 841 случай за 25 сентября — 2 октября в ежедневные цифры не попал. Причину PHE описала так: часть файлов с результатами превысила максимальный размер файла при загрузке в центральные системы.
Подробности рассказала BBC. Лаборатории сдавали результаты текстовыми файлами CSV, и с ними проблем не было. PHE автоматически собирала их в шаблоны Excel, и её разработчики выбрали старый формат XLS. Шаблон в этом формате вмещал около 65 тысяч строк, а на каждый результат теста приходилось несколько строк. В итоге шаблон держал примерно 1 400 случаев, а всё, что сверх, в файл просто не попадало. Лист современного Excel вмещает 1 048 576 строк.
Результаты тестов люди получили как обычно. Пострадало отслеживание контактов: пропущенные случаи попали в эту систему с опозданием, все их передали туда к часу ночи 3 октября. После сбоя PHE стала делить большие файлы на части.
Процесс был автоматизирован, и это его не спасло. Поймать такой сбой помогает проверка, которую можно встроить в любой отчёт: сколько строк пришло на вход и сколько учтено в итоге.
Формула, которая не дотянулась до пяти стран
Похожая история — рабочая таблица экономистов Кармен Райнхарт и Кеннета Рогоффа к их работе 2010 года «Growth in a Time of Debt». Формула среднего захватывала строки 30–44 вместо 30–49, и Австралия, Австрия, Бельгия, Канада и Дания выпали из расчёта без единого сообщения об ошибке. Нашли это в 2013 году Томас Херндон, Майкл Эш и Роберт Поллин, когда получили таблицу у авторов и пересчитали её (рабочий доклад PERI № 322, статья в Cambridge Journal of Economics); по одной итоговой цифре такую ошибку не увидеть.
Четыре уровня автоматизации отчётов
Автоматизировать отчёт можно на четырёх уровнях: обновление данных в Excel, Google Таблицы со скриптом по расписанию, сборка из нескольких систем с отправкой в Telegram и BI-дашборд. Выбирайте самый низкий уровень, который закрывает задачу: каждый следующий дороже в поддержке.
| Уровень | Когда подходит | Граница |
|---|---|---|
| Excel и Power Query | Данные приходят выгрузками и файлами, отчёт читают один-два человека | Кто-то должен открыть файл |
| Google Таблицы и Apps Script | Данные уже в таблицах, нужна рассылка по расписанию | Квоты Google; данные из CRM и 1С сначала надо выгрузить |
| Сборка по расписанию и Telegram | Данные в нескольких системах, сводка нужна в телефоне | Нужны сервер и человек, который чинит связку |
| BI-дашборд | Отчётов много, их смотрят в разных разрезах разные люди | Дашборд надо открывать; малой команде хватает сводки |
Уровень 1. Excel и Power Query: обновление при открытии файла
Автоматизация отчётов в Excel начинается с Power Query. Один раз вы описываете, откуда брать данные — файл выгрузки, папку, базу, — и как их почистить: убрать лишние столбцы, привести даты к одному виду, сложить листы. Power Query запоминает эти шаги, и дальше отчёт не собирают заново, а обновляют.
Обновление можно запускать и без кнопки. Microsoft описывает два режима: при открытии книги и через заданное число минут. Оба включаются флажками в свойствах подключения, на вкладке «Использование».
Граница этого уровня: Excel обновляет данные, но отчёт никому не отправляет, а обновление по таймеру работает, только пока книга открыта. Если отчёт нужен одному человеку, который и так открывает файл каждое утро, этого достаточно. И сохраняйте файл в .xlsx: история PHE — как раз про формат.
Уровень 2. Google Таблицы: IMPORTRANGE, QUERY и триггер по времени
Если данные уже лежат в Google Таблицах, отчёт собирается формулами. IMPORTRANGE подтягивает диапазон из другой таблицы; при первом подключении нужно разрешить доступ. QUERY выполняет над диапазоном запрос, похожий на SQL. Например, число просроченных этапов по исполнителям:
=QUERY('Заказы'!A:F; "select C, count(A) where F = 'просрочен' group by C"; 1)
У IMPORTRANGE есть пределы, о которых лучше знать заранее. Один запрос — не больше 10 МБ данных. Изменения в источнике подтягиваются в открытые таблицы, а если ничего не менялось, функция, по справке Google, сама проверяет обновления раз в час, пока документ открыт. Цепочки таблиц, которые тянут данные друг из друга, обновляются с задержками, и Google советует такие цепочки ограничивать.
Чтобы отчёт уходил сам, нужен скрипт на Apps Script и триггер по времени: он запускает скрипт с частотой от раза в минуту до раза в месяц. Скрипт читает итоговый лист и отправляет письмо или сообщение в Telegram. Время срабатывания у триггера немного плавает, а у обычного аккаунта Gmail есть квоты на время работы скриптов и число писем. Готовый код сводки с триггером и разбор этих оговорок — в статье «CRM в Google Таблицах».
Граница: всё работает, пока данные живут в Google. Если заказы ведут в CRM, а оплаты — в 1С, их придётся сначала выгружать в таблицу, и ручной шаг вернётся.
Уровень 3. Сборка из нескольких систем и сводка в Telegram
Когда числа лежат в разных системах, отчёт собирает программа, которая запускается по расписанию. Она забирает данные из CRM, таблиц и 1С через API или выгрузку, считает итоги и отправляет короткую сводку в Telegram. Руководитель читает её в телефоне, не открывая ни одной программы.
Отправляет сводку бот, и у него есть предел: текст одного сообщения — до 4 096 символов. Это полезное ограничение. Сводка и должна быть короткой, а полную таблицу бот прикладывает файлом размером до 50 МБ.
Собирают такую связку кодом или в n8n, где расписание задаёт узел Schedule Trigger. Проверьте часовой пояс. Узел берёт пояс воркфлоу, а если он не задан — пояс всего сервера n8n. У n8n, установленного на своём сервере, по умолчанию стоит Нью-Йорк, и «сводка в 8:00» придёт в 17:00 по Ташкенту летом и в 18:00 зимой. Сколько стоит n8n и что разрешает его лицензия, мы разбирали в отдельной статье.
Отдельно про автоматизацию отчётов в 1С. В Библиотеке стандартных подсистем (её используют и прикладные решения самой фирмы «1С») есть подсистема «Рассылка отчетов». Она отправляет отчёты по почте, выкладывает их на FTP или в сетевую папку и запускается по расписанию или по кнопке (описание на сайте 1С). Есть ли она в вашей конфигурации, подскажет ваш специалист по 1С. Если отчёт целиком живёт в 1С и почты хватает, начните с неё. Связка нужна, когда числа из 1С надо свести с CRM или отправить в мессенджер.
Граница: нужны сервер и человек, который отвечает за связку. Источники меняются — CRM обновляет API, в таблице появляется новый столбец, — и связка ломается. Поэтому в сводке нужна строка о свежести данных, о ней ниже.
Уровень 4. BI-дашборд, когда отчётов много
BI нужен, когда отчётов десятки и их смотрят в разных разрезах: по филиалам, менеджерам, месяцам. Бесплатный вариант от Google — Data Studio: в апреле 2026 года Looker Studio вернули прежнее имя. Он подключается к Google Таблицам и базам данных и умеет присылать отчёт в PDF на почту по расписанию.
У каждого источника в Data Studio своя частота обновления. У Google Таблиц по умолчанию раз в 15 минут, у рекламных сервисов Google вроде Google Ads — раз в 12 часов, и это не настраивается. Если на дашборде выбран период «сегодня», а данные рекламы обновились утром, на экране будут утренние расходы.
Граница: дашборд надо открыть. Команде из пяти человек обычно хватает сводки в мессенджере, а дашборд рискует стать ещё одной вкладкой, которую редко открывают.
Где в отчётах нужен ИИ, а где формулы
Цифры в отчёте считают формулы, запросы и код. При одинаковых данных они дают одинаковый результат, и его можно проверить. ИИ полезен рядом с цифрами, там, где на входе текст:
- разложить по темам комментарии менеджеров или причины отказов;
- расшифровать голосовые и достать из них факты для отчёта;
- написать одну-две фразы вывода по уже посчитанным числам.
Так советовала и сама Microsoft. В справке о функции =COPILOT() в Excel было написано: «COPILOT использует ИИ и может давать неверные ответы» (перевод наш). Для числовых расчётов и задач, где нужна точность или воспроизводимость, Microsoft рекомендовала обычные SUM, AVERAGE и IF, а в финансовой отчётности советовала избегать ответов ИИ. Там же предупреждала, что результат формулы может со временем меняться при тех же аргументах (архивная копия справки от 22 августа 2026 года).
У истории есть продолжение. С 14 сентября 2026 года функция COPILOT больше недоступна: она была в предварительной версии. Посчитанные раньше значения остаются в книге, но при пересчёте ячейка показывает ошибку #NAME?. Отчёт, построенный на предварительной функции, ломается в тот день, когда поставщик её убирает.
И ещё одно правило: нет данных — нет цифры. Если CRM не ответила, в сводке должно стоять «нет данных из CRM», а не ноль и не вчерашнее число. Ноль читается либо как хорошая новость, либо как катастрофа, и в обоих случаях решение будет принято по несуществующей цифре.
Макет сводки на пять строк
Каркас утренней сводки, который можно забрать себе. Цифры и номера условные.
Сводка на 29.09, 08:00
1. Просрочено этапов: 3 (вчера 5) — цех: 2, замер: 1
2. Стоят больше двух суток: 2 заказа — А-1042 «Замер», А-1057 «Цех»
3. Должны после сдачи: 4 клиента — список в файле «Долги»
4. Заявки без ответа дольше 30 минут вчера: 1 из 27
5. Данные: CRM — 07:55, оплаты — 07:58, 1С — нет данных
Что здесь важно:
- Сравнение со вчера. «3» ничего не говорит, «3, вчера 5» показывает, куда идёт дело.
- Этапы и номера вместо сумм по отделу. Из сводки должно быть понятно, кому звонить, без открытия таблицы.
- Детали — файлом или ссылкой. В сообщении только итог, полный список — вложением.
- Строка качества. Четвёртая строка показывает, не куплена ли скорость ценой пропущенных заявок.
- Свежесть данных. Последняя строка говорит, откуда цифры и когда они обновились. Если источник молчит, это видно сразу, а не через неделю.
Если за день ничего не произошло, сводку лучше не присылать вовсе. Сообщение «всё в порядке» каждое утро быстро становится фоном, который пролистывают не глядя.
Чек-лист перед запуском
- Выпишите строки нынешнего отчёта и для каждой заполните: источник, кто смотрит, что делает. Строки с пустым «что делает» вычеркните.
- Оставьте три-пять чисел и одно число качества.
- Закрепите за каждым числом один источник.
- Неделю замеряйте, сколько времени уходит на ручную сборку. Это метрика «до».
- Выберите самый низкий из четырёх уровней, который закрывает задачу.
- Встройте проверки: сколько строк пришло и сколько учтено; время обновления у каждого источника; «нет данных» вместо нуля.
- Две недели ведите автоматический и ручной отчёт параллельно и разберите все расхождения, прежде чем отключать ручной.
- Назначьте хозяина: кто чинит, если сводка не пришла, и кто узнаёт об этом первым.
Как выбрать процесс, если отчёт — не самое больное место, — в статье «Что автоматизировать первым». Общий план на семь шагов — в статье «Как автоматизировать бизнес».
Чего мы не знаем
Предупреждение Microsoft о функции COPILOT мы приводим по архивной копии справки: на нынешней странице его уже нет. Деталь про формат XLS в истории PHE известна из BBC, в заявлении самого агентства сказано только о превышении размера файла. Документацию 1С о рассылке отчётов на its.1c.ru мы не открыли — она по подписке, поэтому описание взято с сайта 1С.
Честно о том, где тут мы
Сводки по расписанию наши системы присылают сами. CorpVisor ведёт заказы производственной компании в Самарканде и каждое утро в 8:00 по местному времени присылает руководителю сводку: что в работе, что просрочено, что стоит больше двух суток и сколько должны после сдачи. Если нет ни заказов в работе, ни просрочек, ни напоминаний на сегодня, сводка не приходит. Бот Valli в 21:00 по Ташкенту присылает владельцу итог дня: сколько было ответов и новых диалогов и кто из клиентов горячий. Пустой день он тоже пропускает. Valli сейчас в пилоте.
В сам учёт в 1С мы не лезем: проводки и встроенные отчёты остаются за бухгалтерией. Связку 1С с CRM или Telegram оцениваем отдельно, под вашу конфигурацию. Замеров, сколько часов экономит автоматизация отчётов, у нас нет — ни своих, ни чужих с понятным методом, поэтому цифр экономии в статье нет.
Как устроена утренняя сводка на производстве, показано на странице для производств. Сколько стоит связка «данные из нескольких систем → сводка в Telegram», — на странице «Автоматизация бизнеса с ИИ»: один процесс под ключ, до трёх интеграций, от $1 200 плюс $300 в месяц.
Если хотите, чтобы ваш отчёт приходил сам, опишите его в анкете на главной: какие числа, откуда они берутся и кому нужны. Разбор одного процесса — за 48 часов, бесплатно.