
Multi PRRO Connector — fiscal receipts for OpenCart 2.3, 3.x & 4.x
A free fiscalisation module for OpenCart 2.3, 3 and 4: an automatic receipt on status change, Vchasno.Kasa and Checkbox with fallback, register shifts, Z-reports, a log, email/SMS.
- Compatibility
- OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 (PHP 7.2+) and 4.0.2 – 4.1.x
- Version
-
v1.2.5 (OpenCart 4)
v1.2.5 (OpenCart 3.x)
v1.2.5 (OpenCart 2.3) - Licence
- two sites, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- 26 October 2026
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
Key points
Offline sales from a Checkbox register → website stock (Pro)
A shop that sells both at a counter and online can easily sell the same item twice: it was rung up at the till, yet OpenCart still shows it in stock.
What it costs
2,490 UAH — a one-off purchase. The licence is perpetual: you pay once, and updates and technical support are included in the price.

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites
Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 (PHP 7.2+) and 4.0.2 – 4.1.x
Version history
A purchased Pro licence has no end date and does not depend on opening the admin; saving the settings no longer resets it. “Do not fiscalize payment methods” keeps working when Pro is not…
The OpenCart 3.x build runs on PHP 7.2 and 7.3.
Checkbox return receipts are now actually issued: the module sent returns to an API method Checkbox does not have.
All versions (11)
Fixed return receipts through Vchasno.Kasa (Pro, OpenCart 4.x, 3.x and 2.3).
Pro: offline sales from a Checkbox register reduce website stock (OpenCart 4.x, 3.x and 2.3).
A Pro tier appeared; the free part did not change.
The UKTZED code is now set on the product (previously only the default code worked).
Fixed conversion of receipt amounts into hryvnia.
The OpenCart 3.0.x build was brought up to the level of the 4.x and 2.3 ones.
A separate build for OpenCart 2.3.0.0 – 2.3.0.2 with the same functionality.
The first public release for OpenCart.
Frequently bought with Multi PRRO Connector
4 modules in one order — 40% cheaper than separately


Nova Poshta Premium — a Nova Poshta module for OpenCart 2.3, 3.x and 4.x

LiqPay — Card Payments for OpenCart 2.3, 3.x and 4.x

