Get in touch
OpenCart

EU Compliance Pack for OpenCart 2.3, 3.x and 4.x — a Vertrag widerrufen button and a legal guarantee block

A tool for DE/AT shops: a permanent "Vertrag widerrufen" button, a two-step form, an acknowledgement e-mail with date and time, a journal of declarations and a legal guarantee block. The texts are templates for your lawyer to check. Pro adds the full journal, CSV, the GARAN label and the order status. Perpetual licence.

Pro · lifetime licence Staging copies are included. The more sites, the cheaper each one
Compatibility
OpenCart 4.0.2.3+ and 4.1.x (tested on 4.0.2.3 and 4.1.0.3), 3.x (tested on 3.0.5.0), 2.3.0.2 · PHP 7.0+ · a separate build for each line · module languages: Deutsch, English
Version
v1.0.4 (OpenCart 4)
v1.0.3 (OpenCart 3.x)
v1.0.3 (OpenCart 2.3)
Licence
a site + a staging copy, lifetime
Trial
7 days, no card, one per site
Updated
01.11.2026
Or all 393 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
A "Vertrag widerrufen" button on every storefront page: in the footer or floating, own colours and label per language ✔ ✔
The button text stays readable on its background ✔ ✔
A form with no login: three required fields — name, contract, address for the acknowledgement ✔ ✔
Second step: the full declaration and a separate "Widerruf bestätigen" button ✔ ✔
Partial withdrawal: the buyer names the goods concerned ✔ ✔
Acknowledgement e-mail with the declaration, date and time with the timezone offset ✔ ✔
A copy of the declaration for the shop ✔ ✔
Declaration journal: entries cannot be edited or deleted, with IP, browser, language and time ✔ ✔
Link to the order by number and e-mail ✔ ✔
Resend the acknowledgement if the e-mail failed ✔ ✔
Pause hides the button, the form address keeps working ✔ ✔
Legal guarantee block on the product, in the cart and at checkout: your official Commission file or a text stand-in ✔ ✔
The last 100 journal entries ✔ ✔
The full journal — ✔
CSV export of the journal — ✔
GARAN label per product, 3 years and up — ✔
Automatic order status after a declaration — ✔

What it looks like

Vertrag widerrufen button in the shop footer
The button in the footer of the stock OpenCart 4.1 theme. Test shop.
Withdrawal form, step 1
Step 1: three required fields, the rest is voluntary. Test data.
Confirming the declaration, step 2
Step 2: the full declaration and a separate button. Test data.

Key points

What the buyer sees

Every page has the button. It is not behind a login and not in a list of links.

What the admin gets

The journal shows every declaration word for word with the time, address and contract.

How much it costs

The base version is free. Pro costs 1 290 UAH once, the licence is perpetual. You can try it free for 7 days, no card needed: the trial starts only on your click.

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+ and 4.1.x, 3.x or 2.3.0.2 · PHP 7.0+.
  • Working shop e-mail: the acknowledgement goes through the OpenCart mail transport.
  • Module languages: Deutsch and English. Ukrainian and Russian are not included: this product is for DE/AT shops.
  • Theme: the button goes into the footer tag. Without one it goes before the end of the page, where a theme can cover it. Check it on your theme.

Version history

v1.0.4 OC 4.x Current 01.11.2026

Before updating to this version, note the settings and the licence key, or replace the files over FTP without uninstalling: later updates keep them.

v1.0.3 October 2026

The button is no longer covered by the OpenCart 4.1 footer.

v1.0.0 First release September 2026

For OpenCart 4.x, 3.x and 2.3: button, two-step form, acknowledgement e-mail, journal, guarantee block.

Frequently bought with EU Compliance Pack

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

Full module description

EU Compliance Pack is a module for OpenCart shops selling to consumers in Germany and Austria. It adds a permanent “Vertrag widerrufen” button with a two-step form, an acknowledgement e-mail and a journal of declarations to the storefront, plus a legal guarantee block.

This is a tool, not a legal opinion. All texts in the module are templates. Whether they are enough for your shop is for your lawyer to decide.

What the buyer sees

Every page has the button. It is not behind a login and not in a list of links.

The button opens a form with three required fields: name, contract or order number, address for the acknowledgement. Everything else is voluntary.

On the second step the buyer sees the full declaration and presses a separate “Widerruf bestätigen” button.

After that the buyer gets the reference, date and time. The same text goes by e-mail.

What the admin gets

The journal shows every declaration word for word with the time, address and contract. An entry cannot be edited or deleted. If the number and e-mail match an order, the journal links to it. If the e-mail failed, the declaration is still saved and the acknowledgement can be sent again.

The legal guarantee block sits on the product, in the cart and at checkout, wherever you choose. In Pro a product can carry the GARAN label.

What you do yourself

  1. Have a lawyer check the declaration, e-mail and notice texts.
  2. Upload the official Commission files while the text stand-in is showing.
  3. Mention the withdrawal function and where it is in your Widerrufsbelehrung (Art. 246a § 1 Abs. 2 EGBGB): the module does not do this.

How it works, step by step

  1. The buyer presses “Vertrag widerrufen” and fills in the form.
  2. The buyer checks the declaration and confirms it with a separate button.
  3. The module writes it to the journal and sends an e-mail to the buyer and a copy to the shop.
  4. If the number and e-mail match an order, the journal shows the link and Pro sets the status you chose.

Under the hood

  • While the module is off, the storefront gets none of its markup.
  • Sending the same declaration again within 5 minutes creates no duplicate: the buyer sees the record already saved.
  • The module does not check the withdrawal period and does not refuse because of it.
  • Form data is escaped on screen and the CSV is protected from Excel formulas.
  • A mail failure does not lose the declaration: the buyer sees the reference and time, the journal shows the failure.

How to install

  1. Extensions → Installer: upload the archive for your version and keep the file name. On 3.x and 2.3 refresh the modifications afterwards. OpenCart 2.3 without FTP: copy upload/ to the shop root.
  2. Extensions → Modules → EU Compliance Pack → Install → Edit.
  3. Switch the module on and save.
  4. Check the button on your theme and send a test declaration.
  5. Paste in the texts your lawyer has checked and add the Commission files.
  6. For Pro: paste the key or start the 7-day trial.

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
Will the shop meet the law after I install this?

We do not promise that. The module gives you technical means. You and your lawyer check the terms, the Widerrufsbelehrung, the texts and the artwork.

Where do I get the official guarantee notice?

The European Commission publishes the files in different languages. Upload them to image/catalog/ and enter the path in the settings. Text mode is only a readable stand-in until you have the files, not the harmonised graphic.

Can I pause the button?

Pause hides the button for everyone. § 356a BGB requires constant availability while a withdrawal period is running, so pause suits only the case when no period is running. The module says so in its settings.

Does everyone need the GARAN label?

No. It is for goods where the producer gives a free durability commitment longer than the legal one. The module refuses anything below 3 years.

Does the buyer need an account?

No. The form is open to everyone and no reason is needed. The reason field is off by default.

What happens to the journal if I remove the module?

The journal table stays in the database: it is your evidence.

OpenCart 2.3 does not install the archive.

The 2.3 installer copies files over FTP. Without FTP, copy the upload/ folder from the archive to the shop root, then refresh the modifications.

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