Зв'язатись
  • WordPress
  • Import/Export
  • v1.0.0

Multi Warehouse для WooCommerce — залишки по складах, розподіл замовлень і лист збирання

Плагін для WooCommerce, який веде залишок кожного товару й варіації окремо по складах: основний склад, друге місто, магазин, резерв. Замовлення саме списується зі складів за пріоритетом, при нестачі рядок ділиться між складами, скасування й повернення повертають одиниці туди, звідки їх взяли. Лист збирання з полицями, наявність на складах на сторінці товару. Базова версія безкоштовна; Pro — самовивіз зі складу, «один склад, де є все» і регіони, зведений лист збирання, сканер, відвантаження частинами, CSV.

Завантажити Free
Pro · ліцензія на рік Чим більше сайтів, тим дешевше кожен
Сумісність
WordPress 6.2+ · WooCommerce 8.0+ (перевірено на WordPress 7.1 і WooCommerce 11.1) · PHP 7.4+ · HPOS і класичне сховище замовлень · блоковий і класичний чекаут · MySQL / MariaDB
Ліцензія
один сайт, річна
Тріал
7 днів, без картки, один на сайт
Оновлено
вересень 2026
Або всі 144 Pro-модулів з All Access — 4 990 ₴ / рік

Що є в Free,
а що дає Pro

Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.

Функція Free Pro
Склади без обмеження кількості: код, адреса, пріоритет, «Відвантажує онлайн-замовлення», показ на вітрині ✔ ✔
Залишок і полиця / комірка по складах для простих товарів, варіацій і варіативних товарів із залишком на рівні товару ✔ ✔
Вкладка «Залишки по складах»: правка всіх товарів однією таблицею, переміщення між складами, пошук і виправлення розбіжностей ✔ ✔
Загальний залишок WooCommerce = сума складів: звіти, фіди й інші плагіни працюють як раніше ✔ ✔
Автоматичне списання замовлення зі складів за пріоритетом, з діленням рядка між складами ✔ ✔
Повернення на той самий склад при скасуванні, поверненні з рестоком, правці чи видаленні рядка менеджером ✔ ✔
Захист від подвійного списання одного замовлення паралельними запитами ✔ ✔
Блок «Склади» в замовленні: полиці, нестача, перенесення рядка на інший склад; колонка «Склад» у списку замовлень ✔ ✔
Лист збирання замовлення по складу, відсортований за полицями ✔ ✔
Вкладка «Замовлення до збирання» з фільтром за складом і статусом ✔ ✔
«Наявність на складах» на сторінці товару (класичні й блокові теми) і шорткод ✔ ✔
HPOS і класичне сховище, блоковий і класичний чекаут ✔ ✔
Самовивіз зі складу на чекауті: лише склади, де є весь кошик, з адресою й графіком — ✔
Розподіл «один склад, де є все» і за регіонами (країна, область, місто, індекс) — ✔
Зведений лист збирання кількох замовлень із сумою по товару — ✔
Збирання зі сканером: камера телефона, USB / Bluetooth-сканер; SKU, GTIN або своє поле штрихкоду — ✔
Відвантаження частинами: частина складу відправлена з ТТН, нотатка покупцю, «Виконано» після останньої — ✔
CSV-експорт і імпорт кількостей і полиць по складах — ✔

Як це виглядає

Таблиця «Залишки по складах»: кількість кожного товару на кожному складі, разом і залишок WooCommerce
Вкладка «Залишки по складах»: усі товари й варіації однією таблицею. Колонки «Разом» і «Залишок WooCommerce» збігаються; галочка вгорі лишає тільки товари з розбіжністю.
Блок «Склади» в замовленні: склад, полиця, кількість, зібрано, перенесення рядка, номер ТТН
Блок «Склади» в замовленні: з якого складу й з якої полиці відвантажується рядок, скільки лишилось на складі, перенесення на інший склад. Кнопки «Збирати зі сканером» і «Позначити частину відправленою» з ТТН — Pro.
Сторінка товару: під кнопкою «Додати в кошик» блок наявності на складах Київ, Львів, Одеса
Сторінка товару в темі Storefront: «Наявність на складах» — є / залишилось N / немає по кожному складу. Тестовий магазин без фото товарів і з англійською вітриною.

Головне про модуль

Як це виглядає для покупця

Під кнопкою «Додати в кошик» — блок «Наявність на складах»: по кожному складу «є», «залишилось 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. На живих телефонах камеру ми не перевіряли — спробуйте в тріалі.
  • Мови інтерфейсу: українська, російська, англійська.

Історія версій

v1.0.0 Поточна вересень 2026

Перший публічний реліз: склади, залишки й полиці по складах, розподіл замовлень за пріоритетом з діленням рядка, повернення при скасуванні, поверненні й правці, блок «Склади» в замовленні,…

Разом з Multi Warehouse для WooCommerce купують

4 модулі одним замовленням — на 40% дешевше, ніж окремо

Набір «Старт магазину» Multi Warehouse Nova Poshta Premium Mono Acquiring Telegram-сповіщення і Viber/SMS покупцям Потрібно більше — усі 144 модулі в All Access за 4 990 ₴.
2 490 ₴ / рік замість 4 160 ₴ поштучно
Купити набір →

