EU Order Withdrawal Compliance
Free
$0.00

June 19, 2026. The EU Isn't Asking.

EU Directive 2023/2673 makes an electronic withdrawal button mandatory for every online store selling to EU consumers.

14
Days — the EU standard return window
8
Legal exception types supported
4
Admin views for full request control
2
Automated emails per withdrawal (customer + admin)

Everything the Law Requires. Everything You Need.

EU Directive 2023/2673 specifies the button, the flow, the email, and the records. This extension delivers all four — and the admin tooling to manage them.

Eligibility-Gated Withdrawal Button

The button appears only when it should — correct order status, open window, no duplicate request. A live countdown shows customers exactly how many days remain.

Two-Step Confirmation Flow

Customers review consequences and check a confirmation box before the withdrawal registers. Their informed consent is documented before your obligation begins.

Instant Durable Medium Email

EU law requires written acknowledgment immediately upon receipt. The confirmation email goes out before the page even reloads — timestamped, branded, legally referenced.

8 Legal Exception Types

Perishables, custom orders, digital content, sealed hygiene goods, sealed media, time-sensitive services, urgent repairs, newspapers. Set the exception on each product — the button disappears automatically.

Per-Product Withdrawal Periods

Different products carry different obligations. Set a custom period per product. The system applies the longest period in any order automatically — maximum customer protection, minimum manual work.

12-Month Safety Net

If a customer wasn't properly informed of their withdrawal right at purchase, EU law extends their window to 12 months. One toggle setting handles this automatically — because finding out after the fact is expensive.

Weekend Deadline Extension

When the withdrawal window expires on a Saturday, it rolls automatically to the following Monday — exactly as EU consumer protection guidance expects. The countdown shows the correct date. Always.

Analytics Dashboard

Withdrawal volume month by month over 12 months. Status distribution at a glance. If your withdrawal rate is climbing, something is wrong — the chart shows you before the reviews do.

CSV Export for Auditors

One click exports every withdrawal record — ID, order number, customer, reason, refund amount, timestamps, admin notes. Hand it to your accountant. Hand it to the regulator. Done.

The Button That Regulators Come Looking For

EU enforcement starts with a simple question: can a customer find the withdrawal option without calling your support team? The withdrawal button appears directly on the customer's order page — visible, clearly labeled, and gated so it only shows up when the withdrawal right is actually active.

  • Appears on order detail page, order history, or both
  • Live countdown — customers see the deadline, not just a button
  • Two-step flow with confirmation checkbox — documented, defensible
  • Bootstrap 5 and UIkit 3 template support out of the box
  • Customizable theme color to match your store

Admin Management That Keeps Up

Withdrawal requests don't arrive on a schedule. They arrive all at once after a busy weekend, or one at a time for months, then suddenly three in a morning. The admin dashboard keeps you across all of it — with search, filters, bulk actions, and a per-record detail view that holds everything your team needs to process and document each request properly.

  • Dashboard: pending count, processed this month, rejection rate
  • Search by order number, customer name, or email
  • Log refund amounts and payment reference numbers per request
  • Bulk approve, reject, or delete selected requests
  • Audit logging — every action timestamped for compliance

Not Everything Can Be Returned. The Law Knows That.

EU consumer rights law carves out eight product categories from the right of withdrawal. This extension puts those exceptions directly in your product settings — one dropdown, per product, and the withdrawal button handles the rest. Digital products get an additional layer: a consent gate at checkout that requires customers to explicitly waive their right before accessing the content.

  • Perishable goods
  • Custom and personalized products
  • Sealed hygiene products and sealed media
  • Digital content with consent gate
  • Customer-facing explanation for why the item is exempt

Real Stores. Real Compliance Scenarios.

