Привет. Я себе такую штуку собрал в тот момент, когда меня окончательно достало вечером ковырять таблицу заказов, считать суммы на калькуляторе и руками набивать отчёт в чат. Если коротко, схема такая: n8n по расписанию открывает Google Sheets, забирает строки по заказам, выбирает нужные записи, собирает текст и отправляет его в Telegram. Ниже покажу, какие колонки реально нужны, какие ноды ставить, как оформить ежедневный отчёт в Telegram и где у этой связки обычно вылезают косяки.
Главный плюс у такой автосводки по заказам простой: ты в одно и то же время получаешь нормальный срез по дню — сколько заказов пришло, сколько оплачено, сколько зависло, на какую сумму всё это крутится и где надо пнуть себя или менеджера с утра. Для мастерской, маленького сервиса, домашнего производства и любой движухи, где заказы живут в таблице, это прям рабочий инструмент, а не игрушка.
Содержание статьи:
- Что в итоге получится
- Что должно лежать в Google Sheets, чтобы сводка не врала
- Какие ноды нужны в n8n
- Собираем workflow шаг за шагом
- Как оформить сообщение в Telegram
- Где чаще всего всё спотыкается
- Что я бы докрутил сверху
- Частые вопросы
- Финал
Что в итоге получится
На выходе у тебя будет n8n workflow, который сам стартует раз в день, читает таблицу заказов и шлёт в Telegram аккуратную сводку. Не простыню из сырых строк, а нормальное сообщение для человека: количество заказов, общая сумма, разбивка по статусам, пара заметок по проблемным позициям и, если надо, список последних заказов с номерами.
Я обычно делаю такую структуру сообщения:
- За день: сколько новых заказов попало в таблицу.
- Деньги: общая сумма по всем заказам и отдельно по оплаченным.
- Статусы: сколько в работе, сколько ждут оплаты, сколько уже закрыты.
- Хвосты: какие заказы висят дольше нужного или требуют внимания.
- Последние записи: 3–5 строк для быстрого взгляда.
Если у тебя заказы уже складываются в таблицу автоматически, потом к этой схеме удобно пристегнуть и другие куски процесса. Например, связку заявки из Telegram сразу в Google Sheets, техничку про подключение Telegram к n8n через Bot API и материал про контроль ошибок с уведомлениями в чат. Тогда у тебя уже не один отчёт живёт, а целая маленькая система.

