As of June 19, 2026, every online store selling to private individuals in France must offer a dedicated, free, and permanently accessible withdrawal feature. This is not a new right, but a new way of exercising it: cancelling must be as simple as buying. In concrete terms, a contact form or an email address is no longer sufficient. Here is 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 eating them up.
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 withdraw from the contract here. Vague mentions like "Returns" or "Contact Customer Service" are not compliant.
- The process involves two steps and ends with a timestamped acknowledgement of receipt on a durable medium.
- The obligation applies to distance contracts concluded with consumers. B2B and sales concluded solely by phone or in-store remain outside the scope.
- The legal withdrawal period remains 14 days. The commercial return policy remains at your discretion.
- On Cabania, our own brand, we had set up a custom Shopify Flow scenario. We abandoned it for a free app that covers the entire obligation.
- Our three-question test, performed in private browsing, is enough to know in two minutes if your store is compliant or not.
Table of contents
Returns, refunds, withdrawal: do not confuse them
Three words that merchants use as synonyms, even though they do not cover the same obligations. Confusion is costly: it leads to return policies that promise too much on one side and are illegal on the other.
The right of withdrawal is a legal right. It allows a consumer to cancel a distance purchase within 14 days, without providing a reason and without penalty. You cannot restrict it, attach conditions to it, or charge for it.
The return policy is a commercial commitment. This is what you grant beyond the legal requirements: 30 days instead of 14, a free return, an facilitated exchange. You define it freely, but it binds you once published.
The refund is the consequence of both. In the event of withdrawal, it covers the price of the product and the standard shipping costs, within 14 days following the date you are informed of the customer's decision. You may defer the payment until receipt of the goods or until proof of their shipment has been provided.
| Criteria | Withdrawal (legal) | Commercial return |
|---|---|---|
| Basis | Consumer Code, Articles L221-18 et seq. | Your T&Cs and policy |
| Duration | 14 days minimum | What you decide |
| Required reason | None | You may request one |
| Return costs | At the customer's expense if you informed them | At your discretion |
| Initial shipping costs | Refunded (standard rate) | At your discretion |
| Dedicated online feature | Mandatory since June 19, 2026 | Optional |
What the law has required since June 19, 2026
Ordinance no. 2026-2 of January 5, 2026, transposes European Directive (EU) 2023/2673, and Decree no. 2026-3 of the same day specifies the terms of its application. This directive inserts an 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 within the general framework of distance contracts, in Article L221-21 of the Consumer Code.
Translation for a merchant: all sectors are affected. If you sell online to French consumers, you must make a feature available to them, free of charge, allowing them to exercise their right of withdrawal. The technical procedures are set out in Article D221-5.
Failure to comply is punishable by an administrative fine issued by the DGCCRF, which can reach €15,000 for a natural person and €75,000 for a legal entity (Article L242-13). There is also a more insidious risk: failing to inform the consumer of their right of withdrawal can extend the period to twelve months and fourteen days. Every order would then remain contestable for over a year.
Actions to implement, in order:
- Audit the current process. A generic contact form, an email address, or a customer portal accessible only after login does not meet the obligation.
- Install a dedicated feature—app or custom development—that generates a structured notice of withdrawal.
- Verify the exact wording of the link and the confirmation button.
- Make the link permanently accessible, without account creation or login.
- Connect the automatic, timestamped acknowledgement of receipt, sent on a durable medium.
- Update your T&Cs: they must now mention the existence and location of the feature.
- Check the standard withdrawal form, modified by the decree.
- Define internally who handles requests and within what timeframe, then log each request to have evidence in case of a dispute.
The exceptions under Article L221-28 remain outside the scope: made-to-measure or clearly personalized goods, perishable goods, digital content downloaded with the consumer's express consent, among others. These exceptions must be stated in your T&Cs; they are not assumed.
This article is for informational purposes and does not constitute legal advice. For the drafting of your clauses, consult a legal professional and read our guide to Shopify T&Cs and legal notices.
Who is affected, and who is not
The obligation applies to any professional who concludes distance contracts with consumers via an online interface. The answer is broader than what most merchants imagine, and the question comes up with every audit. The sector, the size of the store, and the order volume do not enter the equation. A Shopify store with three orders per day is subject to the same regime as a marketplace.
| Situation | Mandatory feature | Point of vigilance |
|---|---|---|
| B2C online store, all sectors | Yes | Including for guest checkout users |
| Distance sale of services (training, consulting) | Yes | Except for services fully performed with express consent |
| Online subscriptions and renewals | Yes | The cancellation process does not replace the withdrawal one |
| Pure B2B store (professional clients) | No | Be careful with mixed B2B and B2C catalogs |
| Sales concluded only by phone or in-store | No | As soon as an online interface is involved, the obligation applies |
| Products excluded by Article L221-28 | No for these items | Exclusions must appear in the T&Cs before purchase |
Two cases frequently catch out the stores we audit. The first is the mixed catalog: a store that sells to both professionals and private individuals remains subject to the obligation for the B2C portion, even if B2B represents 90% of the turnover. If you operate a store under Shopify B2B with a public catalog in parallel, the withdrawal process must exist for this second flow.
The second is multi-market. A store that sells in France, Belgium, and Germany via Shopify Markets must serve the feature in the language of each market. The directive is European, national transpositions differ in detail, and a single page in French does not cover a German customer.
The withdrawal button: wording, placement, process
A compliant withdrawal button is judged on three points: the wording, the placement, and the confirmation process. This is the part that most stores miss, not due to ill will, but because they think they are already covered.
Compliant wording and formulations to avoid
The decree explicitly cites the mention withdraw from the contract here, or an analogous clear and unambiguous formula. The validation button must express the confirmation of the withdrawal without detours.
Avoid: "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 pattern: the customer must understand, without effort of interpretation, that they are exercising an enforceable right.
Placement
The feature must be displayed visibly, directly and easily accessible, and remain available for the entire duration of the withdrawal period. In practice, this excludes three common choices: burying it in a sub-menu, relegating it to the customer account behind authentication, and conditional display on only the order tracking page.
The two-step process and the acknowledgement of receipt
Step one: the customer clicks the link and accesses a form where they identify their order and the concerned items. The form must allow them to provide their identity, contract references, and contact information. Step two: they validate and receive an acknowledgement of receipt on a durable medium mentioning the content of their declaration as well as the date and time of its submission.
This timestamping is not an administrative detail. It is the piece of evidence that starts the clocks on both sides: fourteen days for you to refund, fourteen days for the customer to return the goods. Without dated proof, any dispute works to your disadvantage.
How to implement it on Shopify
Shopify has published a help page dedicated to European compliance and indicates that its return and cancellation rules can help meet the obligation by guiding the customer to their account or the order status page. This is precisely where the trap lies. The platform does not provide a native, autonomous, and compliant turnkey withdrawal feature, and it reminds users itself that the legal responsibility remains with the merchant. In other words, configuring your Shopify returns brings you closer to compliance, but does not get you there. Two paths therefore open up: a specialized application, or a Liquid development in the theme coupled with automation.
Our feedback on Cabania. We had outlined the second option: a dedicated page, a form, a Shopify Flow scenario to tag the order, notify the team, and trigger the acknowledgement email. About two days of specification and development, plus future maintenance for every text update.
We stopped everything after identifying Retractly: EU Withdrawal, an application whose free plan covers the entire obligation: withdrawal form accessible without a customer account, including for orders placed as a guest, automatic confirmation emails, partial withdrawal item by item, automatic validation of deadlines and orders, and an interface available in the official languages of the Union. Paid plans add graphic customization and export, not compliance.
The trade-off boils down to one sentence: custom development did not add anything that the free plan did not already cover, and it exposed us to maintenance debt on a text that is still young. We now reserve Liquid development for stores that have a real integration constraint—highly customized themes, connected ERP, or multi-market logic. For the rest, the application is the right choice. It is also one less line in your Shopify maintenance plan.
The three-question test that we have every audited store pass. Open your site in private browsing, without being logged in:
- Do you find a withdrawal link from the homepage in less than two clicks?
- Can you finish the form without creating an account or logging in?
- Do you receive a timestamped email that includes the content of your declaration?
Three yeses, you are covered. A single no, you are not.
Should you activate 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 is clean, native, and free.
We do not recommend it by default, for two distinct reasons.
The first is legal. Self-service returns rely on the new customer accounts: the customer must log in. However, the withdrawal feature must remain accessible without barriers, including to a guest buyer. Activating self-service therefore does not make you compliant, and believing otherwise is the most frequent error we see during audits.
The second is commercial, and it is a bias we stand by. A return request is rarely a final decision. It is often a size that does not fit, a doubt about assembly, a misunderstood delivery deadline, an order placed twice. When the request goes through customer service, the team can turn a cancellation into an order modification, offer a variant exchange, or explain a technical point. When it is automated from end to end, the refund is processed and the sale is lost, without any human having had the opportunity to rectify the situation.
Total automation is dry. It optimizes a processing cost and destroys a margin. Our recommendation: a totally free, frictionless withdrawal feature, because the law requires it and it is legitimate, and commercial return handling that remains managed by a team. Nothing prevents you from equipping this team; an AI first-level chatbot absorbs simple requests very well and escalates the others to a human.
Drafting a clear return policy
An e-commerce return policy is the contractual document that describes, before purchase, the time granted, the required condition of the product, the cost of return, and the procedure to follow. A good policy fits on one page and answers six questions, in this order.
- What timeframe? The legal requirement is 14 days. Many brands advertise 30 days. Beyond that, the effect on conversion fades and logistics costs increase.
- In what condition? Product unused, tags attached, original packaging. Phrase this in verifiable terms, not value judgments.
- Who pays for return shipping? It is at your expense, the customer's, or free above a certain threshold. This is the most expensive and most effective lever.
- How long for the refund? Announce a timeframe you can actually meet, and the payment method used.
- What are the exclusions? Personalized products, hygiene items, final sale articles. These must be announced before purchase, not discovered afterwards.
- How does it work, practically? Three steps maximum, with a link to the withdrawal functionality.
This page structures your commercial promise. It does not replace your general terms and conditions: the legal wording of clauses must be handled in your store's Terms and Conditions and legal notices.
The return policy template to copy
Here is the framework we deploy for the stores we support. Replace the bracketed values with your own, delete what does not apply, and keep the order of the blocks: it follows the order in which a customer asks themselves questions.
Returns and refunds
You have 30 days to change your mind. You have 30 days from receipt of your order to return an item, without having to justify your decision. This period is longer than the legal 14-day withdrawal period, which you also benefit from.
In what condition? The item must be unworn, unwashed, unused, with its original tags and in its original packaging. An item damaged after receipt or incomplete may be subject to a partial refund.
Who pays for return shipping? Return shipping costs are at your expense, i.e., [X.XX] € deducted from your refund. They are free for any order over [XX] € and for any defective or incorrect item, regardless of the amount.
When will you be refunded? Within [X] business days after receipt and inspection of your package at our warehouse, via the payment method used for the order. You will receive a confirmation email as soon as the refund is processed.
Items that cannot be returned. Personalized or custom-made items, unsealed hygiene products, gift cards, and items marked as non-returnable on their product page.
How to proceed, in 3 steps. 1. Go to [link to your return page] with your order number. 2. Select the items to return and the reason. 3. Print the prepaid label we send you by email, and drop off the package at a relay point within 14 days.
You wish to cancel your order. To exercise your legal right of withdrawal, use our dedicated feature: [link labeled "renounce the contract here"]. You will immediately receive a time-stamped acknowledgment of receipt.
A question? Write to us at [email address], we respond within [X] business hours.
Three precautions before publishing. Do not promise a refund timeframe that your logistics cannot meet; it is the primary source of negative reviews on this subject. Verify that the withdrawal link is distinct from the commercial return process; these are two different mechanisms. And if you use a network of relay points, specify which one: a customer who discovers at the last moment that they have to go to the Post Office when they have a Mondial Relay point down the street will have a poor experience.
What a return really costs
A return does not just cost the price of return shipping. It costs transport, receiving, quality control, repackaging, re-labeling, restocking, customer service time, and the cash flow gap between the refund paid and the product being resold. Market benchmarks place the full cost of a return between €15 and €30 per package for a French e-commerce merchant. On a low average basket, the total often exceeds the product's margin.
The return rate, meanwhile, depends heavily on the sector. The orders of magnitude observed on the French market:
| Sector | Observed return rate | Priority lever |
|---|---|---|
| Fashion and clothing | 25 to 40% | Size guide and photos of products worn |
| Sports and leisure | 15 to 25% | Dimensions and compatibility |
| Home and decor | 10 to 20% | Precise measurements and scale visualization |
| Electronics and high-tech | 10 to 15% | Technical specifications and compatibility |
| Beauty and cosmetics | 5 to 10% | Shade charts and samples |
| Food | 2 to 5% | Packaging and transport quality |
These ranges are market benchmarks, not a standard. The number that counts is yours, sector by sector and reference by reference. Three trade-offs to consider before announcing anything:
- The free return threshold. Calculate the full cost of a return, then the average basket size 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 pre-purchase information problem: missing size guide, inaccurate photos, imprecise dimensions. Correcting the product page costs less than financing the returns it generates.
- Restocking. Decide in advance what goes back into stock A, what goes to second-hand or outlet, and what is a loss. Without this rule, returns accumulate in a box that becomes a total write-off.
Turning your policy into a selling point
A readable return policy is one of the rare elements of reassurance that acts at the exact moment of hesitation. It removes a perceived risk, and perceived risk is the primary reason for abandonment on a brand that the visitor does not yet know. It is also, very concretely, a lever for recovery on abandoned carts: reminding the customer of the return policy in the first follow-up email often does more than a promo code.
Three locations provide the bulk of the results: a short block under the add-to-cart button on the product page, a reminder in the cart and at checkout, and a permanent link in the footer. Phrase the promise in a concrete sentence, with a duration and a cost. "Returns within 30 days, refund within 5 business days" works better than "satisfied or refunded," which no longer means anything.
Well utilized, the return policy becomes a conversion lever in its own right, just like other conversion rate optimization levers. Poorly hidden, it produces the opposite effect: the visitor who searches for your policy and cannot find it concludes there is a reason.
Making your store compliant
Compliance does not take more than half a day on a standard Shopify store: the functionality, the placement, the acknowledgment of receipt, the update of the GTC. What takes time is deciding what you automate and what you keep in your team's hands. That is where the margin is at stake.
Let's talk about your return journey: thirty minutes are enough to identify what exposes you and what costs you.