Semakin

Extensions

For Joomla!® websites and VirtueMart® online stores

Sema Online Return for VirtueMart Joomla 6

Version 1.6.0 VirtueMart

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.

How it works

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

1

Order identification

The customer clicks the button and enters the order number and e-mail. The system verifies the order against the VirtueMart database.

2

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.

3

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

SettingDescription
E-shop name and logoShown in the confirmation e-mail
Company ID, registered addressIdentification of the seller in the e-mail
Return address for goodsInstructions in the confirmation to the customer
Notification e-mailWhere alerts about new withdrawals are sent
Contact e-mail and phoneFooter of the confirmation e-mail
Button placementFloating right / left / in the footer / manual placement
Button textCustom text on the button
Button colorAny color via a color picker
Length of the periodDefault 14 days, adjustable
Period checkNo check / Notify (never blocks)
Resolution methodsAny number, format key=Label
Processing statusesCustom statuses for the admin overview
Terms & conditions URLLink in the modal and in the e-mail

Technical parameters

ParameterValue
Extension typeJoomla Package (system plugin + admin component)
CompatibilityJoomla 4.x / 5.x, VirtueMart 4, PHP 8.1+
JavaScriptVanilla JS, no dependencies (0 kB of frameworks)
CSSIsolated styles with a vmw- prefix, won't affect your template
LocalizationCzech, English
InstallationA single ZIP via the Joomla Extension Installer
UpdatesFully automatic via the Joomla updater
UninstallationThe audit table is deliberately kept (legal evidence)
SecurityHoneypot anti-bot, prepared statements
LicenseGPL v2+
Current version1.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.

Current version: 1.5.2 | Last updated: June 2026

45 €
License for 1 domain and 1 year of updates and email support. After the year, the extension continues to work without restrictions.
Log in
Powered by SemaHub

Interested in working together?

Get in touch and let's discuss your project. We'll be happy to help you choose the right solution.