Есть такой плагин WooMS, который создаёт интеграцию Woocommerce и МойСклад.
У подруги сайт как раз имеет такую конструкцию, а так же у неё несколько оффлайн точек продаж. Продавцы сканируют штрихи на товарах с помощью ТСД подключеных к мойскладу, в складе уменьшается количество товаров в наличии и это вот всё.
2 раза в сутки сайт синхронит товары и остатки плагином WooMS, так же заказы с сайта уменьшают остатки и резервируют товары в МойСкладе. Всё чин чинарём или как там говорят.
Сейчас будет больно мозгу гуманитария (моему).
Плагин решает следующую задачу
- На основном складе (на который нет доступа для посетителей) — 25 товаров.
- На первой точке продаж — 5 товаров.
- На второй точке продаж — 0 товаров.
Итого 25+5+0=30 товаров в наличии. (у нас склад и 2 магазина)
В МойСкладе все эти точки настроены как склады, у нас их всего 3, но может быть любое количество.
На сайте WooCommerce выводятся остатки у товара — 30 шт. в наличии, ( ведь мойсклад передает сумму на складах, ну или WooMS складыват, не суть.
Что происходит «на земле» скажем так. Посетители приезжают на вторую точку, говорят — у вас на сайте написано 30 штук в наличии, а по факту 0, и идут писать негативный отзыв в яндекс-карты. А это влияет на вашу конверсию в продажи и позиции сайта в поиске, на SEO в том числе.
Проблема в том, что в Вукоммерсе нет никакой системы складов, есть товары, есть остатки. Плагин WooMS не умеет работать с несколькими складами, так как создавался для Woocommerce соответственно, который тоже не умеет.
Пришлось сделать такой плагин, который бы добавлял склады в WooCommerce и отображал на фронтенде реальное количество товара на всех складах или только на тех, которые указаны в настройках.

Можно добавить любое количество складов, UUID берутся в урле склада на Мойсклад, но я их откудато выдрал из плагина WooMS если не ошибаюсь.
Работает как дополнение к плагину WooMS, но остатки грузит напрямую из Мойсклад, записывает в транзиентный кэш результат на час, чтоб не грузить при каждом посещении апи мойсклада.
На фронте это выглядит так, 2 магазина и общий склад с названием «Ещё в наличии». Стили конечно можно заменить, повторюсь я совсем не дизайнер и красивости делать не умею.

Но и это ещё не всё, подруга сидела в складе долго сверяла что куда переместить со склада и с точек, где что закончилось…вобщем перемещения делала. Мне показалось это какие-то грабли, всё просмотреть, выяснить где товара ещё много, составить эксельку с тем откуда водителю надо забрать и куда отвезти. Кошмар. Поэтому прикрутил к этому плагину еще небольшой helper.
Создаем отдельный пункт меню, назвал «Отчёты остатков», можно сделать отдельного пользователя для логистов и дать им доступ в админке только лишь к нему, чтоб больше никуда не лазили. В нем отображаются 3 наших склада, например, основной и две точки продаж.
На странице две вкладки…или сколько там точек продаж будет. Сейчас снова будет больно мозгу.
На вкладке таблица: название товара, цена, Точка 1, Точка 2 и Основной склад. И в таблице цифра остатков на каждом складе, которая парсится при входе на страницу напрямую из МойСклад, данные всегда актуальные.

На этом скриншоте в первом столбце сразу видно, что нужно привезти и где это можно взять, на точке 2 или на основном складе.
Задача была на каждой точке хранить минимум 2 шт каждого товара, за исключением основного склада. Что и логично, товар должен быть в магазинах, а основной склад можно опустошать.
Чтоб не выводить вообще все товары в таблице и не было ничего лишнего, убрал из таблицы все товары у которых:
- на всех складах 0, тоесть которых вообще нет
- товары, которые есть в количестве до 2шт только на одной из точек (смысла нет перемещать последние 2) и нет на основном складе
- товары, которые есть в этом магазине в количестве 2шт и больше (мы на вкладке Точки 1, товара там есть 2шт, с ним ничего делать не надо, поэтому удаляем из таблицы)
И еще несколько манипуляций. В итоге остались только товары которых нет в нужном магазине, но они есть больше 2 шт в другом магазине или хоть 1 шт на основном складе.
И конечно кнопку «скачать xls». Так это выглядит, две вкладки с нашими точками продаж, на каждой своя таблица того, что туда надо переместить.

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