Since June 19, 2026, every online store selling to individuals in France must offer a dedicated, free, and permanently accessible withdrawal feature. This is not a new right; it is a new way to exercise it: canceling should be as simple as buying. Specifically, a contact form or an email address are no longer sufficient. Here's exactly what the law requires, how to implement it on Shopify, and how to build a return policy around it that protects your margins instead of eroding them.
In brief
- The online withdrawal feature has been mandatory since June 19, 2026 (Ordinance No. 2026-2 and Decree No. 2026-3 of January 5, 2026, Article L221-21 of the Consumer Code).
- The wording cited by the decree is renounce the contract here. Vague mentions such as "Return" or "Contact Customer Service" are not compliant.
- The process involves two steps and ends with a dated acknowledgement of receipt, on a durable medium.
- The legal withdrawal period remains 14 days. The commercial return policy, however, remains free.
- On Cabania, our own brand, we had tailored a custom Shopify Flow scenario. We abandoned it for a free application that fully covers the obligation.
Table of Contents
Return, Refund, Withdrawal: Don't Confuse Them
Three words that merchants use as synonyms, when they do not cover the same obligations. Confusion is costly: it leads to return policies that promise too much on one hand and are illegal on the other.
The right of withdrawal is a legal right. It allows a consumer to cancel a remote purchase within 14 days, without reason and without penalty. You cannot restrict, condition, or charge for it.
The return policy is a commercial commitment. It's what you grant beyond the legal requirements: 30 days instead of 14, a free return, an easy exchange. You define it freely, but you are bound by it once published.
The refund is the consequence of both. In case of withdrawal, it covers the product price and standard delivery costs, within 14 days from the date you are informed of the customer's decision. You can defer payment until the item is received or proof of its shipment is provided.
| Criterion | Withdrawal (Legal) | Commercial Return |
|---|---|---|
| Basis | Consumer Code, Articles L221-18 et seq. | Your GTC and your policy |
| Duration | 14 days minimum | What you decide |
| Required Reason | None | You can ask for one |
| Return Shipping Costs | Borne by the customer if you informed them | Free |
| Outbound Shipping Costs | Refunded (standard rate) | Free |
| Dedicated Online Feature | Mandatory since June 19, 2026 | Optional |
What the Law Requires Since June 19, 2026
Ordinance No. 2026-2 and Decree No. 2026-3 of January 5, 2026, transpose European Directive (EU) 2023/2673, which inserts Article 11a into Directive 2011/83/EU on consumer rights. The European text originally concerned distance financial services, but the French transposition placed the obligation under the general regime for distance contracts, in Article L221-21 of the Consumer Code.
Translation for a merchant: all sectors are concerned. If you sell online to French consumers, you must provide them, free of charge, with a feature allowing them to exercise their right of withdrawal. The technical modalities are set out in Article D221-5.
Failure to comply is punishable by an administrative fine imposed by the DGCCRF, which can reach €15,000 for an individual and €75,000 for a legal entity (Article L242-13). There is also a more insidious risk: failure to inform the consumer of their right of withdrawal can extend the period to twelve months and fourteen days. Each order can then be contested for over a year.
Actions to implement, in order:
- Audit the current process. A generic contact form, an email address, or a customer area accessible after login do not fulfill the obligation.
- Install a dedicated feature, application, or custom development, which produces a structured withdrawal declaration.
- Check the exact wording of the link and the confirmation button.
- Make the link permanently accessible, without account creation and without logging in.
- Connect the automatic, timestamped acknowledgement of receipt, sent on a durable medium.
- Update your GTC: they must now mention the existence and location of the feature.
- Check the standard withdrawal form, modified by the decree.
- Internally define who processes requests and within what timeframe, then log each request to have proof in case of dispute.
Exceptions under Article L221-28 remain outside the scope: custom-made or clearly personalized goods, perishable goods, digital content downloaded with the consumer's express agreement, among others. These exceptions must be declared in your GTC; they are not assumed.
This article is for informational purposes and does not constitute legal advice. For drafting your clauses, consult a legal professional and read our guide to Shopify GTC and legal notices.
The Withdrawal Button: Wording, Location, Process
This is the part that most stores get wrong, not out of malice but because they think they are already covered. Three control points are enough to decide.
Compliant Wording and Phrases to Ban
The decree explicitly cites the phrase renoncer au contrat ici (renounce the contract here), or a similar clear and unambiguous phrase. The validation button, for its part, must unequivocally express the confirmation of withdrawal.
To be avoided: "Return," "Cancel my order," "I changed my mind," "Contact customer service," "Request a refund." These labels describe a commercial intention, not the exercise of a right. The logic of the text is anti-dark patterns: the customer must understand, without interpretive effort, that they are exercising an enforceable right.
Location
The feature must be displayed visibly, directly and easily accessible, and remain available throughout the withdrawal period. In practice, this excludes three common choices: burying it in a submenu, relegating it to the customer area behind authentication, and conditional display only on the order tracking page.
The placement that works: a permanent link in the footer, present on all pages, coupled with a reminder in the order confirmation email and on the return policy page. A guest shopper, who has never created an account, must be able to complete the process.
The Two-Step Process and Acknowledgement of Receipt
Step one: the customer clicks on the link and accesses a form where they identify their order and the items concerned. Step two: they validate, and receive an acknowledgment of receipt on a durable medium mentioning the content of their declaration as well as the date and time of its submission.
This timestamp is not an administrative detail. It is the document that starts the deadlines on both sides: fourteen days for you to refund, fourteen days for the customer to return the item. Without dated proof, any dispute will go against you.
How to Implement it on Shopify
Shopify currently does not provide a native, compliant, ready-to-use withdrawal feature. The platform has published an information page dedicated to European compliance, but implementation remains the responsibility of the merchant. Two options are available: a specialized application, or a Liquid development within the theme coupled with automation.
Our experience with Cabania. We had opted for the second option: a dedicated page, a form, a Shopify Flow scenario to tag the order, notify the team, and trigger the acknowledgement email. Approximately two days of specification and development, plus ongoing maintenance with each text evolution.
We stopped everything when we identified Retractly: EU Withdrawal, an application whose free plan covers the entire obligation: withdrawal form accessible without a customer account, including for guest orders, automatic confirmation emails, partial article-by-article withdrawal, automatic validation of deadlines and orders, and interface available in the official languages of the Union. Paid plans add graphic customization and export, but not compliance.
The arbitration can be summarized in one sentence: custom development brought nothing that the free plan didn't already cover, and it exposed us to maintenance debt on a still-new text. We now reserve Liquid development for stores with real integration constraints, highly customized themes, connected ERPs, or multi-market logic. For everything else, the application is the right choice. It's also one less line in your Shopify maintenance plan.
Should You Enable Self-Service Returns?
Shopify now allows your customers to request a return, and now a cancellation, directly from their customer account. The request arrives in the admin, return rules apply automatically, and the label can be generated without human intervention. It's clean, native, and free.
We do not recommend it by default, for two distinct reasons.
The first is legal. Self-service returns rely on new customer accounts: the customer must log in. However, the withdrawal feature must remain accessible without barriers, even to a guest shopper. Activating self-service therefore does not make you compliant, and believing otherwise is the most frequent error we see in audits.
The second is commercial, and it's a bias we embrace. A return request is rarely a definitive decision. It's often a size that doesn't fit, a doubt about assembly, a misunderstood delivery time, an order placed twice. When the request goes through customer service, the team can turn a cancellation into an order modification, propose a variant exchange, or explain a technical point. When it's fully automated, the refund goes through and the sale is lost, without any human having had the opportunity to rectify the situation.
Total automation is blunt. It optimizes processing cost and destroys margin. Our recommendation: a completely free, frictionless withdrawal feature, because the law requires it and because it is legitimate, and commercial return processing that remains managed by a team. Nothing prohibits equipping this team; a first-level AI agent handles simple requests very well and escalates others to a human.
Drafting a Clear Return Policy
A good return policy fits on one page and answers six questions, in this order.
- What is the timeframe? The legal period is 14 days. Many brands announce 30 days. Beyond that, the effect on conversion fades and logistics costs increase.
- In what condition? Unused product, labels present, original packaging. Phrase it in verifiable terms, not value judgments.
- Who pays for return shipping? At your expense, the customer's expense, or free above a certain threshold. This is the most costly and most effective lever.
- Within what timeframe will the refund be issued? Announce a timeframe you can actually meet, and the payment method used.
- What are the exclusions? Personalized products, hygiene items, final sale items. These must be announced before purchase, not discovered afterwards.
- How is it done, concretely? A maximum of three steps, with a link to the withdrawal feature.
This page structures your commercial promise. It does not replace your general terms and conditions: the legal wording of the clauses is handled in the GTC and legal notices of your store.
Managing Returns Without Exploding Costs
A return does not just cost the price of return shipping. It costs shipping, receiving, quality control, repackaging, relabeling, restocking, customer service time, and the cash flow lag between the refund issued and the product resold. For a low average order value, the total often exceeds the product's margin.
Three arbitrations to make before announcing anything:
- The free shipping threshold. Calculate the full cost of a return, then the average order value from which the margin absorbs it. Below this threshold, a systematic free return destroys value. The same logic as for your free shipping threshold applies here.
- The root cause. A high return rate is almost always a problem with information before purchase: missing size guide, inaccurate photos, imprecise dimensions. Correcting the product page costs less than financing the returns it generates.
- Reintroduction into circulation. Decide in advance what goes back into A stock, what goes into second-hand or outlet, and what is lost. Without this rule, returns accumulate in a box that becomes a dead loss.
Turning Your Policy into a Sales Argument
A clear return policy is one of the rare reassurance elements that acts at the exact moment of hesitation. It removes a perceived risk, and perceived risk is the primary reason for abandonment for a brand that the visitor does not yet know.
Three placements provide most of the result: a short block below the add-to-cart button on the product page, a reminder in the cart and at checkout, and a permanent link in the footer. Formulate the promise in a concrete sentence, a duration, and a cost. "Returns within 30 days, refund within 5 business days" works better than "satisfied or reimbursed," which no longer means anything.
When well utilized, the return policy becomes a conversion lever in its own right, just like other conversion rate optimization levers. When poorly hidden, it produces the opposite effect: a visitor who looks for your policy and cannot find it concludes that there is a reason.
Frequently Asked Questions
Is the withdrawal button really mandatory since 2026?
Yes. Since June 19, 2026, any professional entering into distance contracts with consumers via an online interface must provide a dedicated, free-of-charge withdrawal feature. This obligation is set out in Article L221-21 of the Consumer Code and applies to all sectors, not just financial services.
What wording should be used to comply?
Decree n° 2026-3 cites the phrase renounce the contract here, or a similar clear and unambiguous formula. Commercial labels such as "Return," "Cancel my order," or "Contact Customer Service" are not considered compliant.
Where should the withdrawal button be placed?
It must be visible, directly accessible, and available throughout the entire withdrawal period. A permanent link in the footer, accessible without login or account creation, is the safest placement. Hiding it in a sub-menu or reserving it for the customer area does not meet the requirement.
Are Shopify self-service returns sufficient for compliance?
No, in most cases. Self-service returns require the customer to log into their account, whereas the withdrawal feature must remain accessible without barriers, including for purchases made in guest mode. They can supplement the system, but they do not replace it.
What is the difference between withdrawal and return?
Withdrawal is a 14-day legal right, without reason, that you cannot restrict. Return is a commercial commitment that you freely define in your policy, often more generous than the legal right.
Does the merchant have to refund delivery fees?
Yes, in case of withdrawal, the refund covers the product price and standard outbound delivery fees. If the customer chose a more expensive express delivery, the extra cost remains their responsibility. Return shipping costs may be charged to the customer provided they were informed of this before the purchase.
What products are excluded from the right of withdrawal?
Article L221-28 lists several exceptions, notably custom-made or significantly personalized goods, perishable goods, unsealed goods that cannot be returned for hygiene reasons, and digital content supplied with the consumer's express consent. These exclusions must be announced before purchase.
What are the penalties for non-compliance?
Article L242-13 provides for an administrative fine imposed by the DGCCRF which can reach €15,000 for an individual and €75,000 for a legal entity. A lack of information on the right of withdrawal can also extend the deadline to twelve months and fourteen days.
Bringing your store into compliance
Compliance takes no more than half a day on a standard Shopify store: the feature, placement, acknowledgment of receipt, and updating of the general terms and conditions. What takes time is deciding what you automate and what you keep in your team's hands. That's where the margin lies.
Let's talk about your return journey: thirty minutes are enough to identify what exposes you and what costs you.