---
title: "МойСклад stock alert через n8n: остатки | Nodbot"
source_url: "https://nodbot.ru/workflows/moysklad-stock-alert/"
canonical_url: "https://nodbot.ru/workflows/moysklad-stock-alert/"
language: "ru"
content_type: "WorkflowTemplate"
section: "workflows"
generated_at: "2026-05-30"
word_count_source: 950
---

# МойСклад → n8n: alert по остаткам, резервам и точке заказа

## AI summary

AI-friendly Problem/Solution-мануал: как настроить alert по остаткам МойСклад через n8n, учитывать резерв, минимальный запас и точку заказа, отправлять Telegram/CRM уведомление и не спамить команду.

## Best used for

Полноценный Problem/Solution-мануал для внедрения в n8n: импортировать workflow JSON, настроить API/файлы/мониторинг, выполнить production-тесты и передать решение команде.

## Table of contents

- Проблема: почему остатки заканчиваются раньше отчёта
- Архитектура workflow для stock alert МойСклад
- Контракт данных товара и склада
- Code Node: расчет available stock и reorder alert
- Готовый workflow JSON: скачать и импортировать
- Пошаговая настройка МойСклад, n8n и Telegram
- Тесты остатков, резервов и повторных алертов
- Production-риски складской автоматизации
- Полезные ссылки и документация
- Критерии готовности

## Key topics

- МойСклад
- stock alert
- остатки
- reorder point
- reserve
- закупки n8n

## Source outline

