
Multi Warehouse для WooCommerce — залишки по складах, розподіл замовлень і лист збирання
Плагін для WooCommerce, який веде залишок кожного товару й варіації окремо по складах: основний склад, друге місто, магазин, резерв. Замовлення саме списується зі складів за пріоритетом, при нестачі рядок ділиться між складами, скасування й повернення повертають одиниці туди, звідки їх взяли. Лист збирання з полицями, наявність на складах на сторінці товару. Базова версія безкоштовна; Pro — самовивіз зі складу, «один склад, де є все» і регіони, зведений лист збирання, сканер, відвантаження частинами, CSV.
- Сумісність
- WordPress 6.2+ · WooCommerce 8.0+ (перевірено на WordPress 7.1 і WooCommerce 11.1) · PHP 7.4+ · HPOS і класичне сховище замовлень · блоковий і класичний чекаут · MySQL / MariaDB
- Ліцензія
- один сайт, річна
- Тріал
- 7 днів, без картки, один на сайт
- Оновлено
- вересень 2026
Що є в Free,
а що дає Pro
Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.
Як це виглядає
Головне про модуль
Як це виглядає для покупця
Під кнопкою «Додати в кошик» — блок «Наявність на складах»: по кожному складу «є», «залишилось N» або «немає» (або точні кількості — перемикач у налаштуваннях).
Що отримує адмін
Усе — в розділі WooCommerce → Склади. На першій вкладці — список складів: код, адреса, пріоритет (менше число — першим), позначка «Відвантажує онлайн-замовлення» (зніміть її для торгового залу чи резерву) і показ на вітрині.
Збирання замовлень
Вкладка «Замовлення до збирання» показує замовлення за статусами й складом і скільки одиниць по кожному вже зібрано.

Тріал стартує, коли ви попросите
Свіжий інстал — безкоштовна версія, нічого не вмикається само. Кнопка «Спробувати Pro 7 днів» → e-mail → ключ одразу у вікні і листом.

Один ключ — один сайт
Переносите магазин — відв’яжіть ліцензію на старому домені й активуйте на новому самі. Якщо наш сервер недоступний, Pro працює ще 14 днів. Для студій — ключі на 5, 25 сайтів або без обмежень.
Технічні вимоги
WordPress 6.2+ і WooCommerce 8.0+ з увімкненим керуванням запасами. Наскрізний прогін — на WordPress 7.1 і WooCommerce 11.1.
PHP 7.4+. Прогін — на PHP 8.3 і 7.4, без жодного попередження від модуля.
База. MySQL або MariaDB (InnoDB), як у WooCommerce. Перевірено на MariaDB 10.11; MySQL 8, Galera і Redis як об’єктний кеш окремо не перевіряли.
Замовлення. HPOS і класичне сховище, блоковий і класичний чекаут.
Сканер (Pro). Камера телефона працює лише на сайті з HTTPS; браузер із вбудованим розпізнаванням штрихкодів (BarcodeDetector) використовує його, решта — вбудований у модуль ZXing. На живих телефонах камеру ми не перевіряли — спробуйте в тріалі.
Мови інтерфейсу: українська, російська, англійська.
Історія версій
Перший публічний реліз: склади, залишки й полиці по складах, розподіл замовлень за пріоритетом з діленням рядка, повернення при скасуванні, поверненні й правці, блок «Склади» в замовленні,…
Разом з Multi Warehouse для WooCommerce купують
4 модулі одним замовленням — на 40% дешевше, ніж окремо


Nova Poshta Premium — Нова Пошта для WooCommerce

Mono Acquiring — оплата карткою monobank для WooCommerce

