
Stock Reserve & Reorder для OpenCart — фізичний залишок, резерв замовлень і точка дозамовлення
Модуль для OpenCart 4, 3 і 2.3 показує для кожного товару й значення опції три числа: скільки фізично на полиці, скільки вже продано, але ще не відвантажено (резерв, із замовленнями, що його тримають), і скільки ще можна продати. Прихід додає «+N» до залишку, а не перезаписує його; списання й інвентаризація пишуться в журнал і скасовуються. Точка дозамовлення — за швидкістю продажів, строком постачання й страховим запасом. Pro — параметри на товар, рекомендована кількість, документи з таблиці, CSV і щоденний звіт на e-mail і в Telegram.
- Сумісність
- OpenCart 4.0.2 – 4.1.x (перевірено на 4.1.0.3 і 4.0.2.3, зокрема з DB_DRIVER=pdo) · OpenCart 3.0.x (перевірено на 3.0.5.0) · OpenCart 2.3.0.2 (PHP 7.0) · PHP — як потребує ваша версія OpenCart (перевірено на 7.0 і 8.x) · MariaDB 10.11
- Версія
-
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3) - Ліцензія
- один сайт, назавжди
- Тріал
- 7 днів, без картки, один на сайт
- Оновлено
- 9 жовтня 2026
Що є в Free,
а що дає Pro
Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.
Як це виглядає
Головне про модуль
Як це виглядає для покупця
Покупець модуля не бачить: на вітрині й в оформленні замовлення нічого не змінюється, скриптів і запитів на сторінках магазину модуль не додає, а OpenCart продає далі з того самого поля «Кількість».
Що отримує адмін
Пункт меню Каталог → «Залишки й дозамовлення» і сторінки «Залишки», «Дозамовлення», «Складські документи», «Налаштування».

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

Один ключ — один сайт
Переносите магазин — відв’яжіть ліцензію на старому домені й активуйте на новому самі. Для студій — ключі на 5, 25 сайтів або без обмежень.
Технічні вимоги
OpenCart 4.0.2 – 4.1.x (перевірено на 4.1.0.3 і 4.0.2.3, з драйвером бази mysqli і pdo), 3.0.x (перевірено на 3.0.5.0) або 2.3.0.2.
PHP — той, що потрібен вашій версії OpenCart: збірку для 2.3 перевірено на PHP 7.0, решту — на PHP 8.x.
База: перевірено на MariaDB 10.11. Право CREATE TEMPORARY TABLES прискорює сторінки на великих каталогах; без нього модуль рахує прямими запитами з тими самими цифрами.
PHP-розширення cURL — для ліцензії й Telegram.
Для щоденного звіту в OpenCart 3 і 2.3 — cron хостингу, що раз на день відкриває адресу з налаштувань.
Історія версій
Для OpenCart 4.x, 3.x і 2.3: фізичний, зарезервований і доступний залишок із замовлень за правилом списання ядра (варіанти OpenCart 4, значення опцій), замовлення резерву, прихід «+N»,…
Разом з Stock Reserve & Reorder для OpenCart купують
4 модулі одним замовленням — на 40% дешевше, ніж окремо


Nova Poshta Premium — модуль Нова Пошта для OpenCart 2.3, 3.x і 4.x

LiqPay — оплата карткою для OpenCart 2.3, 3.x і 4.x