МойСклад → n8n: alert по остаткам, резервам и точке заказа ¶ Обновлено: 2026-05-30 AI summary: AI-friendly Problem/Solution-мануал: как настроить alert по остаткам МойСклад через n8n, учитывать резерв, минимальный запас и точку заказа, отправлять Telegram/CRM уведомление и не спамить команду. Шаблон для внедрения Скачать workflow JSON Скачать test payload Скопировать curl Импортируйте workflow, замените credentials и прогоните тестовый payload до включения production. Содержание Проблема: почему остатки заканчиваются раньше отчёта Архитектура workflow для stock alert МойСклад Контракт данных товара и склада Code Node: расчет available stock и reorder alert Готовый workflow JSON: скачать и импортировать Пошаговая настройка МойСклад, n8n и Telegram Тесты остатков, резервов и повторных алертов Production-риски складской автоматизации Полезные ссылки и документация Критерии готовности Проблема: остатки в МойСклад могут выглядеть нормальными, но доступный запас уже ниже точки заказа из-за резервов, продаж и задержек поставщика. Отчёт раз в неделю обнаруживает проблему слишком поздно. Решение: настроить workflow МойСклад → n8n: регулярно получать остатки, считать доступное количество, сравнивать с reorder point и отправлять точный alert закупкам. Alert должен учитывать резерв и склад, а не только общий остаток. Проблема: почему остатки заканчиваются раньше отчёта ¶ В МойСклад товар может числиться на остатке, но быть уже зарезервированным под заказ. Если смотреть только на stock , закупки узнают о дефиците поздно: клиент уже оформил заказ, менеджер обещал отгрузку, а свободного количества нет. Поэтому alert по остаткам должен учитывать резервы, склад, минимальный запас и точку заказа. Workflow n8n для МойСклад полезен, когда нужно не просто выгрузить отчёт, а создать регулярную автоматизацию закупок: проверить остатки, отфильтровать критичные позиции, отправить Telegram/CRM задачу и не повторять один и тот же alert каждый час. Архитектура workflow для stock alert МойСклад ¶ Нода Роль Что проверить Schedule daily Запускает проверку Время до закупочного окна Fetch stock Получает остатки МойСклад Склад, модификации, лимиты API Calculate reorder Считает доступный остаток stock - reserve + in_transit Filter alerts Оставляет только дефицит reorder_point, supplier, min_order_qty Notify procurement Отправляет alert Telegram, CRM task или email Контракт данных товара и склада ¶ Для каждого товара лучше иметь стабильный product_id , артикул, склад и точку заказа. Значения можно брать из МойСклад, Google Sheets или отдельной таблицы закупок. { "product_id": "c8e6a2f1-11a0-4e41-91b4-63e0e6a91f70", "name": "Картридж фильтра A-10", "sku": "FILTER-A10", "warehouse": "Основной склад", "stock": 12, "reserve": 5, "in_transit": 0, "reorder_point": 10, "min_order_qty": 20, "supplier": "ООО Поставщик" } Code Node: расчет available stock и reorder alert ¶ Code Node ниже не делает заказ автоматически. Он рассчитывает сигнал для человека или отдельного согласованного workflow закупки. const item = $json; const stock = Number(item.stock ?? 0); const reserve = Number(item.reserve ?? 0); const inTransit = Number(item.in_transit ?? 0); const reorderPoint = Number(item.reorder_point ?? item.min_stock ?? 0); const available = stock - reserve + inTransit; const needOrder = available <= reorderPoint; const qtyToOrder = needOrder ? Math.max(Number(item.min_order_qty ?? 1), reorderPoint * 2 - available) : 0; return [{ json: { product_id: item.product_id, sku: item.sku, name: item.name, warehouse: item.warehouse ?? 'default', stock, reserve, in_transit: inTransit, available, reorder_point: reorderPoint, alert: needOrder, qty_to_order: qtyToOrder, dedupe_key: `moysklad:${item.product_id}:${item.warehouse ?? 'default'}:${reorderPoint}`, message: needOrder ? `⚠️ ${item.sku}: доступно ${available}, точка заказа ${reorderPoint}, заказать ${qtyToOrder}` : `✅ ${item.sku}: запас в норме, доступно ${available}` }}]; Почему нельзя смотреть только на stock Остаток на складе может быть зарезервирован под заказы. Для закупок важнее доступное количество: фактический остаток минус резерв плюс ожидаемый приход. Готовый workflow JSON: скачать и импортировать ¶ В архиве страницы есть workflow JSON и payload. После импорта замените credential МойСклад, параметры склада, таблицу reorder points и канал уведомлений. Скачать готовый workflow JSON Скачать тестовый payload { "name": "Nodbot - MoySklad stock alert with reorder point", "nodes": [ { "name": "Schedule daily", "type": "n8n-nodes-base.scheduleTrigger", "purpose": "Запускать проверку остатков" }, { "name": "Fetch stock from MoySklad", "type": "n8n-nodes-base.httpRequest", "purpose": "Получить остатки, резервы и склады" }, { "name": "Calculate reorder Code", "type": "n8n-nodes-base.code", "purpose": "Посчитать available stock и qty_to_order" }, { "name": "Filter alerts", "type": "n8n-nodes-base.if", "purpose": "Отправить только товары ниже точки заказа" }, { "name": "Send Telegram/CRM alert", "type": "n8n-nodes-base.telegram", "purpose": "Уведомить закупки или создать задачу" } ], "connections": "Schedule → Fetch stock → Calculate → IF alert → Telegram/CRM" } Пошаговая настройка МойСклад, n8n и Telegram ¶ Определите список складов и товаров, которые участвуют в контроле остатков. Задайте reorder_point и min_order_qty для каждой SKU. Настройте HTTP Request к API МойСклад и проверьте пагинацию. Добавьте расчет available stock и фильтр по alert=true. Отправляйте результат в Telegram, Битрикс24 задачу или таблицу закупок. Тесты остатков, резервов и повторных алертов ¶ curl -X POST "https://YOUR-N8N-DOMAIN/webhook/moysklad-stock-alert" -H "Content-Type: application/json" --data @moysklad-stock-alert-payload.json Товар ниже точки заказа должен попасть в alert. Товар с большим резервом должен считаться дефицитным, даже если stock высокий. Позиция в пути должна уменьшать срочность, если это согласовано с закупками. Повторный запуск не должен спамить один и тот же alert без изменения статуса. Ошибка API МойСклад должна уходить в Error Workflow. Production-риски складской автоматизации ¶ Не учитываются резервы. Команда закупок видит “12 на складе”, хотя доступно только 7. Одна точка заказа для всех SKU. Быстроходные товары заканчиваются раньше, чем срабатывает alert. Нет дедупликации. Telegram получает один и тот же список дефицита каждый час. Пагинация API пропущена. Проверяется только первая страница товаров. Автозаказ без подтверждения. Для закупок лучше начинать с human approval. Полезные ссылки и документация ¶ Смотрите также: Error Workflow с Telegram-алертом , Retry и DLQ для API , Idempotency в Postgres . Официальная документация: МойСклад JSON API , n8n HTTP Request node , Telegram Bot API . Критерии готовности ¶ Alert строится по доступному остатку, а не только по stock. У каждой SKU есть точка заказа и минимальная партия. Workflow учитывает склад, резерв и товары в пути. Повторные уведомления дедуплицируются или группируются. Ошибки API, лимиты и пустые ответы попадают в мониторинг. Нужно автоматизировать контроль остатков? Nodbot настроит МойСклад, n8n, reorder alerts, Telegram/CRM задачи и human approval для закупок без хаоса. Настроить stock alert

