Get in touch
OpenCart

Poster POS for OpenCart — orders to the register, menu and stock from Poster

OpenCart 4.x, 3.x, 2.3 orders to the Poster register; Pro adds menu, stock and status from the register. Lifetime licence.

Pro · lifetime licence Staging copies are included. The more sites, the cheaper each one
Compatibility
OpenCart 4.0.2+, 3.0.x, 2.3.0.2 · module languages: Ukrainian, Russian, English
Version
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Licence
a site + a staging copy, lifetime
Trial
7 days, no card, one per site
Updated
November 2026
Or all 394 Pro modules with All Access — 4 990 ₴ / year ≈ €98

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.

Feature Free Pro
Online orders from OpenCart to the Poster register ✔ ✔
Product matching: SKU, model, ID, table ✔ ✔
Poster location choice ✔ ✔
Journal, retries, panel on the order page ✔ ✔
Shop prices with the coupon ✔ ✔
Phone in the +380 form ✔ ✔
Encrypted token ✔ ✔
Poster menu import into the catalogue, modifiers as options — ✔
Stock from the Poster storage every 10 minutes — ✔
Order status back from the register — ✔
Several locations by store, shipping, city or region — ✔
Delivery or takeaway with the address — ✔
Online payment mark — ✔

What it looks like

Connection to Poster
Connection: the token, account name and currency, and the location whose register receives the orders.
Order settings
Orders: statuses that trigger sending, the product matching rule, prices and the country phone code.
Status back from the register
Status back: which shop statuses are set when the cashier accepts or declines the order.

Key points

What the buyer sees

Nothing new: the storefront and the checkout stay as they are.

What the admin gets

Extensions → Modules → Poster POS: tabs Connection, Orders, Delivery and payment, Status back, Menu and stock, Schedule and Licence, plus the Journal and Product matching pages.

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 — a site and a staging copy

Moving the site? Unlink the licence on the old domain and activate it on the new one yourself. A staging copy (staging., dev.) works with the same key and does not take a site slot. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • OpenCart 4.0.2+, 3.0.x or 2.3.0.2; PHP 7.0+ for 2.3, the cURL extension.
  • A Poster account and a Personal integration token.
  • Shop and Poster products are matched: SKU = Poster product code, model, ID or the matching table.
  • For retries, statuses, menu and stock within minutes: a server cron every 5 minutes on the address from the Schedule tab; OpenCart 4 also runs the module from its own cron hourly. Without PHP-FPM the background pass runs only on admin pages and by cron, so the cron is required on mod_php hosting.

Version history

v1.0.0 Current November 2026

For OpenCart 4.x, 3.x and 2.3: online orders to the Poster register, product matching by SKU, model or table, a location choice, a journal with retries.

Frequently bought with Poster POS

All Access Need more? All modules (394) under one licence, new ones are added automatically. 4 990 ₴≈ €98 Learn more →

Full module description

Poster POS for OpenCart 4.x, 3.x and 2.3 sends shop orders to the Poster register as online orders: the cashier sees the items, total, phone and a comment, and accepts or declines the order right at the register. The module uses the official Poster API and suits cafes, pizzerias, bakeries and shops that run on Poster.

What you need from Poster. A Poster account and the access token from Access → Integrations → Personal integration. One token is enough for one shop.

What the buyer sees

Nothing new: the storefront and the checkout stay as they are. The buyer orders as usual, and the venue gets an online order at the register with the #OC-number marker, the name, a phone in the +380 form, delivery and payment details and the sum the buyer paid.

What the admin gets

Extensions → Modules → Poster POS: tabs Connection, Orders, Delivery and payment, Status back, Menu and stock, Schedule and Licence, plus the Journal and Product matching pages. Paste the token and press Save and check connection: the module shows the account name and currency and fills the list of locations. The token is stored encrypted and never shown back in the form.

On the Orders tab you choose when an order goes to the register: right after checkout or only at chosen statuses (for example, when paid). The default matching rule is shop SKU = Poster product code; model or ID can be used instead. Prices are the shop prices (a coupon is spread over the items, so the register shows the sum the buyer paid) or the Poster prices. If a product is not matched, the order can go with that product named in the comment, or wait in the journal until you match it; an order in which no product is matched is not sent.