A German customer orders three shirts. Nine days later — still inside the 14-day window — they want to return one. They log in, open the order, and see the withdrawal button with a "2 days remaining" countdown. Two-step flow. Confirmation email lands in their inbox. Admin sees the notification. They log the refund, process it, and mark the request closed. Timestamped record. No phone call. No manual spreadsheet. Fully compliant from click to close.

A French customer purchases a software license. The store owner has flagged all software products as "Digital Content" exceptions. When the customer views their order, no withdrawal button appears — instead, a notice explains that digital content already delivered is exempt from the withdrawal right under EU law. Zero support tickets. The exemption is handled before the customer even asks. For future orders, a checkout consent gate records the customer's explicit agreement before the download is unlocked.

A Dutch customer orders a personalized photo book (exempt) alongside a standard USB charger (eligible). With partial withdrawals enabled, the customer can withdraw the charger while the photo book obligation stands. The system identifies the eligible and exempt items automatically — one flow, two outcomes, correct result for both product types. No developer customization required.

Online Education Platform — The 12-Month Rule

An Italian online course platform isn't certain their checkout disclosure fully satisfies EU requirements. They enable the "extend period if not informed" setting — orders without a confirmed disclosure flag get a 360-day withdrawal window. Six months later, a subscriber requests a withdrawal. The button is still live on their order page. The platform processes it within the legal refund window. No compliance incident. No fine. The safe choice, made once, in a settings panel.

An Austrian store receives a formal inquiry from the national consumer protection authority. The regulator wants records of all withdrawal requests from the past 12 months. The store owner clicks Export — a dated CSV downloads with every request: ID, order number, customer, reason, refund amount, processing timestamp, admin notes. They forward three confirmation emails from their inbox, each citing EU Directive 2023/2673 with the exact receipt timestamp. Audit closed. No fine. That's what the export button is for.

The Deadline Doesn't Move. Neither Should You.

Every Joomla ecommerce store selling to EU consumers needs this before June 19, 2026. The button, the flow, the email, the records — it's all here. Get compliant today. The fine for waiting is considerably more expensive.

Translated In The Following Languages

Arabic Unitag (ar-AA), Chinese, Traditional (zh-TW), Danish (da-DK), Dutch (nl-NL), English (en-GB), English, USA (en-US), Finnish (fi-FI), French (fr-FR), German (de-DE), Greek (el-GR), Hebrew (he-IL), Italian (it-IT), Japanese (ja-JP), Norwegian Bokmål (nb-NO), Persian Farsi (fa-IR), Polish (pl-PL), Portuguese, Brazil (pt-BR), Portuguese, Portugal (pt-PT), Russian (ru-RU), Spanish (es-ES), Swedish (sv-SE), Turkish (tr-TR)


  • Developer J2Commerce
  • J2Commerce Version 6.x, 4.x
  • Joomla Version 4.x, 5.x, 6.x
Language Translations
Arabic UnitagArabic Unitag
Chinese, TraditionalChinese, Traditional
DanishDanish
DutchDutch
EnglishEnglish
English, USAEnglish, USA
FinnishFinnish
FrenchFrench
GermanGerman
GreekGreek
HebrewHebrew
ItalianItalian
JapaneseJapanese
Norwegian BokmålNorwegian Bokmål
Persian FarsiPersian Farsi
PolishPolish
Portuguese, BrazilPortuguese, Brazil
Portuguese, PortugalPortuguese, Portugal
RussianRussian
SpanishSpanish
SwedishSwedish
TurkishTurkish

Fix Installer does not finish on Joomla 6 installation

New Feature Added add-on image

New Feature Added status layouts for frontend

New Feature Added language keys for the new layouts

New Feature Order withdrawal actions logged to J2Store order history (submitted, processed, rejected)

New Feature Translated into 13 languages

Improvement Extension renamed to EU Order Withdrawal Compliance

New Feature Module mod_j2store_orderwithdrawal bundled in package

You may also be interested in these products

Stay Updated

Subscribe for free and be the first to know about the latest features, updates, and new additions.