Final Sales — Non-returnable badge & mention
Flag products as Final Sales (non-returnable), show a clear badge everywhere and offer dual pricing: the Final Sales price becomes the displayed price, and the customer pays more to keep their right of return.
Overview
The Final Sales module lets you flag certain products as sold on a “Final Sale” basis: the customer is informed, before purchase, that the item cannot be returned, exchanged or refunded under the right of withdrawal. The information appears as a badge on product listings, the product page and the cart, then it is clearly repeated on the PDF invoice for evidence purposes.
The module goes beyond a simple badge thanks to optional dual pricing: the discounted Final Sales price becomes the default displayed price everywhere in the shop, and on the product page the customer can choose to pay the standard price to keep their 14-day right of return. The module is compatible with PrestaShop 8 and 9, in single- and multi-store setups, and is fully translatable (FR, EN, ES, DE, IT).
Important — legal framework. In distance selling to consumers (B2C) in the European Union, the “Final Sale” mention alone is not enough to remove the 14-day right of withdrawal. This right can only be excluded in the cases provided by law (Consumer Code article L221-28, Directive 2011/83/EU article 16): customised goods, perishable products, sealed items that are not returnable for hygiene reasons, and so on. This module is a tool for informing the customer and recording their consent; it does not by itself create a legal ground for exclusion. When in doubt, have your terms of sale reviewed by a lawyer.
Installation
- In the back office, open Modules > Module Manager.
- Click Upload a module and drop the module’s ZIP archive.
- Once installation is complete, click Configure to open the settings page.
On installation, the module creates its technical tables and registers its hooks. No further action is required.
Updating over FTP. If you replace the module files over FTP without going through the Module Manager, PrestaShop may not run the upgrade scripts. The module includes schema self-healing that automatically recreates any missing tables or columns on the first page load. Still, clear the cache after each update (Advanced Parameters > Performance > Clear cache).
The three flagging levels
A product can be flagged as Final Sales in three ways, which combine.
1. Individual flag on the product sheet
On each product sheet, a “Mark as Final Sales” checkbox flags the item. This is the most direct setting for a few products.
2. Category rules
In the Rules (categories) tab of the configuration, tick the categories whose products should all be automatically flagged as Final Sales. Any product belonging to one of these categories inherits the flag, with no action on each sheet.
3. Manual selection
The Flagged products tab lists the individually flagged products and lets you add or remove them through a search tool, without opening each sheet.
Dual pricing
Dual pricing is the module’s core feature. It rests on a simple principle: the discounted Final Sales price becomes the default displayed price throughout the shop, and the customer who wants to keep their right of return pays the standard price.
Activation
In the Dual pricing tab, turn on the global “Enable dual pricing” switch. This is the master toggle: without it, no dual pricing is offered, whatever the per-product or per-category settings.
Setting the Final Sales price
The Final Sales price can be defined in three ways, resolved in this order of priority:
- Fixed price per product — entered directly on the product sheet (takes precedence).
- Discount percentage per product — entered on the product sheet.
- Discount percentage per category — set in the Rules tab, inherited by all products in the category.
The per-category percentage lets you apply a global Final Sales discount to dozens of products in a single entry. A product can always override this value with its own price or percentage.
How it works technically. For each eligible product, the module creates a native PrestaShop catalog specific price. The reduced price therefore appears everywhere PrestaShop displays a price: product listings (with a struck-through price), product page, cart, price sorting, faceted search, export feeds. When the customer chooses the standard returnable option, a cart-scoped specific price brings the amount back to the base price.
Default choice
The option pre-selected on the product page is configurable. By default, the Final Sales option (reduced price) is selected, consistent with the “Final Sales price = displayed price” principle. You can switch this default to the standard option if you prefer a return-by-default logic.
Customer side
On a dual-priced product page, two cards appear above the add-to-cart button:
- The Final Sales card shows the badge, the reduced price and the savings. A note reminds the customer that the item will not be returnable.
- The standard price card shows the full price and reminds the customer that the item remains returnable for 14 days.
The customer switches from one card to the other with a click; the cart price updates immediately. On product listings and the product page, the badge shows the Final Sales price directly, for example “FINAL SALE · £44.50”.
Cart, order and invoice
In the cart, a note reminds the customer of the presence of Final Sales items, only for the lines where the customer actually chose the Final Sales price. You can make an acceptance checkbox mandatory before checkout (Display tab).
When the order is validated, the customer’s choice is frozen for each line. On the PDF invoice, a “FINAL SALE” mention and the associated legal text appear only for the items actually bought at the Final Sales price — never for those bought at the standard returnable price. This traceability constitutes evidence of the customer’s consent.
Display customisation
The Appearance tab lets you choose the badge colours (background and text). The Display tab controls where the badge and mentions appear (listings, product page, cart, invoice), and the Legal texts tab lets you customise, per language, the badge label, the information notice, the invoice text and the acceptance checkbox text.
Uninstallation
Uninstalling removes all the catalog specific prices created by the module: prices immediately return to normal, with no phantom price. The technical tables, the configuration and the recorded choices are also removed. Orders already placed keep the Final Sales mention frozen on their lines.
FAQ
Does the “Final Sale” mention exempt me from the right of withdrawal?
No, not on its own. In B2C in the European Union, the 14-day right of withdrawal can only be set aside in the cases exhaustively provided by law (customised goods, perishable products, items unsealed for hygiene reasons, and so on). The module informs the customer and records their consent, but does not create a legal ground for exclusion. Have your terms of sale reviewed by a lawyer.
Does the Final Sales price show everywhere?
Yes. Thanks to native catalog specific prices, the Final Sales price appears on product listings, the product page, the cart, price sorting and faceted search, exactly like a standard PrestaShop promotion.
Can I apply a Final Sales discount to a whole category?
Yes. In the Rules tab, set a discount percentage per category: all the products in the category then offer dual pricing at that rate, with no individual setting.
What happens if a product already has a promotion?
PrestaShop applies the priority specific-price rule; discounts do not stack. Check the consistency of your existing promotions with the Final Sales price.
Is the module compatible with PrestaShop 9?
Yes, the module is compatible with PrestaShop 8.x and 9.x, in single- and multi-store setups.