МойСклад и WooCommerce: обмен товарами и остатками
МойСклад — облачная товароучётная система: товары и цены, закупки, резервы, инвентаризации, склады и интеграции с каналами продаж. В схеме с WooCommerce товарные документы и остатки ведутся в МойСклад, а сайт получает данные для витрины и передаёт заказы.
Это первый из двух основных вариантов внешнего учёта: если учёт уже настроен в МойСклад, начинать нужно с подключения сайта, а не с переноса процессов в WordPress.
Что даёт такая схема
Заголовок раздела «Что даёт такая схема»- Один источник остатка. Продажа в рознице или на маркетплейсе уменьшает количество, которое видит сайт.
- Товарные документы. Приёмки, списания, перемещения и инвентаризации остаются в учёте, а не в виде правок числа в карточке.
- Резервы. МойСклад умеет резервировать товар под заказ — это ключевая функция, которой нет в базовом WooCommerce.
- Закупки и поставщики. Заказ поставщику и ожидаемая поставка видны в одной системе с продажами.
- Цены по типам. Розничные, оптовые и закупочные цены живут в учёте, сайт получает нужный тип.
Обратная сторона: витрина становится зависимой от обмена. Если он сломан или стоит, сайт показывает устаревшее количество — и это нужно отслеживать, а не обнаруживать по жалобам покупателей.
Направления обмена
Заголовок раздела «Направления обмена»Обмен не бинарный «всё туда, всё обратно». Направление задаётся для каждого типа данных:
| Данные | Обычное направление | Комментарий |
|---|---|---|
| Товары и вариации | МойСклад → сайт | Сопоставление по внешнему ID, не по названию |
| Категории | МойСклад → сайт | Иерархия групп переносится как категории |
| Изображения | МойСклад → сайт | Тяжёлые файлы, отдельный поток и своя частота |
| Цены | МойСклад → сайт | Тип цены фиксируется в настройке обмена |
| Остатки | МойСклад → сайт | Самое частое обновление, самое чувствительное к задержке |
| Заказы | сайт → МойСклад | Создание, состав, статусы |
| Статусы заказов | МойСклад → сайт | Обратный поток по тем же заказам |
| Названия и описания | сайт или учёт | Можно оставить за сайтом, если контент пишут в WordPress |
Разделение владения — не компромисс, а норма: описание и фото часто удобнее редактировать на сайте, а количество и цену — только в учёте.
WooMS: открытый плагин
Заголовок раздела «WooMS: открытый плагин»WooMS — открытый проект для связи МоегоСклада с WooCommerce, разработанный в WPCraft. Работает через JSON REST API МоегоСклада: синхронизирует товары, загружает категории и изображения. Код открыт, поэтому обмен можно доработать под процессы магазина.
Кому подходит: проектам, которым важен контроль над кодом и возможность менять логику обмена — например, добавить свои правила сопоставления или обработку специфичных атрибутов.
При доработке фиксируйте контракт: какие поля считаются источником истины, как обрабатывается удаление товара в учёте (снять с публикации или удалить), что происходит с товаром, который есть на сайте, но пропал из выгрузки.
Интеграция amgroup: внешний сервис без плагина
Заголовок раздела «Интеграция amgroup: внешний сервис без плагина»Решение amgroup работает через API WooCommerce и не требует установки отдельного плагина на сайт. По описанию поставщика:
- передаёт товары и вариации, цены, остатки и заказы;
- синхронизирует статусы;
- поддерживает резервирование после оформления заказа;
- позволяет отключить обновление названий, описаний и изображений — то есть оставить контент за сайтом.
Кому подходит: магазинам, которые предпочитают готовый внешний сервис вместо поддержки плагина на своём хостинге.
Что уточнить до покупки: интервал обновления остатков, ограничения тарифа (число товаров, заказов, запросов), работу с нужными складами и поведение при недоступности сайта или учёта.
MsWoo: плагин с модулями
Заголовок раздела «MsWoo: плагин с модулями»MsWoo — плагин обмена товарами, остатками и заказами между МойСклад и WooCommerce. Разработчик предлагает дополнительные модули: управление складами, группы товаров, комплекты.
На что смотреть: какие функции входят в базовый плагин, а какие требуют расширений. Сравнивать нужно стоимость всего необходимого набора, а не цену базовой лицензии: мультисклад и комплекты почти всегда оказываются в платных модулях.
Мультисклад и резервы
Заголовок раздела «Мультисклад и резервы»Если в МойСклад несколько складов, обмен должен отвечать на три вопроса, иначе витрина покажет неверную доступность:
- Как считается остаток для сайта — сумма по всем складам, только склад отгрузки или склад интернет-магазина.
- Учитывается ли резерв. МойСклад различает физический остаток и резерв; сайт должен получать доступное к продаже количество, а не физическое.
- Что происходит с ожидаемой поставкой. Товар в пути не должен становиться доступным к немедленной отгрузке — иначе магазин продаст то, что ещё едет.
Заказы: один раз и без дублей
Заголовок раздела «Заказы: один раз и без дублей»Заказ с сайта должен попасть в учёт ровно один раз. Типичный дефект схемы — заказ создаётся и напрямую с сайта, и повторно из CRM или другого сервиса, который тоже слушает вебхук WooCommerce.
Правила, которые стоит зафиксировать:
- Единственный маршрут заказа. Либо сайт → учёт, либо сайт → CRM → учёт, но не оба одновременно.
- Внешний идентификатор. В заказе хранится ID документа в МойСклад; повторная отправка ищет существующий документ, а не создаёт новый.
- Статусы в обе стороны. Изменение статуса в учёте обновляет заказ на сайте, но не запускает обратную отправку того же статуса.
- Отмена и возврат. Отмена в WooCommerce должна снимать резерв в учёте; возврат — создавать документ возврата, а не просто увеличивать остаток на сайте.
Что проверить перед внедрением
Заголовок раздела «Что проверить перед внедрением»- Сопоставление номенклатуры. У товаров и вариаций есть стабильный внешний ID; совпадение по названию не годится — переименование ломает связь.
- Поведение при сбое. Ошибка авторизации или таймаут API не превращает остатки в нули и не снимает товары с публикации.
- Идемпотентность. Повторная доставка события не создаёт второй заказ и не списывает остаток дважды.
- Полнота выгрузки. Товар, удалённый или архивированный в МойСклад, корректно обрабатывается на сайте: скрывается, а не остаётся продаваемым.
- Задержка. Замерьте фактический интервал обновления и сравните с обещанным; при продаже последних единиц разница критична.
- Мониторинг. Видно время последнего успешного обновления и журнал ошибок; есть ответственный за разбор.
Связанные страницы
Заголовок раздела «Связанные страницы»- Остатки в WooCommerce: где вести учёт — выбор схемы и общие проверки.
- Учёт на сайте — вариант без внешней системы.
- 1С — альтернативная товароучётная система.
- retailCRM — если между сайтом и учётом появляется CRM.
- Системы и потоки данных — общая модель обмена с учётными системами.