
- Withdrawals and returns in PrestaShop
- Withdrawal in two clicks
- Partial withdrawals, item by item
- Compliance with legal requirements
- Customize the module to fit your business
- Handle returns from a single screen
- From submission to return in three steps
- Handle VS returns manually with the module
- FAQ - the most common questions
Implements the requirements of EU Directive 2023/2673
The module implements the legally-required mechanism for convenient withdrawal and confirmation on a durable medium (email+PDF), plus a secure, self-service path for customers and store visitors.
Proven real-world performance
Everything a store needs to handle returns decently, not just with a contact form: partial withdrawals - even from several orders in one submission; reasons for each item; return codes; full performance history.
Optimized for minimal work
Clear list of withdrawals with return amounts, warnings about missed deadlines, and mass change of statuses.
New EU regulations on right of withdrawal 💫
Mandatory across the EU
as of June 19, 2026.
The module introduces a transparent self-service process for 2-click returns. Logged-in customers and visitors withdraw online, receive the legally required email with PDF, and you, as the store administrator, handle the entire return - from request to refund - from one screen in the PrestaShop back office panel.
Access to the return procedure
A clear "Withdrawal" link is located in the footer of the store, in the customer account and on every order page.
Two clicks: selection + confirmation.
No windows, no consents, no "are you sure" loops. - no attempts to discourage the customer (so-called dark patterns), according to the spirit of the directive.
- Logged-in customers waive directly from my account.
- Guests enter an email address from their order and receive an email with a link and a 6-digit code - no need to create an account.
- The link and code are one-time use and expire by default after 15 minutes, so even a captured link or code expires quickly.
- Built-in security prevents double-sending and duplicate requests.

- A customer can return specific products from several different orders in one withdrawal.
- Each item can have an optional reason, visible in the admin panel and on the PDF.
- A live updated "estimated refund amount" shows the value before the request was sent.
- Items already returned in a completed withdrawal are not offered again.
The customer can see how much he will get back
Item prices and total are shown on the form, and the exact amount is shown on the confirmation page and in the email. There is also a column with the refund amount in the "My withdrawals" history.
Each request receives a return code with a customizable prefix, such as ZW-123-456 - to be written on the package to instantly associate the shipment with the return request.


- Durable carrier. Each confirmation is sent by email with a PDF attachment, which is required by EU Directive 2023/2673 and the Consumer Rights Law - with the statement content, items and deadlines.
- The withdrawal form template is generated as a PDF for the customer and for your records.
- Two deadlines, counted separately. The deadline for returning the goods and the deadline for returning the payment (e.g., 14 days from the statement).
- Accessibility. Customer pages meet WCAG 2.1 AA - contrast, focus borders and large touch fields.
You can enable email notifications for each new withdrawal, as well as a reminder when the return deadline is approaching.
B2C sales
- Set the entitlement window - default to 14 days from delivery, or up to 12 months + 14 days (379 days) when customers have not been informed of their right.
- Choose which order statuses trigger the entitlement counter, or accept any order if the store does not have a "delivered" status.
- Exclude specific products or entire categories from the right of withdrawal (hygiene, personalized products, etc.).
- Hide orders older than the selected number of days in the form.
B2B sales
- Treats orders with VAT/VAT number, or selected customer groups, as B2B and keeps them out of the consumer path.
Administration panel → Customer service → Withdrawals
Paged list of withdrawals with status filter and search by ID or email. Details screen shows full record for each return - items with names and prices, statement content, timeline and status.
- Return amount shown on each line; lines after the due date are highlighted, and a warning appears at the top.
- Mass change statuses - receipt, goods received, returned, rejected - each according to your status flow.
- Each change recorded in the change log with the executor (customer / administrator / system), change and timestamp.
- The "Download PDF of withdrawal" button gives the same statement that the customer received.

