Перейти к содержимому

МойСклад и WooCommerce: обмен товарами и остатками

МойСклад — облачная товароучётная система: товары и цены, закупки, резервы, инвентаризации, склады и интеграции с каналами продаж. В схеме с WooCommerce товарные документы и остатки ведутся в МойСклад, а сайт получает данные для витрины и передаёт заказы.

Это первый из двух основных вариантов внешнего учёта: если учёт уже настроен в МойСклад, начинать нужно с подключения сайта, а не с переноса процессов в WordPress.

  • Один источник остатка. Продажа в рознице или на маркетплейсе уменьшает количество, которое видит сайт.
  • Товарные документы. Приёмки, списания, перемещения и инвентаризации остаются в учёте, а не в виде правок числа в карточке.
  • Резервы. МойСклад умеет резервировать товар под заказ — это ключевая функция, которой нет в базовом WooCommerce.
  • Закупки и поставщики. Заказ поставщику и ожидаемая поставка видны в одной системе с продажами.
  • Цены по типам. Розничные, оптовые и закупочные цены живут в учёте, сайт получает нужный тип.

Обратная сторона: витрина становится зависимой от обмена. Если он сломан или стоит, сайт показывает устаревшее количество — и это нужно отслеживать, а не обнаруживать по жалобам покупателей.

Обмен не бинарный «всё туда, всё обратно». Направление задаётся для каждого типа данных:

ДанныеОбычное направлениеКомментарий
Товары и вариацииМойСклад → сайтСопоставление по внешнему ID, не по названию
КатегорииМойСклад → сайтИерархия групп переносится как категории
ИзображенияМойСклад → сайтТяжёлые файлы, отдельный поток и своя частота
ЦеныМойСклад → сайтТип цены фиксируется в настройке обмена
ОстаткиМойСклад → сайтСамое частое обновление, самое чувствительное к задержке
Заказысайт → МойСкладСоздание, состав, статусы
Статусы заказовМойСклад → сайтОбратный поток по тем же заказам
Названия и описаниясайт или учётМожно оставить за сайтом, если контент пишут в WordPress

Разделение владения — не компромисс, а норма: описание и фото часто удобнее редактировать на сайте, а количество и цену — только в учёте.

WooMS — открытый проект для связи МоегоСклада с WooCommerce, разработанный в WPCraft. Работает через JSON REST API МоегоСклада: синхронизирует товары, загружает категории и изображения. Код открыт, поэтому обмен можно доработать под процессы магазина.

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

При доработке фиксируйте контракт: какие поля считаются источником истины, как обрабатывается удаление товара в учёте (снять с публикации или удалить), что происходит с товаром, который есть на сайте, но пропал из выгрузки.

Интеграция amgroup: внешний сервис без плагина

Заголовок раздела «Интеграция amgroup: внешний сервис без плагина»

Решение amgroup работает через API WooCommerce и не требует установки отдельного плагина на сайт. По описанию поставщика:

  • передаёт товары и вариации, цены, остатки и заказы;
  • синхронизирует статусы;
  • поддерживает резервирование после оформления заказа;
  • позволяет отключить обновление названий, описаний и изображений — то есть оставить контент за сайтом.

Кому подходит: магазинам, которые предпочитают готовый внешний сервис вместо поддержки плагина на своём хостинге.

Что уточнить до покупки: интервал обновления остатков, ограничения тарифа (число товаров, заказов, запросов), работу с нужными складами и поведение при недоступности сайта или учёта.

MsWoo — плагин обмена товарами, остатками и заказами между МойСклад и WooCommerce. Разработчик предлагает дополнительные модули: управление складами, группы товаров, комплекты.

На что смотреть: какие функции входят в базовый плагин, а какие требуют расширений. Сравнивать нужно стоимость всего необходимого набора, а не цену базовой лицензии: мультисклад и комплекты почти всегда оказываются в платных модулях.

Если в МойСклад несколько складов, обмен должен отвечать на три вопроса, иначе витрина покажет неверную доступность:

  1. Как считается остаток для сайта — сумма по всем складам, только склад отгрузки или склад интернет-магазина.
  2. Учитывается ли резерв. МойСклад различает физический остаток и резерв; сайт должен получать доступное к продаже количество, а не физическое.
  3. Что происходит с ожидаемой поставкой. Товар в пути не должен становиться доступным к немедленной отгрузке — иначе магазин продаст то, что ещё едет.

Заказ с сайта должен попасть в учёт ровно один раз. Типичный дефект схемы — заказ создаётся и напрямую с сайта, и повторно из CRM или другого сервиса, который тоже слушает вебхук WooCommerce.

Правила, которые стоит зафиксировать:

  • Единственный маршрут заказа. Либо сайт → учёт, либо сайт → CRM → учёт, но не оба одновременно.
  • Внешний идентификатор. В заказе хранится ID документа в МойСклад; повторная отправка ищет существующий документ, а не создаёт новый.
  • Статусы в обе стороны. Изменение статуса в учёте обновляет заказ на сайте, но не запускает обратную отправку того же статуса.
  • Отмена и возврат. Отмена в WooCommerce должна снимать резерв в учёте; возврат — создавать документ возврата, а не просто увеличивать остаток на сайте.
  • Сопоставление номенклатуры. У товаров и вариаций есть стабильный внешний ID; совпадение по названию не годится — переименование ломает связь.
  • Поведение при сбое. Ошибка авторизации или таймаут API не превращает остатки в нули и не снимает товары с публикации.
  • Идемпотентность. Повторная доставка события не создаёт второй заказ и не списывает остаток дважды.
  • Полнота выгрузки. Товар, удалённый или архивированный в МойСклад, корректно обрабатывается на сайте: скрывается, а не остаётся продаваемым.
  • Задержка. Замерьте фактический интервал обновления и сравните с обещанным; при продаже последних единиц разница критична.
  • Мониторинг. Видно время последнего успешного обновления и журнал ошибок; есть ответственный за разбор.