Give customers a clear withdraw-from-contract function for EU consumer-law workflows and manage withdrawals, returns, cancellations, and problem reports from one organized back-office dashboard.

EU withdrawal button with centralized returns, cancellations, and problem request management.
- EU withdrawal button
- Returns dashboard
- Guest requests
- Status workflow
Price
69.99β¬
Compatibility: PrestaShop 1.7, 8, 9
Part of
Product overview
About this module
Features
EU withdrawal button
Add a clear customer-facing withdraw-from-contract entry point aligned with the right of withdrawal requirements introduced by Directive (EU) 2023/2673.
Four request flows
Handle withdrawals, standard returns, order cancellations, and problem reports from one configurable module.
Flexible entry points
Show request links from the customer account, order details, top navigation, footer, and order confirmation page.
Guest request support
Allow customers who checked out as guests to submit and track requests through a secure email link.
Back-office request dashboard
Review all requests with filters, statuses, history, customer messages, internal notes, and export tools.
Automatic notifications
Keep customers and admins updated with configurable email notifications for new requests and status changes.
Configurable eligibility rules
Set the withdrawal period, choose how it is calculated, exclude products or categories, and restrict requests by order status.
Live Demo
Back Office Demo
Admin panel preview
Front Office Demo
Customer-facing storefront
Frequently Asked Questions
Changelog
- β’ Security hardening: request forms now re-fill from sanitized values instead of reading the raw request in templates.
- β’ Customer messages and replies are emailed as plain text, so links or markup typed into a request can't dress up your emails. Line breaks still make it through.
- β’ Uploaded attachments can no longer be opened by direct URL; they're only served through the secure download.
- β’ CSV exports neutralise spreadsheet formulas, so a crafty message stays text when you open it in Excel.
- β’ With "Email verification" on, the order-tracking shortcut now plays by the same rules: guests get the secure link, not instant access.
- β’ Return reasons and problem types are now yours to manage: new Settings -> Reasons tab to add, rename (per language), reorder, disable or delete them. The built-in reasons are seeded with their translations, under the same keys, so existing requests don't notice a thing.
- β’ "Suggest the right of withdrawal" is now a per-reason toggle instead of being hardwired to "I changed my mind".
- β’ The reason now travels with the request: the customer's confirmation email and your "new request" notification both show the return reason or problem type (withdrawals stay reason-free, as the law intends).
- β’ The same article can no longer be withdrawn or returned twice. Requests are counted per order line and per unit: order 3, return 1, and 2 stay on the table.
- β’ Statuses learned to give the goods back. Tick "Frees up the products" and a refused request returns the articles to the pool β seeded on the refusal statuses, because a "no" should never cost a customer their rights.
- β’ New setting: also count your own back-office refunds and returns against what's left. Off by default, since a goodwill refund isn't a return.
- β’ Customers now see what's left per product, and get told when an order is fully spoken for instead of staring at a missing button.
- β’ Product pages can now show an explicit "not covered" message when a product is excluded from withdrawal β multilang title/text, optional CMS modal, off by default so existing shops stay silent.
- β’ Customer groups can be excluded from the right of withdrawal (B2C-only shops with a B2B group). Returns, problem reports and cancellations stay available; guests are never filtered.
- β’ Rejected requests now send a dedicated "request rejected" email instead of the generic "request closed" message. Closed (and other negative) statuses keep the closed email.
- β’ Guests who tracked an order can now jump straight into a request β no re-typing the reference and email twice.
- β’ Talked some themes out of right-aligning our form labels. Left is where they belong.
- β’ Merchants can now raise requests on a customer's behalf β concierge service, activated.
- β’ The requests table shows the eligibility left for each one, at a glance.
- β’ Every request type can now have its own time window. Deadlines for all.
- β’ Withdrawal period settings now sit with the other eligibility time rules (wizard + Settings β General), so every request type configures statuses and deadlines in one place.
- β’ Return instructions broke free of returns and now reach every request type.
- β’ Request statuses went full DIY: every status now decides for itself whether it closes, blocks, emails, or keeps the chat open.
- β’ The dashboard got a full glow-up β clearer stats, trends, and what needs you next.
- β’ Open a request, refresh, still there. Back to the list, and the sticky detail politely leaves.
Related Modules
View allSecurity Suite - Malware Scanner & File Monitor
Advanced malware scanning, file integrity monitoring, quarantine management, cron automation, and email alerts.
re-CAPTCHA + Spam Filter / Email Verification Tools
Google reCAPTCHA, spam filtering, email validation, and IP blocking for all store forms.
Ban IP - Block Visitors & View Location / Address
IP, country and bot blocking with geolocation map and real-time visitor management.
GDPR Cookie Consent Banner + Google Consent Mode V2
GDPR/ePrivacy compliant cookie banner with Google Consent Mode V2 and consent logging.