The Product matching page sets a Poster product by hand: type its ID or pick it from a list, with search by name, SKU or model. Option values map to a Poster product modifier or a dish modification. The journal shows each order, its state at the register, an error in plain words, state filters, and the buttons Retry, Remove and Ask Poster. The panel on the order page has the same: a preview of what will go to the register, Send, Send again and Ask Poster.

One shop order is one Poster order: before a retry the module looks for the #OC-number marker at the register, so after a lost answer the order is not doubled. A Poster outage does not lose an order: it waits in the queue and the module retries with a growing pause.

In Pro the Menu and stock tab brings the Poster menu into the catalogue: nested categories, products and dishes with the prices of the chosen location, product modifiers as a Variant option, dish modification sets as radio or checkbox options, and optionally photos. The import can be repeated without doubles and left to the schedule every 30 minutes; products hidden at the location are switched off. Stock from the Poster storage is updated every 10 minutes. The Status back tab reads from Poster whether the cashier accepted the order and sets the shop statuses you chose (Complete and Canceled by default) with a history line and, if you like, an e-mail to the buyer. The module asks Poster every few minutes for three days after the order was sent.

How it works, step by step

  1. Install the archive for your OpenCart version and enable the module.
  2. Copy the Personal integration token in Poster, paste it on the Connection tab and choose the location.
  3. Set the shop SKUs equal to the Poster product codes or fill the matching table.
  4. Place an order: it appears at the Poster register as an online order.
  5. In Pro import the menu and turn on stock and status back; add the address from the Schedule tab to the server cron every 5 minutes.

Under the hood

  • The official Poster API: online orders (incomingOrders), menu, storage, locations; the token is stored encrypted.
  • One order is one record in Poster: a unique queue row, the #OC-number marker in the comment and a lookup at the register before a retry.
  • The phone is brought to the +380 form (the country code is configurable).
  • A coupon discount is spread over the items and rounded per unit, so the register total can differ from the shop total by kopecks; the comment always carries the shop total.
  • OpenCart taxes that are not on products are added to the delivery (or to the discount when there is no delivery): exact for shops without taxes.
  • An order in a currency other than the Poster account currency goes with amounts in the shop default currency.
  • The menu import writes the catalogue tables directly, not through the core model: SEO URLs are not created, layouts and filters are untouched.
  • The switch to switch off what is hidden at the location also switches on a product you switched off by hand, if Poster shows it.
  • Shop statuses are written by the storefront side (cron, visits), so a shop without traffic and without cron gets them late.
  • OpenCart events with no core edits; on update the settings, the journal and the licence are kept.
  • Interface in Ukrainian, Russian and English.

How to install

  1. Extensions → Installer: upload the archive for your version without renaming it (OpenCart 4 — cc_poster.ocmod.zip, 3.x — cc_poster-oc3.ocmod.zip, 2.3 — cc_poster-oc23.ocmod.zip).
  2. For 3.x and 2.3: Extensions → Modifications → Refresh.
  3. Extensions → Modules → Poster POS: install and open it.
  4. Paste the token, check the connection and choose the location.
  5. For Pro: enter the key or start the trial on the Licence tab.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
Is this an official Poster module?

No, it is an independent integration through the official Poster API. Poster is a trademark of its owner.

Does the order appear at the register at once?

The module sends the order right after checkout (or at the chosen status). If Poster does not answer, the order stays in the queue and is retried by the cron and on visits.

Does the shop status change instantly when the cashier accepts the order?

No. The module asks Poster every few minutes, so the status changes with a short delay. For faster retries add a cron on the address from the Schedule tab.

What if a product is not matched?

By default the order goes to the register with the product name in the comment, so the cashier adds it by hand. You can make it wait in the journal instead. If no product is matched, it is not sent.

Does it work with several locations?

Yes, in Pro: the location is chosen by store, shipping code, city or region.

Which OpenCart versions?

OpenCart 4.0.2+, 3.0.x and 2.3.0.2 — three separate archives in one product.

Does the free version send every order?

Yes, every new order. If the shop also sells goods that are not in Poster, choose statuses or the "do not send" mode.

Is the licence lifetime?

Yes, for OpenCart it is one payment and a lifetime licence for two sites.

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