The EU 14-day withdrawal button and form for Shopify stores
Consumers in the European Union can, as a rule, withdraw from an online purchase within 14 days of receiving the goods, without giving a reason. That right comes from the Consumer Rights Directive (2011/83/EU) and is not new. What is new is how the customer exercises it online.
Directive (EU) 2023/2673 added Article 11a to the Consumer Rights Directive. It asks traders who conclude contracts through an online interface to provide a withdrawal function: a clearly labelled way to withdraw online, a confirmation step, and an acknowledgement of receipt sent to the customer on a durable medium such as email. Member states apply it through their own national laws, from 19 June 2026.
This guide is practical information, not legal advice. Exceptions to the right of withdrawal (goods made to the customer's specification, sealed hygiene products, perishable goods and others) and national details vary, so confirm with a lawyer what applies to your store and your markets.
What Shopify covers
Shopify lets you publish a refund policy, and its self-serve returns let customers request a return of delivered items from the order status page, under rules you set. A return request is useful, but it is not the same thing as the withdrawal function: it follows your return rules and waits for your approval, while a withdrawal is a statement the customer makes and you acknowledge.
At the time of writing we are not aware of a built-in Shopify withdrawal button. Shopify changes quickly, so check the current Help Center before deciding.
What a withdrawal function needs
Reading the directive, a workable setup has these parts:
- a button with clear wording; the directive's own is "withdraw from contract here"
- a short form: which order, which items
- a second step where the customer confirms; the directive's wording is "confirm withdrawal"
- an acknowledgement sent to the customer without delay, with the date and time
- availability for the whole withdrawal period, not only right after checkout
- a record for you, so you can refund on time and show what happened
How AfterSale Suite does it
The EU withdrawal module puts a withdrawal button on the order status page and in the order's action menu in Shopify's new customer accounts. The labels use the directive's official wording, and the button and form ship in 24 EU languages.
The customer chooses the whole order or only some items, may add a reason, which is optional, and confirms in a second step. AfterSale then sends the customer an email confirmation, in their language where the email is translated (English, German, French, Spanish, Italian and Romanian) and in English otherwise, stating the order, the items and the date and time of the request. You receive an email with the same details. Each request appears on the Withdrawals screen in the admin, where you can mark it as handled or download all requests as a CSV file.
The button shows while the window is open: from the order until 14 days after delivery, plus any extra days you add if your policy promises more. When Shopify has no delivery date for an order, the button stays available rather than closing on a guess. You choose the countries: all 27 member states are selected by default, and you can add others, such as Norway, Iceland or Switzerland, if you give the same right there.
The module is switched on at install and keeps working on every plan, including when a store goes over its monthly order limit. It refunds nothing and changes nothing on the order. You handle the return and the refund in Shopify as usual. Under the directive you generally have 14 days from the withdrawal to refund what the customer paid, including standard delivery; the details, such as waiting until the goods come back, depend on your country's rules.
Limits to know before you install
- The module is a tool, not legal advice. It gives the customer a button, a form and a confirmation, and gives you a record. It does not by itself make a store compliant: your terms, the information you give before purchase and your refunds are still yours to get right.
- It needs Shopify's new customer accounts. The button does not appear on the classic order status page.
- The button lives on the order pages, not in your store footer or on product pages. Some commentary argues the function should be reachable without signing in; whether the order pages are enough for your store is a question for your lawyer. You can always add a link to your contact page as a second route.
- The country check reads the shipping address. If Shopify does not give the app the address, the button shows, because refusing a lawful withdrawal is the costlier mistake.
Getting started
Install the app, open Withdrawals, check the countries and the number of days, then place a test order with an EU shipping address and withdraw from it. Read both emails, the customer's and yours, and check that the request appears in the admin.
You can find the app here: AfterSale Suite on the Shopify App Store.