
GLS CEE Shipping — a shipping module for GLS in OpenCart: home delivery and ParcelShop / ParcelLocker (MyGLS)
GLS shipping for OpenCart 4, 3 and 2.3 stores in Croatia, Czechia, Hungary, Romania, Slovenia and Slovakia via the MyGLS API: courier to the address and a ParcelShop or ParcelLocker picked right at checkout, labels from the order page, tracking and statuses. Pro — weight-based prices, several parcels, bulk labels, an automatic label on an order status and hourly statuses. Lifetime licence.
- Compatibility
- OpenCart 4.0.2 – 4.1.x (tested on 4.1.0.3 with the pdo driver and 4.0.2.3), 3.0.x (tested on 3.0.5.0) and 2.3.0.2 (PHP 7.0) · default checkout and CatCode One Page Checkout · MyGLS: HR, CZ, HU, RO, SI, SK · module languages English, hrvatski, čeština, slovenčina, magyar, română, slovenščina
- Version
-
v1.0.1 (OpenCart 4)
v1.0.1 (OpenCart 3.x)
v1.0.1 (OpenCart 2.3) - Licence
- one site, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- 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.
What it looks like

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 — one site
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 4.0.2.0+ and 4.1.x (tested on 4.1.0.3 and 4.0.2.3), 3.x (tested on 3.0.5.0) or 2.3.0.2.
PHP 7.0+ — whatever your OpenCart version needs (tested on 7.0, 8.1 and 8.3). The cURL, OpenSSL and zlib extensions.
A MyGLS account in Croatia, Czechia, Hungary, Romania, Slovenia or Slovakia: login, password, client number.
The buyer’s phone at checkout — GLS requires it; in OpenCart 4 the module turns it on with one click.
The destination country currency (EUR, CZK, HUF, RON) in the store with an up-to-date rate — for cash on delivery; otherwise the order currency is used.
Cron: in OpenCart 4 — the built-in scheduler (System → Maintenance → Cron Jobs); in OpenCart 3 and 2.3 — the cron URL from the settings once an hour. Without cron the points are updated with a button.
Product weight — for products without weight the default weight from the settings is used.
Module languages: English, hrvatski, čeština, slovenčina, magyar, română, slovenščina.
Version history
DPV service (declared parcel value) for Croatian post codes 20xxx, Dubrovnik-Neretva, which the MyGLS API documentation requires there.
GLS delivery to the address and to ParcelShop / ParcelLocker in Croatia, Czechia, Hungary, Romania, Slovenia and Slovakia via the MyGLS API, point selection on the default checkout of…
Frequently bought with GLS CEE Shipping
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
GLS CEE Shipping is an independent shipping module for GLS by the CatCode studio for stores in Croatia, Czechia, Hungary, Romania, Slovenia and Slovakia on OpenCart 4, 3 and 2.3. The buyer chooses GLS courier delivery to the address or to a GLS ParcelShop or ParcelLocker right at checkout, and the manager creates the label, prints it and sees the parcel status on the order page through the MyGLS API, without opening the GLS portal.
What you need. A contract with GLS in your country and MyGLS access: login (email), password and client number. Honest note about testing: we have no MyGLS test access — GLS gives it only to customers with a contract. The module is written from the official MyGLS API documentation (version 25.12.11) and tested against a test server that answers like MyGLS per this documentation. We have not created real labels at GLS. Try it on your own account in the 7-day Pro trial — if GLS answers differently from the documentation, we will fix it quickly.
About the trademark. GLS and MyGLS are trademarks of GLS. GLS CEE Shipping is an independent CatCode module, not an official GLS product: GLS does not publish or support it. The module works with your own MyGLS account through the MyGLS API following the GLS documentation.
Running WooCommerce? There is a separate GLS CEE Shipping for WooCommerce plugin: the same two GLS methods and the ParcelShop / ParcelLocker picker at the classic and block checkout, MyGLS labels from the order screen, tracking and cash on delivery.
What the buyer sees
- Two GLS methods in the shipping list: courier to the address and ParcelShop / ParcelLocker. The point method is shown only for countries where you turned points on and downloaded them.
- Point search by postcode, city, street or name, without diacritics. Points for the buyer’s postcode are shown right away.
- The list shows the point type, address, opening hours and a “no cash on delivery” mark. Points on holiday and inactive points are not shown.
- No way on without a point: the server refuses the step, and the confirm block on the page is held with a hint that the point is missing.
What the admin gets
- Settings on six tabs: general, MyGLS account, points, shipments, automation, licence. The account country decides which MyGLS (api.mygls.hr, .cz, .hu, .ro, .si, .sk) the module talks to; the MyGLS test system is supported.
- GLS panel on the order page: the chosen point, the buyer’s own address, label creation with weight, the address split into street / number / extra and cash on delivery, PDF, reprint, delete, status.
- Labels for orders with another shipping method too — to the buyer’s address.
- An email to the buyer with the parcel number and a GLS tracking link — in the order language, plus a record in the order history.
- Shipments list in the Sales menu, with bulk actions in Pro.
How it works — step by step
- You enter the MyGLS details, test the connection and download the points of the countries you need — they go into the module table and are updated daily.
- The buyer chooses “GLS ParcelShop or ParcelLocker” and a point in the panel under the method. The point goes into the session on the server; the buyer’s address fields do not change.
- At checkout the order shipping address becomes the point address, and the buyer’s own address is stored separately. For home delivery — the buyer’s address.
- On the order page the manager clicks “Create GLS label”: the module sends the data to MyGLS (PrintLabels; for a point — the PSD service with the point code) and stores the PDF and the parcel number.
- The buyer gets an email with tracking; the parcel status is updated with a button, and in Pro every hour, and a delivered order moves to the chosen status.
Under the hood
- MyGLS REST API per the documentation version 25.12.11: PrintLabels, GetPrintedLabels, DeleteLabels, GetParcelListStatuses, GetParcelList, GetDeliveryPoints (points as compressed JSON, update of changed points only).
- The point lives on the server only. The picker JavaScript does not read or write the buyer’s address fields. Only the point ID goes into the session, the data comes from the module table, and the point gets into the order only for the point method and only for its own country; otherwise the link is erased.
- The no-point check in OpenCart 4 sits on saving the payment method and on confirm; in OpenCart 3 — on the events of the shipping, payment and confirm steps; in OpenCart 2.3 — the same steps through a modification the module registers itself.
- One library for three builds, the code is PHP 7.0 compatible; it also works with the pdo database driver in OpenCart 4.1.
- The MyGLS password — AES-256-CBC with HMAC, not shown again after saving.
- A Pro gate that never bricks the store: when the trial ends, only the Pro features stop; shipping and labels keep working.
- Uninstall removes the events and cron tasks; the module tables and a copy of the settings stay for a reinstall.
How to install
- OpenCart 4: Extensions → Installer → upload
cc_glscee.ocmod.zip(do not rename the archive) and click “Install”. OpenCart 3: Extensions → Installer →cc_glscee-oc3.ocmod.zip, then Extensions → Modifications → “Refresh”. OpenCart 2.3: upload the contents of theupload/folder fromcc_glscee-oc23.ocmod.zipto the store root (FTP or the hosting file manager). - Extensions → Extensions → Shipping → GLS CEE Shipping (MyGLS) → “Install”, then “Edit”.
- OpenCart 2.3: Extensions → Modifications → “Refresh”. The module registers its modification itself, and the settings page reminds you until “Refresh” is clicked.
- On the “MyGLS account” tab choose the account country, enter the login, password and client number and the sender details, and click “Save and test the connection”.
- On the “ParcelShops & Lockers” tab tick the countries and click “Download now”; on the “General” tab turn the methods on and set the prices, the free shipping threshold and the weight limit.
- Place a test order to a point and create a label from the order page.
- For Pro: paste the licence key from the email after payment or turn on the trial on the “Licence” tab. For OpenCart 3 and 2.3 add the cron URL from the “Automation” tab to the hosting cron, once an hour.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
What do I need from GLS?
A contract with GLS in your country and MyGLS access: login (email), password and client number. The module works with MyGLS of Croatia, Czechia, Hungary, Romania, Slovenia and Slovakia; the account country decides which MyGLS it talks to.
Which GLS accounts was the module tested with?
We have no MyGLS test access — GLS gives it only to customers with a contract. The module is written from the official MyGLS API documentation (version 25.12.11) and tested against a test server that answers like MyGLS per this documentation. The module shows GLS errors with their own text and code, so you see right away what is wrong. Try it on your own account in the 7-day Pro trial — if GLS answers differently, we will fix it quickly.
The "GLS ParcelShop or ParcelLocker" method does not appear at checkout.
It appears when the points of the country are downloaded ("Download now" on the "ParcelShops & Lockers" tab), the country is ticked in the settings and the buyer's address is in that country. Check the method weight limit and geo zone too.
The label is not created because of the phone.
GLS needs the buyer's phone, and OpenCart 4 does not ask for it by default. The settings page has a button that turns on "Telephone display" and "Telephone required".
Which currency is cash on delivery in?
In the currency of the destination country (EUR for Croatia, Slovenia, Slovakia; CZK; HUF; RON) if your store has it — at the rate from the store currency table. If the store does not have it, the order currency is used; the settings page tells you which currencies are missing. You can correct the amount in the panel before creating the label.
Can I send several parcels to one ParcelShop?
Several parcels in one shipment (Pro) are only for delivery to the address. For ParcelShop / ParcelLocker it is one parcel per label.
Does it work with other checkouts?
Tested on the default checkout of OpenCart 4, 3 and 2.3 and on CatCode One Page Checkout. Other checkout modules (Journal, Quick Checkout and so on) were not tested.
Is the licence yearly?
No. For OpenCart it is one payment, a lifetime licence, and one licence covers all three builds: 4.x, 3.x and 2.3. Shipping methods, point selection, labels, tracking and cash on delivery stay free with no time limit.
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
—
