﻿---
title: "МойСклад и WooCommerce: обмен товарами и остатками"
description: "Как связать МойСклад с WooCommerce: WooMS, интеграция amgroup через API и MsWoo — направления обмена, резервы, склады и что проверять перед внедрением."
---

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

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

## Что даёт такая схема

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

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

## Направления обмена

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

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

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

## WooMS: открытый плагин

[WooMS](https://github.com/wpcraft-ru/wooms) — открытый проект для связи МоегоСклада с WooCommerce, разработанный в WPCraft. Работает через JSON REST API МоегоСклада: синхронизирует товары, загружает категории и изображения. Код открыт, поэтому обмен можно доработать под процессы магазина.

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

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

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

Решение [amgroup](https://www.moysklad.ru/integratsii/apps/woocommerce-integration-amgroup) работает через API WooCommerce и не требует установки отдельного плагина на сайт. По описанию поставщика:

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

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

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

## MsWoo: плагин с модулями

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

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

## Мультисклад и резервы

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

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

## Заказы: один раз и без дублей

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

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

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

## Что проверить перед внедрением

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

## Связанные страницы

- [Остатки в WooCommerce: где вести учёт](https://wpcraft.ru/kb/stacks/woocommerce/stock.md) — выбор схемы и общие проверки.
- [Учёт на сайте](https://wpcraft.ru/kb/stacks/woocommerce/stock/on-site.md) — вариант без внешней системы.
- [1С](https://wpcraft.ru/kb/stacks/woocommerce/stock/1c.md) — альтернативная товароучётная система.
- [retailCRM](https://wpcraft.ru/kb/stacks/woocommerce/stock/retailcrm.md) — если между сайтом и учётом появляется CRM.
- [Системы и потоки данных](https://wpcraft.ru/kb/practices/ecommerce/integrations/systems-and-data-flows.md) — общая модель обмена с учётными системами.

## Материалы и источники

- [Управление остатками в WooCommerce: МойСклад, 1С, retailCRM и Битрикс24](https://wpcraft.ru/blog/upravlenie-ostatkami-v-woocommerce-mojsklad-1s-retailcrm-i-bitriks24)
- [Возможности МоегоСклада](https://www.moysklad.ru/)
- [WooMS — репозиторий и описание проекта](https://github.com/wpcraft-ru/wooms)
- [Интеграция WooCommerce от amgroup — каталог МоегоСклада](https://www.moysklad.ru/integratsii/apps/woocommerce-integration-amgroup)
- [MsWoo — описание плагина и расширений](https://mswoo.ru/)