МойСклад: отмены заказов и отказанные позиции
Это одна из самых важных частей интеграции. Логика здесь простая:
- если на сайте отменили весь заказ, сайт сообщает об этом в МойСклад;
- если на сайте отказали позицию, сайт сообщает об этом в МойСклад.
См. также
Где находится
- Модули интеграций → Интеграции → открыть МойСклад → «Поведение заказов»
- Настройки → Статусы — где настраиваются сами статусы заказа и позиций
Как это работает простыми словами
МойСклад здесь не командует сайтом. Всё идёт в одну сторону:
- Менеджер меняет статус на сайте.
- Сайт понимает: это отказ позиции или полная отмена заказа.
- Сайт отправляет изменение в МойСклад.
Если в МойСклад вручную поменять статус, сайт от этого сам не обновится.
Два разных случая
| Что изменили на сайте | Что делает интеграция |
|---|---|
| Отказали одну позицию | Удаляет позицию из заказа в МойСклад или ставит ей количество 0 |
| Отменили весь заказ | Удаляет заказ в МойСклад или помечает его удалённым |
Какие статусы должны стоять на сайте
Сайт определяет отмену не по названию «как вам нравится», а по смыслу статуса.
Для отказа позиции
Подходит статус позиции, который означает:
- не учитывать при ценовых расчётах
или статус, у которого смысл отмены уже прописан отдельно.
Проще говоря, это должен быть ваш статус типа:
- Отказ
- Отмена
- Возврат
Главное, чтобы именно он был статусом отказанной позиции, а не статусом выдачи.
Для полной отмены заказа
Нужен статус заказа, который означает:
- Отменён
Если на сайте стоит обычный рабочий статус, интеграция не будет воспринимать его как сигнал на удаление заказа в МойСклад.
Очень важно: не путать с «Выдано»
Статус «Выдано» или любой похожий финальный статус выдачи:
- не является отказом;
- не должен удалять позиции в МойСклад.
Если товар выдали клиенту, это завершение продажи, а не отмена.
Настройки в интеграции
В блоке «Поведение заказов» для отмен важны три поля:
| Поле | Что делает |
|---|---|
| Удалять отказанные позиции в МойСклад | При отказе позиция удаляется из заказа в МойСклад |
| Полная отмена заказа | Определяет, что делать с заказом в МойСклад: удалить или пометить удалённым |
| Статусы заказов: только логировать (dry-run) | Ничего не меняет в МойСклад, только пишет в лог, что было бы сделано |
Какую настройку выбрать
Удалять отказанные позиции в МойСклад
| Если включено | Если выключено |
|---|---|
| Позиция реально удаляется из заказа | Позиция остаётся, но её количество становится 0 |
Для большинства магазинов проще и понятнее оставить включено.
Полная отмена заказа
| Вариант | Что увидите в МойСклад |
|---|---|
| Удалять заказ в МойСклад | Заказ удаляется |
| Помечать удаленным без физического удаления | Заказ остаётся в МойСклад, но считается удалённым |
Если менеджеры хотят видеть историю отменённых заказов, может подойти второй вариант.
Что происходит при полной отмене
Когда отменяете весь заказ на сайте, обычно система:
- переводит сам заказ в статус отмены;
- переводит позиции в отказ;
- сообщает это в МойСклад.
Поэтому при полной отмене вы можете видеть сразу несколько изменений:
- работа по позициям;
- работа по самому заказу.
Это нормально.
Когда отмена не уйдёт в МойСклад
Есть важный случай: заказ ещё не успел реально создаться в МойСклад.
Тогда сайт понимает, что удалять там пока нечего, и просто не отправляет отмену.
Пример. Клиент оформил заказ и тут же менеджер его отменил. Если заказ ещё не был создан в МойСклад, удалять там пока нечего — это нормально.
Как проверить на примере
Пример 1. Отказ одной позиции
- Заказ уже ушёл в МойСклад.
- На сайте у одной позиции ставите ваш статус «Отказ».
- Если в интеграции включено «Удалять отказанные позиции», позиция исчезает из заказа в МойСклад.
Пример 2. Полная отмена заказа
- Заказ уже ушёл в МойСклад.
- На сайте ставите заказу статус «Отменён».
- В зависимости от настройки заказ в МойСклад или удаляется, или помечается удалённым.
Чего здесь нет
Важно не ждать от МойСклад того, чего в этой интеграции нет:
- нет таблицы «статус МойСклад → статус сайта»;
- нет автообновления статуса на сайте при изменении в МойСклад;
- нет входящего webhook из МойСклад.
То есть схема простая: изменили на сайте → сайт отправил в МойСклад.
Что проверить
- Для отказа позиций используется именно статус отказа, а не выдачи
- Для полной отмены есть отдельный статус отмены заказа
- В интеграции выключен dry-run, если ждёте реальных изменений
- Заказ уже реально был создан в МойСклад до момента отмены
Дальше: Если не работает.