Повний опис модуля

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 не знає, що картки пулу — одна річ, тому розклад по складах у кожної картки свій. Розклад по складах ведіть на одній картці пулу; решта карток фактично тримають залишок на основному складі — коли продається одна картка, у інших цифра знімається з основного складу, далі зі складів за пріоритетом, без мінусів. Самовивіз для інших карток пропонує склади за їхнім власним розкладом.

Як це працює — крок за кроком

  1. Ви створюєте склади й розкладаєте залишок. Залишок WooCommerce кожного товару стає сумою його складів.
  2. Покупець оформлює замовлення. Коли WooCommerce списує залишок (оплата, «В обробці», «На утриманні»), модуль бере кожен рядок зі складів, що відвантажують онлайн-замовлення, за пріоритетом; не вистачає на одному — рядок ділиться.
  3. Розподіл записується в замовлення: склад, полиця, кількість — його видно в блоці «Склади», у листі збирання й у списку замовлень.
  4. Менеджер збирає замовлення за листом збирання (у Pro — ще й сканером) і за потреби переносить рядок на інший склад.
  5. Скасування, повернення з рестоком чи правка рядка повертає одиниці на склад, з якого їх узято.
  6. Зміни залишку ззовні — імпорт, облікова програма, 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 не змінюються.

Як встановити

  1. Завантажте безкоштовну версію catcode-multi-warehouse-for-woocommerce-free-1.0.0.zip кнопкою вгорі сторінки (або Pro-архів з кабінету після оплати): Плагіни → Додати новий → Завантажити плагін → Встановити → Активувати.
  2. Переконайтеся, що в WooCommerce → Налаштування → Товари → Наявність увімкнене керування запасами.
  3. WooCommerce → Склади: основний склад уже створено з усім вашим залишком. Додайте інші склади, адреси й пріоритети.
  4. Розкладіть залишок: у картці товару (вкладка «Наявність» і кожна варіація) або таблицею на вкладці «Залишки по складах».
  5. Для Pro: вставте ліцензійний ключ із листа після оплати або натисніть «Спробувати Pro 7 днів» у розділі «Pro-ліцензія».

Питання
про модуль

Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.

@catcode_support Налаштування, сумісність, активація
Що станеться з моїми нинішніми залишками?

У WooCommerce нічого не зміниться. Після активації весь залишок кожного товару лежить на основному складі, доки ви не розкладете його по інших складах — у картці товару або таблицею на вкладці «Залишки по складах».

З якого складу списується замовлення?

Зі складів, позначених «Відвантажує онлайн-замовлення», спершу з меншим числом пріоритету. Якщо на одному складі не вистачає, рядок ділиться між складами. Будь-який рядок можна вручну перенести на інший склад у блоці «Склади» замовлення. У Pro є ще режим «один склад, де є все» і пріоритет складів за регіоном покупця.

Залишки в мене оновлює імпорт або облікова програма. Це працюватиме?

Загальний залишок WooCommerce оновлюється як і раніше. Модуль бачить зміну і розкладає її сам: збільшення йде на основний склад, зменшення знімається з основного складу, поки там є одиниці, далі зі складів за пріоритетом. Якщо ж ваша облікова програма веде залишки саме по складах, ця логіка вам не підходить — розклад по складах тоді треба завантажувати CSV-імпортом Pro, а не загальною цифрою.

Звідки може взятися розбіжність між складами й залишком WooCommerce?

Від змін, які оминають WooCommerce: плагін або скрипт пише залишок напряму в базу, або залишок змінили, поки модуль був вимкнений. Такий запис модуль не бачить. Розбіжність видно на вкладці «Залишки по складах» (фільтр «Лише де сума по складах відрізняється»), виправляється однією кнопкою — автоматично вона не лікується.

Самовивіз працює в блоковому чекауті?

Так, у блоковому і класичному. Спосіб доставки «Самовивіз зі складу» пропонує лише склади, де є весь кошик, і ще раз перевіряє склад при оформленні. У блоковому чекауті він показується як звичайний варіант доставки, а не через штатний перемикач Local Pickup. Якщо двоє покупців в одну мить забирають останню одиницю одного складу, склад іде в мінус, а замовлення показує нестачу — на інший склад самовивіз навмисно не переноситься.

Склад може піти в мінус?

Так, коли ви продаєте під замовлення (backorder) або в описаному вище випадку із самовивозом. Нестача видна в замовленні й у таблиці залишків.

Модуль кудись надсилає дані?

Free — нікуди: склади, кількості й розподіл лежать у трьох таблицях вашої бази. Pro раз на добу перевіряє ліцензійний ключ на catcode.com.ua (надсилаються ключ і адреса сайту).

Скільки коштує?

Базова версія безкоштовна. Pro — 990 грн за рік, довший термін дешевший: 2 роки — 1 880 грн, 5 років — 3 710 грн. Автосписань немає. Куплена ліцензія лишає Pro-функції назавжди, а термін покриває оновлення й підтримку.

Не той варіант, що шукаєте?

Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль