Returns Manager

PrestaShop returns module, the statutory 14-day window counted from delivery, split parcels included

Returns Manager is a module for PrestaShop stores that runs the statutory 14-day right of withdrawal: it anchors the window to the real delivery, shows the customer the time left, and works out what goes back, including the delivery cost you charged. It runs without a developer or theme edits, whether PrestaShop merchandise returns are switched on or off, from PrestaShop 1.6 through 9. Installation creates the statutory 14-day rule as the default for every country, so the first order after install is already covered and you refine the per-country rules afterwards.

Native merchandise returns give the customer a form and give you a log, but not the clock. PrestaShop does not know that the period runs from the day the goods arrive, not the day the order was placed, so a shop measuring from the order date cuts days off a right the customer still holds, while a generous shop refunds returns it never owed.

The module resolves the delivery moment itself: a recorded delivery, a delivered order state, the delivery date on the order, or the carrier row. When it cannot tell, it does not guess, the window has not started and the return stays open. Delivery is tracked per line, but one order keeps one deadline, driven by the last parcel. The window length is set per country.

The customer sees a return panel on the order page and in order history, with a live countdown and the last days marked. From there they choose quantities, attach photos if you allow it and send the request. Asking for a reason is optional on purpose, since a withdrawal is exercised without giving one. The model withdrawal form is generated per language as an Annex I(B) PDF and attached to the order confirmation.

You approve or decline with a mandatory justification, recorded with who decided it and when; a decline reaches the customer in your own words. Each amount carries its reasoning beside it: why the delivery line is included or excluded, why return postage falls on you or on the customer, and the refunded delivery capped at your cheapest standard option. Refunds are recorded once, digital and made-to-order exclusions apply only when they genuinely apply, and every state change, tracking number, note and refund lands on one timeline.

The result is deadlines that hold up when challenged, refunds worked out to the rule instead of by hand, less argument about who owed what, and a return record that still explains itself months later.

Share
  • The clock starts on delivery. Not on the order date. The module reads the real delivery moment from the order state, the delivery date or your fulfilment module, and anchors the 14 days there.
  • Split deliveries wait for the last parcel. An order that arrives in two boxes gets one deadline, driven by the second box, which is what Article 9 actually requires.
  • The customer sees the countdown. On the order page and in order history, with the last days highlighted, so nobody has to email you asking whether they are still in time.
  • You approve or decline with a reason. The justification is mandatory on both, it is recorded on the timeline, and a decline is shown to the customer verbatim.
  • The refund includes the delivery you charged. Worked out for you, capped at your cheapest standard option, so an express upgrade the customer chose does not come out of your pocket.
  • The model withdrawal form is generated per language. A real Annex I(B) PDF, attached to the order confirmation, which is what the durable medium requirement asks for.
  • Digital and made-to-order goods are handled honestly. Exclusions apply only when they genuinely apply, and the module leaves the right intact when it cannot prove otherwise.
  • It runs itself. No developer, no theme edits, and it works whether PrestaShop merchandise returns are switched on or off. PrestaShop 1.6 through 9.

PrestaShop starts counting on the wrong day

Native merchandise returns give the customer a form and give you a log. What they do not give you is the clock. PrestaShop has no idea that the withdrawal period runs from the day the goods arrive rather than the day the order was placed, so a shop that measures from the order date quietly cuts days off a right the customer still holds, and a shop that measures generously refunds returns it never owed.

This module resolves the actual delivery moment and anchors the window there. It looks for a recorded delivery, then a delivered order state, then the delivery date on the order, then the carrier row. When it genuinely cannot tell, it does not guess: the window simply has not started, and the return stays open.

The Returns and Right of Withdrawal configuration screen

One order in two boxes is still one deadline

Partial deliveries are where most return policies quietly break. If half an order arrives on Monday and the rest on Friday, the customer does not get two separate deadlines. The period runs from the last item, and a shop that expires the first half early is refusing a return it is required to accept.

The module tracks delivery per line, so you can see exactly when each item landed, and still applies one deadline to the order. Line level dates are shown for your own records, but they can never expire ahead of the order deadline.

The Returns and Right of Withdrawal configuration screen

The customer stops asking whether they are still in time

The return panel appears on the order page with a live countdown, and the last few days are marked so the urgency is obvious without reading a date. From there the customer picks quantities, optionally gives a reason, attaches photos if you allow it, and sends the request.

Asking for a reason is optional on purpose. A withdrawal is exercised without giving any reason at all, so the field is off by default and the page says so.

Return request form showing the remaining days, quantity per line and an optional reason

Refunding the delivery cost you charged

This is the part that costs shops money in disputes. When a customer withdraws from a whole order, the delivery charge goes back too. Not the express upgrade they chose, but the cheapest standard option you offer, which the module caps for you automatically.

Every amount comes with its reasoning written next to it, so when you approve a refund you can see why the delivery line is included or excluded, and why return postage falls on you or on the customer. Refunds are recorded once, whatever happens to the button.

Back office returns settings with the per-country withdrawal window and the delivery refund cap

A decision you can defend later

Approving and declining both require a justification. It is recorded against the case with who made it and when, and a decline is shown to the customer in your own words rather than as a bare refusal.

Every state change, tracking number, note and refund lands on one timeline, so months later the case still explains itself.

Customer returns list showing each request with its reference and current status
  • Reference
    MPRRETURNS
  • In stock
    9999 Items

What customers say about us

Company reviews
5.0 ★ ★ ★ ★ ★ (4 reviews)
Loading customer reviews...
No product reviews yet

Be the first to share your experience with this module.

Write a Review
★ ★ ★ ★ ★
Rate specific aspects (optional)
Quality
★ ★ ★ ★ ★
Price / Quality
★ ★ ★ ★ ★
Stability
★ ★ ★ ★ ★
Compatibility
★ ★ ★ ★ ★
Support
★ ★ ★ ★ ★
Have a question about this product? Our experts are here to help. Ask anything about installation, compatibility, or specifications.
1301 questions
9 categories
2013 building modules since
1.6–9 PrestaShop versions
0 open 0 resolved
Report an issue
View all known issues

Loading feature requests...

View full roadmap
30 days return right
Easy return - no questions asked
Plug & Play Modules
Install, set up and take profit
Dedicated Support First
Priority Help & Satisfaction Over Sales

You might also like

Warehouse Revolution
€299.00
★ ★ ★ ★ ★
Digital Revolution
€299.00
★ ★ ★ ★ ★
Financial Revolution
€299.00
★ ★ ★ ★ ★
Advanced Order Fulfilment
€149.00
★ ★ ★ ★ ★
Loading...
Back to top