## Test payload

```json
{
  "product_id": "c8e6a2f1-11a0-4e41-91b4-63e0e6a91f70",
  "name": "Картридж фильтра A-10",
  "sku": "FILTER-A10",
  "warehouse": "Основной склад",
  "stock": 12,
  "reserve": 5,
  "in_transit": 0,
  "reorder_point": 10,
  "min_order_qty": 20,
  "supplier": "ООО Поставщик"
}
```

## Key implementation snippet

```javascript
const item = $json;
const stock = Number(item.stock ?? 0);
const reserve = Number(item.reserve ?? 0);
const inTransit = Number(item.in_transit ?? 0);
const reorderPoint = Number(item.reorder_point ?? item.min_stock ?? 0);
const available = stock - reserve + inTransit;
const needOrder = available <= reorderPoint;
const qtyToOrder = needOrder ? Math.max(Number(item.min_order_qty ?? 1), reorderPoint * 2 - available) : 0;

return [{ json: {
  product_id: item.product_id,
  sku: item.sku,
  name: item.name,
  warehouse: item.warehouse ?? 'default',
  stock,
  reserve,
  in_transit: inTransit,
  available,
  reorder_point: reorderPoint,
  alert: needOrder,
  qty_to_order: qtyToOrder,
  dedupe_key: `moysklad:${item.product_id}:${item.warehouse ?? 'default'}:${reorderPoint}`,
  message: needOrder
    ? `⚠️ ${item.sku}: доступно ${available}, точка заказа ${reorderPoint}, заказать ${qtyToOrder}`
    : `✅ ${item.sku}: запас в норме, доступно ${available}`
}}];
```

## Importable workflow structure

```json
{
  "name": "Nodbot - MoySklad stock alert with reorder point",
  "nodes": [
    { "name": "Schedule daily", "type": "n8n-nodes-base.scheduleTrigger", "purpose": "Запускать проверку остатков" },
    { "name": "Fetch stock from MoySklad", "type": "n8n-nodes-base.httpRequest", "purpose": "Получить остатки, резервы и склады" },
    { "name": "Calculate reorder Code", "type": "n8n-nodes-base.code", "purpose": "Посчитать available stock и qty_to_order" },
    { "name": "Filter alerts", "type": "n8n-nodes-base.if", "purpose": "Отправить только товары ниже точки заказа" },
    { "name": "Send Telegram/CRM alert", "type": "n8n-nodes-base.telegram", "purpose": "Уведомить закупки или создать задачу" }
  ],
  "connections": "Schedule → Fetch stock → Calculate → IF alert → Telegram/CRM"
}
```

## Retrieval hints

- Использовать HTML как canonical source.
- Markdown удобен для LLM-ответов, извлечения workflow-контракта, кода и чеклистов.
- Для ссылок пользователю отдавать canonical URL.