1
The customer reports
Logged in or as a guest, the customer selects items and quantities and sends the withdrawal in two clicks.
2
You check
The request goes to the panel with the amount of the refund, the reason and a PDF email ready to print and send.
3
You return
Run the withdrawal through the status flow; the customer is kept informed and receives the return before the deadline.
| Manual handling | With the module | |
| Waiver notification channel | E-mail / phone, transcribed manually | Self-service form |
| Guest returns without account | ❌ | ✅ |
| Automatic Email + PDF as attachment - saved in history of sent emails | Manually | ✅ |
| Partial withdrawals with reasons, item by item | ❌ | ✅ |
| Products from multiple orders in one withdrawal | ❌ | ✅ |
| Refund amount counted for you | ❌ | ✅ |
| Exceeded deadline warnings and tracking of deadlines | ❌ | ✅ |
| Mass status change with change history | ❌ | ✅ |
| Store, panel, PDF and emails in 6 languages | ❌ | ✅ |
Ready for your store
Technical requirements
- Available in English, Polish, German, French, Spanish and Italian - the store, panel, PDF waivers and emails are sent in the customer's language.
- Compatible with PrestaShop 1.7.6 - 9.x and PHP 7.1 - 8.5.
- Supports Multistore, languages and currencies.
- Installs in the Customer Service section, next to PrestaShop's native "Product Returns" - without overwriting (no override) core PrestaShop.

Does the module work for guest orders, without a customer account?
Yes. The guest enters the email address used for the order and receives a one-time link and a 6-digit code. No account or password is needed; the link and code are one-time and time-limited, and the request page never reveals whether the address exists.
Does the email confirmation act as a permanent medium?
Each withdrawal triggers an email confirmation, which acts as a durable medium as required by EU Directive 2023/2673 and the Consumer Rights Act, and a sample withdrawal form (Appendix II) is generated as a PDF for the customer and for your records.
Can the customer return only part of the products from the order?
Yes. Withdrawals are by design partial - the customer selects items and quantities, optionally with a reason for each line, and even combines products from several orders in one request. The estimated refund amount is shown before sending.
What withdrawal window to set?
The statutory default is 14 days from delivery. If the store has not informed customers of the right of withdrawal - in the terms and conditions or when placing the order - the law extends it to 379 days (12 months + 14). Enter this value only in such a case.
How to keep company (B2B) orders off the consumer track?
Orders whose billing address includes a VAT/VAT number are treated as B2B and excluded automatically; you can also exclude selected customer groups, products and categories from the configuration level.
Which PrestaShop versions and languages are supported?
PrestaShop from 1.7.6 to 9.x, on PHP 7.1 and later. The module is available in English, Polish, German, French, Spanish and Italian - in the store, panel, PDF waiver and emails.
Technical requirements
Technical Requirements
- PHP 7.1 - 8.x
- Server extension ionCube Loader
- PrestaShop Importer only: PHP libxml version > 2.9.3
- PrestaShop Facebook Integrator only: PHP 7.2 or higher
- PrestaShop VAT Validator only: PHP SOAP
Support = Updates + HelpDesk
You get 90 days (3 months) access to the complete PrestaShow support package.
Module updates
Modules will inform you about available updates. Read the changelog and perform a 1-click module update directly from your store.
HelpDesk panel
This is the panel where we will provide you with help. On HelpDesk you can report problems, order free module installation and updates, and order modifications and custom programming work.
Extend support
After support expires, you can use the module without any restrictions. You can extend your support access at any time you need it.
Knowledge Base & FAQ
Free forever
The knowledge base is available to everyone. You will find module documentation as well as instructions, videos and answers to frequently asked questions.
Lifetime license for the module
- You can use the module without limitation in 1 store = 1 domain.
- You can use an additional domain, e.g. for developer copy.
- For a small fee you can change the domain for the module yourself.
Additional domains for Multistore
- All our modules support PrestaShop Multistore.
- Supporting unlimited domains for PrestaShop Multistore requires purchasing multistore support for the module.
Modifying the code
- The module code related to the integration with the store and the design (.tpl, .css, .js) has open source code and you can modify it freely.
- The module's source code (.php) is encrypted with ionCube, and modifying it will void the warranty.
Demo
Demo - test the module
- This module does not have a demo store
No entries yet.
























No customer reviews for the moment.