Зв'язатись
Payments · OpenCart

Multi PRRO Connector — фіскалізація чеків для OpenCart 2.3, 3.x & 4.x

Фіскалізація чеків OpenCart через Вчасно.Касу і Checkbox із резервним перемиканням: автоматичний чек за статусом замовлення, зміни за розкладом, журнал і лист покупцю. Збірки для 2.3, 3.x і 4.x. Базова версія безкоштовна; Pro додає чеки повернення на частину замовлення, повернення через API Вчасно, повтор чека з журналу і звірку змін із Z-звітом.

Завантажити безкоштовно
Версія
v1.1.0 (OpenCart 4)
v1.1.0 (OpenCart 3.x)
v1.1.0 (OpenCart 2.3)
Сумісність
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 та 4.0.2 – 4.1.x
Платформа
OpenCart
Multi PRRO Connector — фіскалізація чеків для OpenCart 2.3, 3.x & 4.x

Що включено в ліцензії

Функція Free Pro
Автоматичний фіскальний чек при переході замовлення в заданий статус
Дві каси в одному модулі: Вчасно.Каса і Checkbox, з резервним перемиканням
Відкриття та закриття зміни за розкладом, Z-звіт при закритті
Журнал чеків зі статусами, помилками й посиланням на чек
УКТЗЕД для окремих товарів і код за замовчуванням
Лист покупцю з посиланням на чек
Збірки для OpenCart 2.3, 3.x і 4.x — одна ліцензія на всі
Чек повернення на частину замовлення
Повернення через API Вчасно.Каса
Повтор невдалого чека з журналу
Звірка змін: Z-звіт проти суми чеків

Multi PRRO Connector для OpenCart — модуль фіскалізації для OpenCart 2.3, 3.x та 4.x, який під’єднує магазин до українських програмних РРО і автоматично пробиває фіскальний чек, коли замовлення переходить у заданий статус (наприклад, «В обробці» після онлайн-оплати). Чеки, зміни каси, Z-звіти й сповіщення покупцю — все з адмінки OpenCart, без ручного копіювання даних у кабінет каси.

Модуль повністю безкоштовний. Завантажити з офіційного OpenCart marketplace: opencart.com/…/extension_id=48662.

Що отримує адмін

Загальні налаштування Multi PRRO Connector в адмінці OpenCart
Загальні налаштування: автофіскалізація за статусом, основна і резервна каса, статуси для чеків продажу та повернення, дефолтний код УКТЗЕД.
Підключення кас Вчасно.Каса і Checkbox
Підключення кас: Вчасно.Каса та Checkbox — API-ключ, фіскальний номер ПРРО і кнопка «Перевірити зв’язок» для кожної.
Поле УКТЗЕД у картці товару OpenCart
Код УКТЗЕД у картці товару — поруч із SKU. Порожнє поле означає код за замовчуванням із налаштувань модуля.
Журнал чеків ПРРО в адмінці OpenCart
Журнал чеків: замовлення, каса, тип, сума, фіскальний номер і статус. Причина невдачі видно при наведенні на статус.
Зміни каси та Z-звіти
Зміни каси: ручні кнопки відкриття/закриття, журнал змін і Z-звітів прямо в адмінці.

Інтегровані каси

  • Вчасно.Каса — чеки продажу, відкриття/закриття касової зміни з Z-звітом, перевірка ключа.
  • Checkbox — чеки продажу та повернення, зміни, перевірка ключа.

Основна каса + резервна (fallback): якщо основна недоступна, чек автоматично йде через запасну — замовлення не залишиться без фіскалізації через збій одного сервісу.

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

  1. Покупець оплачує замовлення — карткою онлайн чи післяплатою; модуль сам визначає за списком методів оплати, що фіскалізувати як готівку, а що як безготівку.
  2. Замовлення переходить у статус-тригер (наприклад, «В обробці» після callback-а платіжки).
  3. Модуль формує чек — позиції, доставка (за бажанням), коди УКТЗЕД, пропуск нульових позицій — і надсилає його в основну касу; якщо вона мовчить, спрацьовує резервна.
  4. Фіскальний номер повертається у замовлення і пишеться у журнал чеків в адмінці.
  5. Покупець отримує чек на email та, опційно, SMS через TurboSMS.
  6. При поверненні замовлення у статус повернення модуль пробиває чек повернення.