Что должно лежать в Google Sheets, чтобы сводка не врала
Вот тут многие и ломают конструкцию. Хочется быстро накидать таблицу на коленке: имя клиента, сумма, комментарий, статус — и вроде погнали. А потом выясняется, что у двух заказов дата записана по-разному, статус написан то «оплачен», то «Оплачено», то вообще «деньги пришли», и отчёт начинает чудить. Я поэтому сразу советую держать таблицу как простую, но строгую базу.
Минимальный набор колонок у меня такой:
| Колонка | Зачем нужна |
|---|---|
| order_id | Номер заказа, чтобы можно было сослаться на конкретную запись. |
| created_at | Дата и время создания заказа. По ней мы режем данные за день. |
| client | Имя клиента или понятный идентификатор. |
| amount | Сумма заказа в числовом виде. |
| status | Статус заказа: new, paid, in_work, shipped, canceled — лучше выбрать один формат. |
| manager_note | Короткая заметка, если по заказу есть вопрос или особый комментарий. |
Мой совет такой: даты храни в одном формате, суммы — только числами, а статусы зафиксируй заранее. Чем меньше вольницы в таблице, тем стабильнее отчёт по заказам из Google Sheets. Если надо хранить что-то ещё, добавляй отдельные столбцы: способ доставки, источник заказа, дедлайн, телефон. Но не мешай всё в одну ячейку, потом сам себе спасибо скажешь.
Отдельно полезно договориться, что считается «дневной» записью. У одних это всё, что пришло с 00:00 до 23:59. У других — смена с 9 утра до 9 утра. У третьих важнее не дата создания, а дата оплаты. Сначала реши это на берегу, иначе автосводка по заказам будет честно считать не то, что тебе реально нужно.
Какие ноды нужны в n8n
Тут ничего космического. Базовая схема собирается из 4–6 нод, и этого уже хватает, чтобы каждый день получать уведомления о заказах в Telegram.
| Нода | Что делает |
|---|---|
| Schedule Trigger | Стартует workflow в нужное время, например каждый день в 21:00. |
| Google Sheets | Читает строки из нужного листа. |
| IF / Filter | Отбрасывает пустые, старые или лишние записи. |
| Code или Set | Считает количество, суммы, собирает текст отчёта. |
| Telegram | Отправляет готовую сводку в чат, группу или канал. |
| Error workflow | Не обязателен, но полезен: шлёт сигнал, если схема упала. |
Если любишь всё собирать с минимальным кодом, хватит Set, Edit Fields, Summarize и пары выражений. Если хочешь гибче работать со статусами и форматом сообщения, удобнее поставить Code node и одной функцией собрать весь текст. Я сам обычно иду вторым путём: быстрее контролировать логику и проще потом допиливать сводку.
Ещё один полезный материал на подхвате — готовые шаблоны n8n. Иногда проще взять похожий каркас и перепилить его под свои заказы, чем собирать всё с нуля.
Собираем workflow шаг за шагом
Шаг 1. Ставим расписание. В Schedule Trigger выбираешь запуск раз в день. Я обычно ставлю время чуть позже конца рабочего дня, когда все данные уже успели долететь в таблицу. Если заказы прилетают с задержкой, лучше дать запас минут 10–15, чем потом искать, почему последний заказ не попал в отчёт.
Шаг 2. Читаем строки из таблицы. В Google Sheets подключаешь нужный документ и лист, дальше забираешь строки. Если таблица жирная и в ней уже тысячи записей, стоит либо фильтровать по дате, либо держать отдельный лист под текущий период. Иначе workflow будет таскать лишнее, а тебе это вообще ни к чему.
Шаг 3. Фильтруем записи. На этом этапе отбираешь только те строки, которые относятся к сегодняшней сводке. Обычно я смотрю на created_at и на заполненность обязательных полей. Пустые строки, тестовые заказы, мусорные статусы и всякую ручную ерунду лучше выкинуть сразу.
Шаг 4. Считаем агрегаты. Дальше нужно получить цифры: общее количество заказов, сумму всех заказов, сумму оплаченных, число заказов в каждом статусе. Если хочешь, можно сразу собирать отдельный список проблемных позиций, например всё, что висит в статусе ожидания оплаты или имеет заметку менеджера.
Шаг 5. Собираем текст сообщения. Тут главное — не пытаться засунуть в Telegram весь лист. Человеку нужен быстрый снимок дня. Я обычно делаю 6–8 строк, а ниже добавляю 3 последних заказа для контекста. Когда заказов много, лучше дать короткую статистику и ссылку на таблицу, чем навалить кирпич текста.
Шаг 6. Отправляем в Telegram. Подключаешь бота, указываешь chat_id и отправляешь сообщение. Для аккуратного вида удобно использовать HTML-форматирование: выделить цифры, разделить блоки пустыми строками и поставить простые эмодзи по делу, не устраивая новогоднюю ёлку из интерфейса.
Шаг 7. Проверяем на живых данных. Не на тестовой строке, а на реальных заказах хотя бы за 2–3 дня. Так сразу видно, не ломается ли логика на пустых полях, дробных суммах, старых статусах и ночных записях.
Если хочешь идти дальше, рядом хорошо встаёт связка заявки, расписание, напоминания и отчёт по дням. Она помогает посмотреть на дневную сводку уже как на часть общего процесса, а не как на отдельный финт ушами.
Как оформить сообщение в Telegram, чтобы его читали, а не пролистывали
Самая частая ошибка — сделать технически правильную сводку, которую никто не читает. Сообщение должно сканироваться за 5 секунд. Я собираю его так:
- Первая строка: дата и название отчёта.
- Второй блок: общее количество заказов и общая сумма.
- Третий блок: статусы в одну колонку.
- Четвёртый блок: хвосты и проблемные заказы.
- Финал: 3–5 последних заказов с номером, клиентом и суммой.
Примерно это выглядит так:
📦 Сводка за день
Всего заказов: 14
Общая сумма: 48 700 ₽
Оплачено: 9
В работе: 3
Ждут оплаты: 2
Хвосты:
#231 — нет подтверждения оплаты
#233 — нужен созвон по срокам
Последние заказы:
#234 — Ирина — 3 900 ₽
#235 — Алексей — 5 200 ₽
#236 — Марина — 2 700 ₽
Выглядит просто, но именно такой формат обычно и работает. Видно цифры, видно проблемные места, видно последние движения. Этого хватает, чтобы утром открыть Telegram и сразу понять обстановку.
И ещё момент. Если заказов реально много, делай короткий отчёт и не упирайся в длинное сообщение. Для крупных потоков лучше добавить вторую ветку: короткая сводка уходит в чат, а подробный список — отдельным файлом, во вторую таблицу или в заметку.
Где чаще всего всё спотыкается
Вот набор граблей, на которые я чаще всего смотрю в таких схемах.
- Разные timezone. В таблице одна дата, в n8n другая, в итоге часть заказов падает не в тот день.
- Неприведённые статусы. Один и тот же смысл записан по-разному, и статистика разваливается.
- Пустые суммы. Одна пустая ячейка — и подсчёт денег уже врёт.
- Дубли строк. Заказ обновили вручную, строка продублировалась, и отчёт раздулся.
- Слишком длинное сообщение. В маленькой таблице не видно, а потом текст разрастается и становится неудобным.
- Забыли включить публикацию workflow. Вручную всё запускается, по расписанию — тишина.
Я бы ещё сразу сделал отдельное уведомление об ошибке. Если чтение таблицы отвалилось, бот должен написать тебе не «ничего», а понятное сообщение: что именно не сработало и в какой ноде проблема. Иначе ты обнаружишь поломку через три дня, когда уже накопится бардак.
Для тех, кто любит надёжность, пригодится материал про защиту от дублей и аккуратную обработку входящих событий. Даже если у тебя сама сводка крутится по расписанию, мысль там правильная: дубликаты и кривые данные лучше душить на входе, а не героически лечить в конце.
Что я бы докрутил сверху
Когда базовая автосводка по заказам уже работает, очень хочется навесить ещё полезностей. И это нормальная стадия. Я обычно докручиваю такие вещи:
- Отдельный блок по неоплаченным заказам. Это сразу показывает, где лежат деньги.
- Сравнение с предыдущим днём. Видно, просел поток или нет.
- Разделение по источникам. Полезно, если заказы идут из нескольких каналов.
- Тревога по крупным суммам. Отдельное сообщение, если прилетел жирный заказ.
- Тревога по тишине. Если за день не было ни одного заказа, бот тоже должен написать.
- Архив сводок. Можно складывать дневные отчёты во вторую таблицу и потом строить недельную статистику.
Если ты только входишь в тему и хочешь понять, что ещё можно собрать на той же платформе, посмотри подборку простых проектов для старта. Очень часто после первой сводки народ быстро дорастает до напоминаний, карточек заказа и нормального маршрута заявки от первого сообщения до закрытия.
Частые вопросы
Нужен ли Google Sheets Trigger?
Для дневной сводки чаще удобнее Schedule Trigger. Тебе не нужно реагировать на каждую новую строку мгновенно, тебе нужен один аккуратный отчёт в определённое время.
Что делать, если в таблице несколько листов?
Либо держать все заказы на одном листе и фильтровать по колонкам, либо сделать отдельные ветки чтения и потом объединять данные перед отправкой. Я за первый вариант, если объём не гигантский.
Можно ли отправлять сводку в несколько чатов?
Да, просто после сборки текста делай несколько Telegram-нод или цикл по списку chat_id. Для владельца можно отправить полную сводку, а для общего чата — сокращённую версию.
Что делать, если за день заказов нет?
Я всё равно отправляю короткое сообщение вида «Новых заказов за день: 0». Это полезный маркер. Молчание в чате не даёт понять, схема умерла или заказов реально не было.
Подойдёт ли это для малого бизнеса?
Да, это как раз один из самых жизненных сценариев. Небольшой поток заказов, таблица как оперативная база, Telegram как быстрый экран состояния — связка очень практичная и дешёвая в сопровождении.
Финал
Если подытожить по-человечески: n8n + Google Sheets + Telegram — это очень бодрая связка, когда нужно перестать руками собирать сводку заказов раз в день. Делаешь нормальную таблицу, ставишь расписание, фильтруешь записи, считаешь цифры, отправляешь готовое сообщение — и каждый вечер или каждое утро у тебя на телефоне лежит понятный отчёт.
Я бы начинал с максимально приземлённой версии: количество заказов, сумма, статусы, хвосты. Запусти, посмотри неделю, где цифры не сходятся, и уже потом навешивай сравнение дней, тревоги и разбивку по источникам. Так схема быстрее встанет на рельсы и начнёт приносить пользу, а не жить вечной стройкой в редакторе n8n.