Уведомление о заканчивающемся товаре в Telegram: связка МойСклад и n8n

Типичная история небольшого магазина. Ходовая позиция стоит на полке, все спокойны. Потом кто-то замечает, что осталось пять штук, оформляет заказ поставщику, а поставка идёт две недели. Десять дней товара нет, покупатели уходят к соседям.

Остатки при этом всё время были в учётной системе. Просто никто не смотрел на них с вопросом «на сколько дней хватит». Эту работу можно отдать связке из учётной системы, n8n и Telegram. Разработчик в штате для этого не нужен.

Почему «минимальный остаток» в карточке не спасает

Во многих учётных программах есть поле «неснижаемый остаток». Проблема в том, что это одна цифра на весь год. В сентябре товар продаётся по 3 штуки в день, в декабре по 12. Порог в 20 штук летом даёт запас на неделю, а перед Новым годом меньше чем на два дня.

Вторая проблема: поставщики разные. Местный оптовик привозит за 2 дня, фабрика из Китая за 30–40. Одинаковый порог для них не работает.

Правильный вопрос звучит так: «Сколько дней товар продержится при текущих продажах, и успеет ли поставка?» На него отвечает простая формула, и считать её руками каждый день никто не будет. Машина будет.

Как устроена связка

n8n — конструктор автоматизаций: вы соединяете блоки «взять данные», «посчитать», «отправить», а он запускает цепочку по расписанию. Ставится на свой сервер, лицензия для такой задачи бесплатная.

Схема на примере МойСклад (у него открытый API, с 1С и другими системами логика та же):

  1. Расписание. Каждое утро в 8:00 n8n запускает сценарий.
  2. Остатки. Запрос к API забирает текущие остатки по всем позициям.
  3. Продажи. Второй запрос берёт продажи за последние 14 или 28 дней. Из них считается средний расход в день.
  4. Расчёт. Для каждой позиции: остаток ÷ средний расход = сколько дней хватит. Это сравнивается со сроком поставки плюс страховой запас. Срок поставки по каждому поставщику лежит в обычной Google-таблице, менять его может закупщик.
  5. Уведомление. Если товар кончится раньше, чем придёт новая партия, в Telegram закупщику уходит сообщение: позиция, остаток, на сколько дней хватит, сколько заказать.
  6. Черновик заказа. По желанию нейросеть собирает позиции одного поставщика в черновик письма или сообщения. Закупщик проверяет и отправляет сам.

Последний шаг я бы не автоматизировал до конца. Отправить заказ поставщику без проверки человеком — плохая идея: одна ошибка в данных, и у вас лишняя фура товара.

Что приходит закупщику

Одно сообщение в день, а не уведомление на каждую позицию. Иначе через неделю его перестанут читать. Внутри сообщения список, отсортированный по срочности:

Если всё в порядке, бот так и пишет: «Сегодня заказывать нечего». Это тоже полезно: закупщик видит, что сценарий жив и данные пришли.

Отдельно стоит предусмотреть кнопку «Заказано». Нажал, и позиция пропадает из списка до прихода партии. Без этого бот будет напоминать об одном и том же каждое утро, пока товар едет.

Расчёт на одном товаре

Возьмём условную позицию с понятными допущениями:

Порог для заказа: 6 × (12 + 4) = 96 штук. Как только остаток падает ниже 96, бот пишет. Если продажи выросли до 9 штук в день, порог сам поднимается до 144. Карточку товара никто не правит.

Теперь цена ошибки. Допустим, товар отсутствует 10 дней, маржа с единицы 800 ₽. Это 6 × 10 × 800 = 48 000 ₽ недополученной прибыли с одной позиции. В ассортименте их обычно не одна.

Сколько стоит и сколько занимает

Ориентир по моим оценкам, точная цифра зависит от учётной системы и числа складов:

Запуск обычно идёт так: сначала сценарий неделю работает «в тени» и шлёт сообщения только мне. Я сверяю его советы с тем, что закупщик заказал бы сам, и подкручиваю страховой запас. Потом подключаем вашу команду.

С 1С бывает дольше. Всё зависит от того, есть ли у вашей конфигурации готовый HTTP-сервис или его придётся включать.

Где это не нужно

Если у вас 30 позиций и закупщик знает каждую в лицо, бот вряд ли окупится. Хватит отчёта по остаткам раз в неделю. Связка нужна, когда позиций сотни, поставщиков несколько и сезонность заметная.

И ещё одно условие: учёт должен быть честным. Если продажи проводят через раз, формула посчитает ерунду. Это стоит проверить до автоматизации.

Что дальше

Автоматизирую ваш бизнес с помощью ИИ: Telegram-боты, чат-боты, интеграции и сайты под ключ. Напишите мне в Telegram @galich_co — бесплатно разберём вашу задачу, посмотрю, где теряются остатки, и предложу решение.