Що входить у безкоштовну версію, а що в Pro

Сама фіскалізація безкоштовна й лишається такою: автоматичний чек за статусом замовлення, дві каси з резервним перемиканням, зміни за розкладом і Z-звіт, журнал чеків, лист покупцю, УКТЗЕД по товарах. Це те, що вже лежить у каталозі OpenCart, і воно нікуди не переїжджає.

Pro-ліцензія додає те, що потрібно магазину, коли починаються повернення:

  • Чек повернення на частину замовлення. В OpenCart немає окремої сутності повернення, тому сума задається прямо в журналі: повернули одну позицію, доставку або довільну суму — модуль пробиває окремий чек і привʼязує його до чека продажу. Кілька часткових повернень одного замовлення — кілька документів.
  • Повернення через API Вчасно.Каса. Без Pro такий чек доводиться пробивати руками в кабінеті сервісу.
  • Повтор чека з журналу. Каса була недоступна або зміна закрилась — одна кнопка на рядку. Чек, який уже пройшов, повторно в ПРРО не піде.
  • Звірка змін. Кожен Z-звіт проти суми чеків журналу (продажі мінус повернення) з підсвіченою розбіжністю — саме там видно чек, пробитий повз магазин.

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

2 490 грн — разова покупка. Ліцензія безстрокова: платите один раз, оновлення й технічна підтримка входять у ціну. Один ключ — один домен і його піддомени.

Переносите магазин на інший домен — деактивуйте ліцензію на старому й активуйте на новому самостійно в кабінеті.

Що під капотом

  • API-ключі й паролі шифруються у БД через sodium_crypto_secretbox; значення, зашифроване в адмінці, читається і в catalog-, і в cron-контексті.
  • Архітектура адаптерів: спільний інтерфейс провайдера, реєстр кас і ланцюжок основна → резервна.
  • Керування зміною: ручні кнопки, авто-відкриття на першому продажу дня та розклад через системний cron — точний час HH:MM, а не «раз на годину» від планувальника OpenCart.
  • Журнали в адмінці: окремо чеки й окремо зміни/Z-звіти — видно, що і коли пробилося, без входу в кабінет каси.

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

  1. Завантажте prro_connector.ocmod.zip через «Розширення → Інсталятор». Для OpenCart 3.0.x — збірку prro_connector-oc3.ocmod.zip, для 2.3 — cc_prro-oc2.ocmod.zip.
  2. OpenCart 2.3: штатний Інсталятор тієї версії копіює файли тільки по FTP, тому вміст теки upload/ з архіву заливається в корінь магазину вручну, а далі — «Розширення → Модулі → Install».
  3. Увімкніть модуль у «Розширення → Модулі» і відкрийте його налаштування.
  4. На вкладці каси введіть API-ключ і фіскальний номер ПРРО з кабінету Вчасно або Checkbox, натисніть «Перевірити зв’язок».
  5. У загальних налаштуваннях оберіть статус-тригер, основну/резервну касу та методи оплати, що йдуть як готівка.
  6. Пробийте тестовий чек на копійчаному замовленні й перевірте журнал чеків — має з’явитися рядок з фіскальним номером.

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

