Online Withdrawal from Contract for VirtueMart
The only ready-made solution for Joomla 3 - 6 and VirtueMart 4
Comply with the law in 5 minutes.
As of 19 June 2026, every e-shop must offer customers a simple online interface for withdrawing from a contract. Non-compliance carries a fine of up to CZK 5,000,000.
Why you need it
Directive EU 2023/2673 and the Czech amendment to the Civil Code impose a new obligation on all e-shops: the customer must be able to withdraw from a contract online, simply and without unnecessary obstacles.
What the law requires
- A visible button on the e-shop website
- A two-step process (identification + confirmation)
- Confirmation on a durable medium (e-mail)
- An audit trail in case of a CTIA inspection
What you risk without a solution
- A CTIA fine of up to CZK 5,000,000
- Legal uncertainty in disputes with customers
- Loss of customer trust
What Sema On-line Return solves
You install a single ZIP file. You enable the plugin. You fill in the e-shop name and a notification e-mail. Done. No template edits, no programming, no monthly fees.
Full legal compliance
- A floating button on every page — automatically, with no changes to the template
- A two-step form exactly as required by the directive
- An HTML e-mail to the customer as confirmation on a durable medium
- A full audit trail: date, time, IP address, text of the declaration
Features beyond the minimum
- Partial withdrawal — the customer selects specific items and quantities to return
- Choice of resolution — refund, exchange, repair or discount
- Works without login — verification via order number and e-mail
- Duplicate detection — alerts to a repeated withdrawal for the same order
- Admin overview — a table in the Joomla administration with search, sorting and CSV export
- Configurable statuses — track processing progress (Pending / In progress / Resolved)
How it works
For the customer
Order identification
The customer clicks the button and enters the order number and e-mail. The system verifies the order against the VirtueMart database.
Item selection and confirmation
The order detail is displayed. The customer selects the items to return, chooses a resolution method and knowingly confirms the withdrawal.
E-mail confirmation
The customer receives a professional HTML e-mail with a reference number, date of receipt, the wording of the withdrawal and instructions for returning the goods.
For the e-shop operator
- You receive an e-mail notification with a complete overview
- In the Joomla administration (Components → Withdrawal from Contract) you see all received withdrawals
- You change processing statuses, filter, sort
- You export to CSV for accounting or legal purposes
What you can configure
| Setting | Description |
|---|---|
| E-shop name and logo | Shown in the confirmation e-mail |
| Company ID, registered address | Identification of the seller in the e-mail |
| Return address for goods | Instructions in the confirmation to the customer |
| Notification e-mail | Where alerts about new withdrawals are sent |
| Contact e-mail and phone | Footer of the confirmation e-mail |
| Button placement | Floating right / left / in the footer / manual placement |
| Button text | Custom text on the button |
| Button color | Any color via a color picker |
| Length of the period | Default 14 days, adjustable |
| Period check | No check / Notify (never blocks) |
| Resolution methods | Any number, format key=Label |
| Processing statuses | Custom statuses for the admin overview |
| Terms & conditions URL | Link in the modal and in the e-mail |
Technical parameters
| Parameter | Value |
|---|---|
| Extension type | Joomla Package (system plugin + admin component) |
| Compatibility | Joomla 4.x / 5.x, VirtueMart 4, PHP 8.1+ |
| JavaScript | Vanilla JS, no dependencies (0 kB of frameworks) |
| CSS | Isolated styles with a vmw- prefix, won't affect your template |
| Localization | Czech, English |
| Installation | A single ZIP via the Joomla Extension Installer |
| Updates | Fully automatic via the Joomla updater |
| Uninstallation | The audit table is deliberately kept (legal evidence) |
| Security | Honeypot anti-bot, prepared statements |
| License | GPL v2+ |
| Current version | 1.5.2 |
Frequently asked questions
Do I have to edit the template?
No. The plugin inserts itself automatically on every front-end page. If you want to place the button manually, choose "Don't insert" in the settings and add a single line of HTML to your template.
Does it work without the customer logging in?
Yes. The customer is identified by the order number and the e-mail from the order. No login is required.
What happens on uninstallation?
The table with withdrawal records is deliberately not deleted — it serves as legal evidence that the obligation has been met. If you want to delete it manually, you'll find instructions in the documentation.
Do you support currencies other than CZK?
The current version displays amounts in CZK. For e-shops with a different currency, an extension is in preparation.
Does the plugin block a withdrawal after the period expires?
No, never. The period runs from receipt of the goods, not from the order. The plugin only optionally notifies. The final assessment is always up to the operator.
Can I have my own resolution methods?
Yes. In the plugin settings you define any options in the format key=Label, each on a separate line. You can also turn them off entirely.
Do I need jQuery?
No. The entire extension is written in vanilla JavaScript without any dependencies.
How do you handle duplicate withdrawals?
When verifying the order, the system notifies the customer that an earlier withdrawal already exists for the order (with the date and reference number). However, it does not block the submission of a new withdrawal — the directive does not allow that.
Does it work on Joomla 4?
Yes. The extension is compatible with Joomla 4.x, 5.x and 6.x.
What happens after a year?
The extension keeps working without restriction — nothing is switched off and the audit trail remains. After a year, only the updates stop arriving. By renewing the license you get another year of updates and e-mail support.