Telegram-сповіщення і Viber/SMS покупцям для OpenCart
Повний опис модуля
Stock Reserve & Reorder для OpenCart — модуль для магазинів, які тримають товар на власному складі. OpenCart зберігає для товару одне число — «Кількість» — і віднімає з нього замовлення, щойно воно переходить у статус обробки, задовго до того, як посилку забрали з полиці. Тому після кількох днів продажів число в адмінці не збігається з тим, що лежить на складі, а інвентаризація починається з питання «а куди поділось 7 штук?».
Модуль читає замовлення й показує для кожного товару та кожного значення опції три числа: фізичний залишок (що лежить на полиці), резерв (продано, але ще не відвантажено — з переліком замовлень) і доступний (що ще можна продати). Прихід додає «+N» поверх залишку, а не перезаписує його; списання й інвентаризація пишуться в журнал і скасовуються. Точка дозамовлення рахується за швидкістю продажів, строком постачання й страховим запасом.
Для WooCommerce є окрема версія — Stock Reserve & Reorder для WooCommerce.
Як це виглядає для покупця
Покупець модуля не бачить: на вітрині й в оформленні замовлення нічого не змінюється, скриптів і запитів на сторінках магазину модуль не додає, а OpenCart продає далі з того самого поля «Кількість». Покупець помічає тільки наслідок: товар дозамовили вчасно, а не тоді, коли останню одиницю вже продали двічі.
Що отримує адмін
Пункт меню Каталог → «Залишки й дозамовлення» і сторінки «Залишки», «Дозамовлення», «Складські документи», «Налаштування».
- Плитки: скільки одиниць у резерві і в скількох позиціях, скільки фізично на полиці, скільки позицій час дозамовити і скільки перепродано.
- Таблиця для кожного товару й значення опції, де OpenCart віднімає зі складу: кількість в OpenCart, фізичний, резерв, доступний, продано за період, точка дозамовлення і стан — «Норма», «Дозамовити», «Перепродано», «Нічого доступного», «Не відстежується».
- Клік по резерву відкриває замовлення, що його тримають: номер, дата, статус, покупець, кількість і позначка, чи OpenCart уже списав товар.
- Фільтри: пошук за назвою, моделлю, SKU чи #ID, категорія, «з резервом», «дозамовити + перепродано», «нічого доступного», значення опцій, вимкнені товари; сортування за резервом, доступним залишком, днями запасу чи терміновістю.
- Зміна залишку з рядка: прихід «+N», списання «−N» або інвентаризація — пораховане на полиці стає фізичним залишком. Кожна зміна — документ у журналі з лічильником до і після, його можна скасувати.
- Рядок у картці товару: «Фізично · резерв · доступно» під полем «Кількість» і посилання на сторінку залишків.
Дозамовлення
- Точка дозамовлення = продажі за день × (строк постачання + страховий запас). Позиція потрапляє в «Дозамовити», коли доступний залишок на цій точці або нижче, і в «Перепродано», коли резерв більший за фізичний залишок.
- «На скільки вистачить» — днів продажів на доступному залишку за поточної швидкості.
- Pro: строк постачання, страховий запас, мінімальний залишок, кратність упаковки й постачальник для конкретного товару чи значення опції; колонка «Замовити» з рекомендованою кількістю; кнопки «CSV для закупівлі» і «Прихід із рекомендацій».
Pro: складські документи, CSV і щоденний звіт
- Багаторядкові документи — прихід, списання чи інвентаризація з номером, постачальником і приміткою. Рядки вставляються просто з таблиці: SKU, модель,
#product_idабо#product_id/option_value_idі кількість. «Перевірити рядки» показує залишок до і після; невідомий код, неоднозначна модель чи нульова кількість блокують увесь документ, поки рядок не виправлено. - CSV залишків, списку закупівлі й усіх змін залишку: UTF-8 з BOM, розділювач «;», назви, що починаються з «=», не виконуються в Excel як формули.
- Щоденний звіт — позиції на точці дозамовлення або нижче з рекомендованою кількістю і, за бажанням, перепродані. Якщо нічого не треба — нічого не надсилається.
- Канали: до 5 e-mail через поштові налаштування магазину і Telegram (токен бота й ID чату). В OpenCart 4 звіт запускає планувальник OpenCart, у 3 і 2.3 — адреса з секретним ключем для cron хостингу.
Як це працює — крок за кроком
- Модуль бере замовлення в резервних статусах — за замовчуванням це статуси обробки вашого магазину без статусів виконання, тобто «продано, але не відвантажено».
- Для кожного товару й значення опції він рахує, скільки з цих замовлень OpenCart уже списав із «Кількості» — за тим самим правилом, що й ядро (OpenCart 4.1 об’єднує списки статусів обробки й виконання, варіант OpenCart 4 списує ще й головний товар).
- Фізичний = кількість в OpenCart + уже списані товари резервних замовлень. Резерв = усі товари резервних замовлень. Доступний = фізичний − резерв.
- Продажі за день = продано за період (за замовчуванням 30 днів) ÷ дні. Точка дозамовлення = продажі за день × (строк постачання + страховий запас); у Pro — не менше мінімального залишку.
- Прихід, списання чи інвентаризація змінюють «Кількість» одним атомарним запитом «кількість + N», тож продаж, що прийшов у ту саму секунду, не губиться. Кожна зміна — у журналі, скасування повертає її назад.
Що під капотом
- Без правок ядра. Без OCMOD-патчів; пункт меню й рядок у формі товару додаються подіями OpenCart. Одна бібліотека класів однакова в трьох збірках, код сумісний з PHP 7.0.
- Власні таблиці
oc_cc_stockres_doc(документи),oc_cc_stockres_move(рядки змін із лічильником до і після),oc_cc_stockres_item(параметри товару). Таблиці ядра не змінюються. - Розрахунок на льоту, раз на запит у тимчасовій таблиці; без кешу, тож цифри завжди свіжі.
- Адреса крона
index.php?route=extension/cc_stockres/cron.cron&key=…(у 3.x і 2.3 —extension/module/cc_stockres_cron/cron): без ключа — «403», звіт іде не частіше разу на день, при збої відправки повторюється. - Ліцензія живе в окремій групі налаштувань: «Зберегти» її не чіпає.
- Деінсталяція знімає події й (OpenCart 4) завдання cron, а документи й параметри товарів лишає — повторне встановлення їх бачить. Налаштування модуля OpenCart при деінсталяції видаляє, ліцензія в окремій групі лишається. Для повного видалення видаліть таблиці
oc_cc_stockres_*вручну.
Як встановити
- OpenCart 4: Розширення → Інсталятор → завантажте
cc_stockres.ocmod.zip(ім’я архіву не змінюйте) і натисніть «Встановити». OpenCart 3: Розширення → Інсталятор →cc_stockres-oc3.ocmod.zip, потім Розширення → Модифікації → «Оновити». OpenCart 2.3: залийте вміст папкиupload/зcc_stockres-oc2.ocmod.zipу корінь магазину (FTP або файловий менеджер хостингу) — Інсталятор 2.3 без налаштованого FTP файлів не копіює. - Розширення → Розширення → Модулі → CatCode Stock Reserve & Reorder → «Встановити». Модуль одразу увімкнений.
- Каталог → «Залишки й дозамовлення». У «Налаштуваннях» перевірте резервні статуси, період продажів, строк постачання і страховий запас.
- Для Pro: вставте ліцензійний ключ із листа після оплати або натисніть «Спробувати Pro 7 днів» у вкладці «Ліцензія».
Питання
про модуль
Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.
Чим «фізичний» залишок відрізняється від кількості в OpenCart?
OpenCart віднімає товар із поля «Кількість», щойно замовлення переходить у статус обробки, — задовго до того, як посилку забрали з полиці. Модуль додає назад товари таких замовлень, які ще не відвантажені: це фізичний залишок. Резерв — ті самі товари, доступний — фізичний мінус резерв.
Модуль змінює кількість товарів сам?
Ні. Цифри рахуються із замовлень, у каталозі нічого не перезаписується. Кількість змінюється лише вашим приходом, списанням чи інвентаризацією: одним атомарним «кількість + N», із записом у журнал і можливістю скасувати.
Які статуси вважаються резервом?
За замовчуванням — статуси обробки вашого магазину без статусів виконання, тобто «продано, але не відвантажено». У налаштуваннях можна обрати свої, зокрема статуси, у яких OpenCart залишок не списує: такі замовлення позначаються «ще не списано» і зменшують доступний залишок.
Як рахується точка дозамовлення?
Продажі за день за останні N днів × (строк постачання + страхові дні), округлено вгору. У Pro — для кожного товару окремо і не менше мінімального залишку; рекомендована кількість покриває точку дозамовлення плюс задану кількість днів продажів і округлюється до кратності упаковки.
Telegram-звіт працює?
Звіт надсилається методом sendMessage Bot API за документацією Telegram; у тесті його перевіряли на моку сервера Telegram, живим ботом — ні. E-mail-звіт перевірено через поштові налаштування магазину. Перевірте обидва канали кнопкою «Надіслати тестовий звіт зараз» у 7-денному тріалі.
Ліцензія на рік?
Ні. Для OpenCart це одна оплата, ліцензія назавжди, одна на всі три збірки: 4.x, 3.x і 2.3. Тріал Pro стартує лише за вашою кнопкою. Після тріалу документи, журнал і параметри лишаються, а розрахунок переходить на глобальні налаштування.
Модуль змінює файли OpenCart чи вітрину?
Ні. Без правок ядра й OCMOD-патчів; пункт меню і рядок у формі товару додаються подіями. Вітрини й оформлення замовлення модуль не торкається, таблиці ядра не змінює — лише власні.
Поки що жодного відгуку. Будьте першим.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Не той варіант, що шукаєте?
Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—