1.1.0 — серпень 2026
Зʼявився Pro-рівень; безкоштовна частина не змінилась. Pro: чек повернення на частину замовлення прямо з журналу, повернення через API Вчасно.Каса замість ручного чека в кабінеті, повтор невдалого чека і звірка змін із Z-звітом. Повторна фіскалізація стала ідемпотентною: документ, який уже пройшов, удруге в касу не відправляється, а повернення завжди йде через ту касу, що пробила продаж.
1.0.0 — 5 серпня 2026
Код УКТЗЕД тепер задається в картці товару (раніше працював лише код за замовчуванням). Виправлено сумісність із PHP 7.4 — через тип mixed у обробнику події фіскалізація на 7.4 не спрацьовувала взагалі. Виправлено авто-керування зміною: OpenCart виконує всі прострочені cron-задачі в одному проході, через що зміна відкривалась і одразу закривалась Z-звітом. Додано cron-токен для ендпоінтів зміни, перевірку прав на сторінках і кнопці «Перевірити зв’язок», людські назви кас і статусів у журналах.
1.0.1 — 10 серпня 2026 (OpenCart 4.x і 2.3)
Виправлено переведення сум чека в гривню: гілка перерахунку не виконувалась узагалі через помилку в умові, тож магазин із негривневою базовою валютою пробивав чек на число базової валюти. Перевірено на стенді: замовлення на 180 USD тепер іде чеком на 7 470 грн.
1.0.0 — 10 серпня 2026 (OpenCart 3.x)
Збірка для OpenCart 3.0.x підтягнута до рівня версій 4.x і 2.3. Код УКТЗЕД тепер задається в картці товару: таблиця для нього була, чек її читав, але записати код було нічим — працював лише код за замовчуванням. Суми чека переводяться в гривню за курсом замовлення — раніше гілка перерахунку не виконувалась узагалі через помилку в умові, тож магазин із негривневою базовою валютою пробивав чек на число базової валюти. Значення з форми (токен каси, пароль, cron-токен) більше не зберігаються екранованими, тому символи «&» і лапки в ключах працюють. Cron-ендпоінти зміни отримали токен, перевірку часу і захист від повторного виклику за добу. Нотатки в історії замовлення та лист покупцю тепер перекладаються мовою магазину.
1.0.0 — 9 серпня 2026 (OpenCart 2.3)
Окрема збірка під OpenCart 2.3.0.0 – 2.3.0.2 з тим самим функціоналом. Суми чека тепер переводяться в гривню за курсом замовлення — магазин із негривневою базовою валютою пробивав чек на число базової. Системний cron для зміни каси, Захист cron-ендпоінтів токеном.
0.4.1 — липень 2026
Перший публічний реліз для OpenCart: автофіскалізація при зміні статусу замовлення, каси Вчасно.Каса і Checkbox з fallback, чеки повернення, керування зміною (ручне, за розкладом, авто-відкриття на першому продажу), журнали чеків і Z-звітів, шифрування ключів у БД, УКТЗЕД-коди, email/SMS-чек покупцю. Збірки під OpenCart 4.0.2 – 4.1.x та 3.0.2 – 3.0.5.0.

Часті питання

Чи чіпає модуль вітрину або checkout?

Ні. Уся робота — в адмінці та на подіях зміни статусу замовлення. Тема і чекаут магазину не змінюються.

Що як зміна каси закрита, коли прийшло замовлення?

Модуль вміє авто-відкривати зміну на першому продажу дня, а також відкривати/закривати її за розкладом через системний cron. Ручні кнопки на сторінці «Зміни» теж є.

Як розділяються готівкові та безготівкові чеки?

У налаштуваннях задається список методів оплати, які трактуються як готівка (наприклад, cod для післяплати) — решта фіскалізується як картка/безготівка.

Чи підтримуються чеки повернення?

Так, через Checkbox — при переході замовлення у статус повернення. Для Вчасно.Каса повернення поки робиться в кабінеті сервісу.

У мене OpenCart 3 або 2.3 — підійде?

Так. Є окрема збірка під OpenCart 3.0.2 – 3.0.5.0 і окрема під 2.3.0.0 – 2.3.0.2 з тим самим функціоналом. У 2.3 немає власного планувальника, тому зміну каси за розкладом відкриває системний cron — два готові URL модуль показує прямо в налаштуваннях.

У якій валюті пробивається чек?

Завжди у гривні. Якщо базова валюта магазину не UAH, суми переводяться за курсом того замовлення — тобто чек збігається з тим, що покупець бачив на вітрині.

Що залишиться після видалення модуля?

Замовлення OpenCart не змінюються, а всі пробиті чеки і Z-звіти зберігаються у кабінеті вашого ПРРО-сервісу — фіскальні дані не втрачаються.

Чи вміє модуль пробивати чеки повернення?

Так. У безкоштовній версії чек повернення на всю суму замовлення пробиває Checkbox за статусом «повернено», а для Вчасно замовлення отримує нагадування зробити це в кабінеті. Pro пробиває чек повернення сам — у тому числі на частину замовлення й для Вчасно через API.

Питання щодо модуля?

Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.

@catcode_support

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

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

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