Telegram notifications and Viber/SMS for customers for OpenCart
Full module description
Multi PRRO Connector for OpenCart is a fiscalisation module for OpenCart 2.3, 3.x and 4.x that connects your shop to Ukrainian software cash registers (PRRO) and issues a fiscal receipt automatically when an order moves into a chosen status (for example “Processing” after an online payment). Receipts, register shifts, Z-reports and customer notifications all live in the OpenCart admin — no copying data by hand into the register’s own dashboard.
Registers supported
- Vchasno.Kasa — sale and refund receipts, opening and closing a shift with a Z-report, key validation.
- Checkbox — sale and refund receipts, shifts, key validation.
A primary register plus a backup one: if the primary is unavailable, the receipt automatically goes through the fallback — an order will not be left unfiscalised because one service had an outage.
How it works, step by step
- The customer pays — by card online or cash on delivery; the module works out from your list of payment methods what to fiscalise as cash and what as card.
- The order moves into the trigger status (for example “Processing” after the gateway callback).
- The module builds the receipt — line items, shipping (optionally), UKTZED codes, skipping zero lines — and sends it to the primary register; if that stays silent, the backup takes over.
- The fiscal number comes back into the order and is written to the receipt log in the admin.
- The customer receives the receipt by email and, optionally, by SMS through TurboSMS.
- When an order is refunded into the refund status, the module issues a refund receipt.
Offline sales from a Checkbox register → website stock (Pro)
A shop that sells both at a counter and online can easily sell the same item twice: it was rung up at the till, yet OpenCart still shows it in stock. Since 1.2.0 Pro closes that gap: every fiscalised sale receipt on the Checkbox register in the shop reduces the quantity of the same product in OpenCart, and a return receipt adds it back. It works in all three builds — OpenCart 4.x, 3.x and 2.3.
- Give the product in Checkbox the same code as the SKU or model of the product on the website. If the code differs, the module looks the barcode up among EAN, UPC, JAN, ISBN, SKU and model.
- On the module page press “Offline sales”, enter the cashier login and password and the licence key of the shop register (or leave them empty to use the register from the Checkbox tab) and press “Connect the webhook”. The module registers the storefront address in Checkbox itself.
- After every receipt Checkbox calls the site. The module checks the signature with the key Checkbox issued and changes the quantity of the matched product.
Receipts the module issued for online orders are skipped — OpenCart already reduced stock at checkout. A repeated or parallel delivery of the same receipt changes nothing a second time. If several products share a code, the line is skipped so the wrong stock is not reduced; a product with “Subtract Stock” turned off is left alone. All of this shows up in the “Receipts received” log, one line per item.
What it costs
2,490 UAH — a one-off purchase. The licence is perpetual: you pay once, and updates and technical support are included in the price. One key covers two sites: your store and a staging copy.
Moving the shop to another domain? Deactivate the licence on the old one and activate it on the new one yourself from your account.
What is under the hood
- API keys and passwords are encrypted in the database with sodium_crypto_secretbox, or with an HMAC stream cipher when the libsodium extension is missing (typical for OpenCart 2.3 on PHP 7.0); a value encrypted in the admin is readable in both the catalog and the cron context.
- An adapter architecture: a shared provider interface, a register registry and a primary → backup chain.
- Shift control: manual buttons, auto-opening on the first sale of the day, and a schedule through the system cron — an exact HH:MM, not “once an hour” from the OpenCart scheduler.
- Logs in the admin: receipts in one place, shifts and Z-reports in another — you can see what was issued and when without logging into the register’s dashboard.
How to install it
- Upload
prro_connector.ocmod.zipthrough “Extensions → Installer”. For OpenCart 3.0.x use theprro_connector-oc3.ocmod.zipbuild, for 2.3 usecc_prro-oc2.ocmod.zip. - OpenCart 2.3: the stock installer in that version copies files over FTP only, so the contents of the
upload/folder from the archive go into the shop root manually, and then it is “Extensions → Modules → Install”. - Enable the module under “Extensions → Modules” and open its settings.
- On the register tab, enter the API key and the PRRO fiscal number from your Vchasno or Checkbox dashboard and press “Test connection”.
- In the general settings, pick the trigger status, the primary/backup register and the payment methods that count as cash.
- Issue a test receipt on a one-kopiyka order and check the receipt log — a row with a fiscal number should appear.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
Does the module touch the storefront or the checkout?
No. Everything happens in the admin and on order status change events. Your theme and checkout stay untouched.
What if the register shift is closed when an order arrives?
The module can auto-open the shift on the first sale of the day, and open or close it on a schedule through the system cron. There are manual buttons on the “Shifts” page too.
How are cash and card receipts told apart?
In the settings you list the payment methods that are treated as cash (for example cod for cash on delivery) — everything else is fiscalised as card.
Are refund receipts supported?
Yes, through both registers. When an order moves into the refund status, the module issues a full-amount refund receipt through the same register that issued the sale — Checkbox or Vchasno.Kasa. This works in the free version too.
I am on OpenCart 3 or 2.3 — will it work?
Yes. There is a separate build for OpenCart 3.0.2 – 3.0.5.0 and another for 2.3.0.0 – 2.3.0.2 with the same functionality. 2.3 has no scheduler of its own, so scheduled shifts are opened by the system cron — the module shows the two ready-made URLs right in the settings.
What currency is the receipt issued in?
Always hryvnia. If the shop's base currency is not UAH, the amounts are converted at that order's rate — so the receipt matches what the customer saw on the storefront.
What is left after the module is removed?
OpenCart orders are unchanged, and every receipt and Z-report issued stays in your PRRO service's dashboard — no fiscal data is lost.
Can the module issue refund receipts?
Yes. The free version issues a full-amount refund receipt on the “refunded” status — through both Checkbox and Vchasno.Kasa. Pro adds a refund receipt for chosen items of the sale receipt, with quantities, straight from the receipt log.
Can bank-transfer payments be left out of fiscalisation?
Yes, with Pro. In the “Do not fiscalize payment methods” setting list payment method codes separated by commas (for example, bank_transfer) — such orders are never sent to the register, neither as a sale nor as a refund.
Which PHP version is required?
The OpenCart 3.x build runs on PHP 7.2 to 8.4 (tested on OpenCart 3.0.3.3 with PHP 7.2). The 2.3 build runs on PHP 7.0 and newer, the 4.x build on whatever PHP OpenCart 4 itself requires.
Do I need to open the admin for Pro to stay on?
No. A purchased OpenCart licence never expires and works without opening the admin and without renewals.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—



