- Tecnoacquisti.com
- Regulations and Privacy
The management of the right of withdrawal in PrestaShop should not be confused with the normal merchandise return procedure. The native return is useful for organizing the physical return of products, but it does not cover all the aspects required by a digital withdrawal flow: accessibility, explicit confirmation, dated receipt, traceability, and availability also for those who purchased as guests.
Right of Withdrawal Management for PrestaShop is the module developed by Tecnoacquisti.com® to manage the right of withdrawal online in a more orderly, documentable way, and consistent with the new regulatory requirements introduced by EU Directive 2023/2673 and the Italian transposition.
Why the native PrestaShop return is not enough
PrestaShop includes a native function for managing merchandise returns, often referred to as RMA or "Merchandise Return". It is a useful tool, but it was created for an operational purpose: to allow the seller to manage the physical return of products, verify the request, update statuses, and organize any refunds, credit notes, or vouchers.
The right of withdrawal is different. It is not a commercial request to be approved, but a unilateral declaration by the consumer. The customer does not ask the seller for permission to withdraw: they communicate their decision within the prescribed terms. This difference is not only theoretical, as it directly affects how the flow must be designed within the e-commerce.
The native PrestaShop return management has some concrete limitations when used as the sole tool for withdrawal:
- it is designed for the physical return of goods, not for the formal declaration of withdrawal;
- it may require a reason, whereas withdrawal does not have to be subject to mandatory explanations;
- it involves a logic of acceptance by the seller, while withdrawal is perfected by the consumer's declaration;
- it does not produce a dedicated withdrawal receipt with date, time, and a document that can be kept;
- it does not offer a truly dedicated path for guest purchases;
- it does not correctly handle the case of withdrawal before shipment or before delivery.
Two often underestimated problems: guests and orders not yet delivered
When analyzing the compliance of online withdrawal, the focus is often on the receipt or the visibility of the button. These are fundamental aspects, but not the only ones. In PrestaShop, there are at least two practical criticalities that many stores risk overlooking.
Withdrawal must also be available for guest customers
A customer can complete an order without creating a registered account. This does not eliminate their right of withdrawal. If the store allows guest purchases, it must also offer that customer a clear way to exercise the withdrawal online.
Limiting the withdrawal button to only the registered customer area creates an operational gap: those who purchased as guests might be forced to look for an email address, send a manual communication, or contact support. This is precisely the kind of friction that a digital withdrawal function should avoid.
Right of Withdrawal Management for PrestaShop includes a flow dedicated to guest customers. The customer can access the procedure using the order reference and the email address used at the time of purchase, with a logic similar to the guest order tracking already present in PrestaShop.
Withdrawal must be possible even before shipment or delivery
Another common mistake is to consider withdrawal as something that starts only after the delivery of the goods. In reality, the consumer may want to withdraw even when the order has already been placed but not yet shipped, or when the shipment has started but the product has not yet been delivered.
The native PrestaShop return mainly thinks in terms of merchandise return: the customer receives the product, decides to return it, and the seller manages the return. But the right of withdrawal does not always coincide with the physical return of the package. If the goods have not yet been shipped, withdrawal can avoid an unnecessary shipment. If the goods are in transit, the store must still correctly record the customer's declaration.
For this reason, a dedicated module must be able to evaluate the order's eligibility without relying exclusively on delivery. The correct logic is to separate the act of withdrawal from the logistics of the return: first, the consumer's declaration is recorded, then the merchant manages the operational effects on the individual order.
What Right of Withdrawal Management for PrestaShop does
The module adds to PrestaShop a front-office flow dedicated to the right of withdrawal. It works independently from the native "Merchandise Returns" function, so the store can clearly distinguish between the withdrawal declaration and the operational management of the product return.
The customer sees an access point to withdrawal when the order is eligible. The module guides the user through a multi-step procedure, with explicit confirmation of the request and generation of a dated PDF receipt. The receipt is sent to the customer by email and can be downloaded from the confirmation page.
Flow for registered customers
The customer can access the withdrawal request from their account area and from the details of eligible orders.
Flow for guest customers
Those who purchased without registration can identify the order via order reference and email address.
Dated PDF receipt
The module generates a withdrawal receipt in PDF, sends it by email, and stores the SHA-256 hash for document integrity purposes.
A flow separate from the native merchandise return
One of the most important aspects of the module is the separation between withdrawal and merchandise return. This distinction avoids treating a consumer's right as if it were a simple logistical request subject to approval.
The module does not automatically create a native PrestaShop return. Requests are managed in a dedicated back office area, with module-specific statuses. This allows the merchant to keep an orderly record of the withdrawal declaration and then separately manage the operational aspects: package return, product verification, refund, possible operational refusal of the return, or completion of the case.
| Aspect | Native PrestaShop Return | Right of Withdrawal Management for PrestaShop |
|---|---|---|
| Nature of the flow | Logistical management of merchandise return | Digital declaration of withdrawal |
| Guest customers | Management not designed as a dedicated withdrawal flow | Access via order reference and email |
| Orders not yet delivered | Logic oriented to return after delivery | Flow usable even before shipment or delivery, if the order is eligible |
| Receipt | Document linked to merchandise return | PDF withdrawal receipt with email sending |
| Traceability | Native RMA statuses | Dedicated statuses managed by the module |
PDF receipt, email, and documentary proof
The module generates a PDF receipt using PrestaShop's native PDF stack, maintaining a consistent setting with other store documents such as invoices, delivery notes, and return documents. The receipt is produced at the time of confirmation, sent to the customer, and made available for download.
To strengthen the traceability of the document, the module calculates and stores a SHA-256 hash of the generated PDF. This allows keeping a technical reference to the integrity of the produced document, useful to demonstrate that the receipt has not been modified afterward.
The module also allows inserting an additional multilingual note in the receipt PDFs. This feature is useful to report specific merchant information, for example operational instructions on refunds, return methods, or any costs possibly linked to the procedure.
Management from the back office
Withdrawal requests are collected in a dedicated back office section. Operators can consult the list of requests, open the case details, and update the status based on operational progress.
The statuses managed by the module are:
- Awaiting package: the declaration has been received and the store is waiting for the return of the goods, when expected.
- Package received: the product has been returned and is available for operational checks.
- Return refused: the case is closed negatively for documentable operational reasons, for example product not compliant with return conditions.
- Return completed: the procedure has been correctly closed.
During status updates, it is possible to send an email communication to the customer, also including a merchant note. In this way, the store maintains orderly and consistent communication throughout the management of the case.
Configurable exclusions for B2C, B2B, and non-returnable products
Not all orders or products must necessarily be admitted to the withdrawal flow. The module includes several exclusion options, useful to adapt the procedure to the real structure of the catalog and clientele.
It is possible to configure exclusions for categories, customer groups, order statuses, virtual products, and individual products. The exclusion by customer group is particularly useful in mixed B2C and B2B stores, where some groups may represent resellers, companies, or professional customers with contractual conditions different from the final consumer.
In the case of individual products, the exclusion can be managed directly from the product sheet, with the possibility to also indicate an internal reason. This helps the merchant maintain a more precise configuration, especially in complex catalogs.
Compatibility with PrestaShop 1.7, 8, and 9
Right of Withdrawal Management for PrestaShop is designed to work with PrestaShop 1.7.6+, PrestaShop 8.x, and PrestaShop 9.x, respecting the PHP versions supported by the target PrestaShop installation.
The module creates dedicated tables in the database to record requests, details of involved products, and product exclusions. The generated PDFs are saved in the module's receipts directory, which must be kept writable by the web server and managed carefully because it may contain customers' personal data.
Retention, GDPR, and data preservation
Withdrawal management does not concern only the front office. Each request contains personal data and information linked to an order, so it is important to also provide a consistent retention policy.
The module includes a retention function with a dedicated cron. The merchant can set the number of days for retention and choose between two modes: anonymization or deletion. Anonymization allows removing personal data while keeping an operational or legal trace of the case; deletion instead removes older records based on the chosen configuration.
The module also allows retaining data in case of uninstallation. This option is active by default because withdrawal requests may have evidential value and should not be accidentally deleted during technical maintenance.
When it is convenient to use Right of Withdrawal Management for PrestaShop
The module is suitable for PrestaShop merchants who sell online to final consumers and want to clearly separate the withdrawal declaration from the normal management of returns. It is particularly useful for stores that allow guest orders, catalogs with products excluded from withdrawal, mixed B2C/B2B stores, and businesses that want to keep a more orderly documentary proof of received requests.
It is not about replacing every native PrestaShop function, but about adding the missing level: a flow dedicated to withdrawal, accessible, confirmed, documented, and manageable from the back office.
Conclusion
The online right of withdrawal requires a flow different from the simple merchandise return. The customer must be able to exercise the right clearly, even if they purchased as a guest and even if the goods have not yet been shipped or delivered. The store, in turn, must be able to record the declaration, send a receipt, keep proof, and manage the progress of the case.
Right of Withdrawal Management for PrestaShop was created to meet this need: it adds to PrestaShop a flow dedicated to withdrawal, with PDF receipt, guest management, back-office statuses, configurable exclusions, and data retention. A concrete technical solution to bring withdrawal management out of the simple merchandise return logic and into a clearer, traceable, and more professional process.