Telegram-сповіщення і Viber/SMS покупцям для WooCommerce
Повний опис модуля
Multi Warehouse для WooCommerce — плагін для магазину, у якого товар лежить у кількох місцях: основний склад, склад в іншому місті, торговий зал, резерв. WooCommerce знає одну цифру на товар — скільки його всього. Модуль додає до неї розклад: скільки одиниць на якому складі й на якій полиці, з якого складу збирати кожне замовлення і що саме має пройти комплектувальник.
Загальний залишок при цьому лишається за WooCommerce: залишок товару = сума його складів. Тож звіти, фіди, вітрина й інші плагіни працюють як раніше, а модуль лише розкладає цю цифру по складах і стежить, щоб сума збігалася після кожної зміни. Продаєте одну річ кількома картками (окремо й у подарунковій коробці, у двох категоріях)? До нього є парний модуль Shared Stock — вони працюють разом.
Як це виглядає для покупця
Під кнопкою «Додати в кошик» — блок «Наявність на складах»: по кожному складу «є», «залишилось N» або «немає» (або точні кількості — перемикач у налаштуваннях). У варіативного товару список перемикається разом з обраним розміром чи кольором, зокрема в новому блоці «Add to Cart with Options» блокових тем. Блок можна вивести й у будь-якому іншому місці шорткодом [catcode_mwh_availability]; склад, який не треба показувати, ховається однією галочкою.
Чекаут для покупця не змінюється: він обирає доставку й оплату, як завжди. Із Pro з’являється спосіб доставки «Самовивіз зі складу»: пропонуються лише склади, де є весь кошик, з адресою, графіком і телефоном; обраний склад записується в замовлення.
Що отримує адмін
Усе — в розділі WooCommerce → Склади. На першій вкладці — список складів: код, адреса, пріоритет (менше число — першим), позначка «Відвантажує онлайн-замовлення» (зніміть її для торгового залу чи резерву) і показ на вітрині. Основний склад уже є після активації — на ньому весь ваш нинішній залишок. Видалений склад віддає свій залишок основному, загальні цифри товарів не змінюються.
Розкласти залишок можна в картці товару — на вкладці «Наявність» під полем кількості з’являється таблиця складів із полицями, у кожної варіації своя — або для всіх товарів одразу на вкладці «Залишки по складах». Зміна записується як різниця до того, що було, коли ви відкрили сторінку, тож замовлення, оформлене поки ви редагуєте, зберігає свої одиниці. Переміщення між складами (−2 тут, +2 там) загального залишку не змінює.
У кожному замовленні — блок «Склади»: з якого складу й з якої полиці йде кожен рядок, нестача (якщо продано під замовлення), перенесення рядка на інший склад. У списку замовлень — колонка «Склад». Скасування, повернення з рестоком, зміна кількості чи видалення рядка менеджером повертають одиниці на той склад, з якого їх списано.
Збирання замовлень
Вкладка «Замовлення до збирання» показує замовлення за статусами й складом і скільки одиниць по кожному вже зібрано. З неї й з самого замовлення друкується лист збирання: окремо для кожного складу, рядки відсортовані за полицями (A-2 раніше, ніж A-10), з артикулом і GTIN — комплектувальник іде складом по порядку, а не шукає товар.
У Pro позначаєте кілька замовлень галочками й отримуєте зведений лист: сума по кожному товару для одного проходу складом, а далі — окрема сторінка на кожне замовлення для пакування. Збирати можна зі сканером: камера телефона (через HTTPS), USB чи Bluetooth-сканер, пошук за SKU, GTIN / EAN / UPC або вашим полем штрихкоду; після «Завершити збирання» замовлення отримує нотатку й статус, заданий у налаштуваннях. Замовлення з двох складів можна відвантажувати частинами: кожна частина позначається відправленою з номером ТТН, покупець отримує нотатку, а після останньої частини замовлення стає «Виконано».
Разом із Shared Stock
Якщо одна фізична річ продається кількома картками, спільний залишок для них веде Shared Stock для WooCommerce, а Multi Warehouse розкладає залишок кожної картки по складах. Ми перевірили їх разом: 42 перевірки сумісності на кожному прогоні (HPOS увімкнено й вимкнено, PHP 7.4 і 8.3) і одночасні чекаути вісьмох покупців — склади, картки й пул після кожного раунду збігалися.
Одне обмеження варто знати: Multi Warehouse не знає, що картки пулу — одна річ, тому розклад по складах у кожної картки свій. Розклад по складах ведіть на одній картці пулу; решта карток фактично тримають залишок на основному складі — коли продається одна картка, у інших цифра знімається з основного складу, далі зі складів за пріоритетом, без мінусів. Самовивіз для інших карток пропонує склади за їхнім власним розкладом.
Як це працює — крок за кроком
- Ви створюєте склади й розкладаєте залишок. Залишок WooCommerce кожного товару стає сумою його складів.
- Покупець оформлює замовлення. Коли WooCommerce списує залишок (оплата, «В обробці», «На утриманні»), модуль бере кожен рядок зі складів, що відвантажують онлайн-замовлення, за пріоритетом; не вистачає на одному — рядок ділиться.
- Розподіл записується в замовлення: склад, полиця, кількість — його видно в блоці «Склади», у листі збирання й у списку замовлень.
- Менеджер збирає замовлення за листом збирання (у Pro — ще й сканером) і за потреби переносить рядок на інший склад.
- Скасування, повернення з рестоком чи правка рядка повертає одиниці на склад, з якого їх узято.
- Зміни залишку ззовні — імпорт, облікова програма, REST API, швидке редагування — модуль розкладає сам: збільшення на основний склад, зменшення з основного, поки там є одиниці, далі зі складів за пріоритетом.
Що перевірено, а що ні
Модуль протестовано наскрізно в локальному стенді: nginx + PHP-FPM, PHP 8.3 і 7.4, MariaDB 10.11, HPOS увімкнено й вимкнено, блокова тема Twenty Twenty-Five і класична Storefront — 105 перевірок на кожному прогоні плюс тест одночасних замовлень. Не перевіряли: MySQL 8, Redis як об’єктний кеш, каталоги на 10 000+ товарів. Сторінку сканера з камерою телефона ми в браузері не відкривали — перевірено серверну частину (кожен скан рахується на сервері, більше, ніж у замовленні, зібрати не можна). Справжній ліцензійний сервер і тріал у тесті не брали участі.
Що під капотом
- Облік. Три власні таблиці: склади, кількості по складах, розподіл замовлень. Кожна зміна кількості — один відносний SQL-запит, а останні одиниці знімаються умовно, тож два замовлення не заберуть ту саму одиницю. У тесті 10 одночасних замовлень по 2 шт. на 20 шт. у трьох складах списали склади рівно до нуля.
- Сума = залишок WooCommerce. Наприкінці кожного запиту модуль звіряє суму складів із залишком WooCommerce і розкладає різницю, що прийшла ззовні.
- Одне замовлення — одне списання. Колбек оплати й повернення покупця на сайт можуть прийти одночасно; без захисту WooCommerce 11.1 у нашому тесті списав одне замовлення кілька разів. Модуль пускає списання одного замовлення по черзі (MySQL GET_LOCK) — рівно одне.
- Розподіл іде за фактом. Повернення завжди рахуються від кількості, яку WooCommerce реально списав для рядка (
_reduced_stock). - Видалення з галочкою «Видаляти дані складів разом із плагіном» прибирає таблиці, налаштування, мітки модуля в замовленнях і спосіб доставки в зонах; залишки WooCommerce не змінюються.
Як встановити
- Завантажте безкоштовну версію
catcode-multi-warehouse-for-woocommerce-free-1.0.0.zipкнопкою вгорі сторінки (або Pro-архів з кабінету після оплати): Плагіни → Додати новий → Завантажити плагін → Встановити → Активувати. - Переконайтеся, що в WooCommerce → Налаштування → Товари → Наявність увімкнене керування запасами.
- WooCommerce → Склади: основний склад уже створено з усім вашим залишком. Додайте інші склади, адреси й пріоритети.
- Розкладіть залишок: у картці товару (вкладка «Наявність» і кожна варіація) або таблицею на вкладці «Залишки по складах».
- Для Pro: вставте ліцензійний ключ із листа після оплати або натисніть «Спробувати Pro 7 днів» у розділі «Pro-ліцензія».
Питання
про модуль
Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.
Що станеться з моїми нинішніми залишками?
У WooCommerce нічого не зміниться. Після активації весь залишок кожного товару лежить на основному складі, доки ви не розкладете його по інших складах — у картці товару або таблицею на вкладці «Залишки по складах».
З якого складу списується замовлення?
Зі складів, позначених «Відвантажує онлайн-замовлення», спершу з меншим числом пріоритету. Якщо на одному складі не вистачає, рядок ділиться між складами. Будь-який рядок можна вручну перенести на інший склад у блоці «Склади» замовлення. У Pro є ще режим «один склад, де є все» і пріоритет складів за регіоном покупця.
Залишки в мене оновлює імпорт або облікова програма. Це працюватиме?
Загальний залишок WooCommerce оновлюється як і раніше. Модуль бачить зміну і розкладає її сам: збільшення йде на основний склад, зменшення знімається з основного складу, поки там є одиниці, далі зі складів за пріоритетом. Якщо ж ваша облікова програма веде залишки саме по складах, ця логіка вам не підходить — розклад по складах тоді треба завантажувати CSV-імпортом Pro, а не загальною цифрою.
Звідки може взятися розбіжність між складами й залишком WooCommerce?
Від змін, які оминають WooCommerce: плагін або скрипт пише залишок напряму в базу, або залишок змінили, поки модуль був вимкнений. Такий запис модуль не бачить. Розбіжність видно на вкладці «Залишки по складах» (фільтр «Лише де сума по складах відрізняється»), виправляється однією кнопкою — автоматично вона не лікується.
Самовивіз працює в блоковому чекауті?
Так, у блоковому і класичному. Спосіб доставки «Самовивіз зі складу» пропонує лише склади, де є весь кошик, і ще раз перевіряє склад при оформленні. У блоковому чекауті він показується як звичайний варіант доставки, а не через штатний перемикач Local Pickup. Якщо двоє покупців в одну мить забирають останню одиницю одного складу, склад іде в мінус, а замовлення показує нестачу — на інший склад самовивіз навмисно не переноситься.
Склад може піти в мінус?
Так, коли ви продаєте під замовлення (backorder) або в описаному вище випадку із самовивозом. Нестача видна в замовленні й у таблиці залишків.
Модуль кудись надсилає дані?
Free — нікуди: склади, кількості й розподіл лежать у трьох таблицях вашої бази. Pro раз на добу перевіряє ліцензійний ключ на catcode.com.ua (надсилаються ключ і адреса сайту).
Скільки коштує?
Базова версія безкоштовна. Pro — 990 грн за рік, довший термін дешевший: 2 роки — 1 880 грн, 5 років — 3 710 грн. Автосписань немає. Куплена ліцензія лишає Pro-функції назавжди, а термін покриває оновлення й підтримку.
Поки що жодного відгуку. Будьте першим.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Не той варіант, що шукаєте?
Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—