Help center
The app follows Article 11a of Directive 2011/83/EU, as added by Directive (EU) 2023/2673. This page explains how the app works. It is not legal advice.
- Getting started
- The pop-up
- Only EU and EEA visitors
- Handling withdrawals
- Your own texts and emails
- Shopify returns and automation
- Plans
- FAQ
- Support
Getting started
Install the app from the Shopify App Store. It adds a withdrawal page to your store at /apps/withdrawal, inside your theme and on your own domain. The app's home page has a setup guide with these steps:
- Show the withdrawal link on every page. In the theme editor, turn on the app embed "Floating withdrawal link" (a small button in a bottom corner, works in every theme), or add the "Withdrawal link" block to your footer. Both show the legal label in your customer's language. A menu link to
/apps/withdrawalalso works, as long as it is clearly visible: "Add link to footer menu" in the setup guide adds it to your footer menu in one click. - Mention it in your refund policy. Under Settings > Policies, add the sentence from the setup guide to your refund policy and withdrawal instructions: "You can also withdraw within the withdrawal period, without logging in, via the “Withdraw from contract here” link at the bottom of every page." Customers must be told about the function before they buy.
- Add the link to the order confirmation email. Go to Settings > Notifications > Order confirmation > Edit code, and paste the code from the setup guide, for example above the footer.
- Add the button to customer accounts. Go to Settings > Checkout > Customize, open the Orders page, choose Apps and add "EU withdrawal" to Orders and Order status. Then, on the Order status page, click Add block and add "Withdrawal status". It only shows once the customer has withdrawn. Save.
- Add the button to the Thank you page. In the same editor, open the Thank you page and add the "EU withdrawal" block, so customers see the button right after they buy.
- Add your return instructions. In the app under Settings > Texts, for example the address customers send the goods to. They appear on the receipt and in the confirmation email.
- Accept the data processing agreement. One click in the app records the date. You can read the agreement first.
- Send a test withdrawal. Open your withdrawal page and withdraw from one of your own orders. You see the form, the confirmation email and the order tag.
The pop-up
Turn on the app embed "Withdrawal pop-up" in the theme editor. Every withdrawal link and button on your store then opens the form in a pop-up on the same page, instead of a new page. You can set its background and text colors. The withdrawal page itself keeps working as a normal page, for example from the link in the order confirmation email. Available on every plan.
Only EU and EEA visitors
The floating button and the footer link both have a setting "Show to": "Everyone" (the default) or "EU and EEA markets only". With the second option, the button or link only shows to visitors whose Shopify market country is in the EU or the EEA.
The withdrawal page itself stays open to everyone, so anyone with the link from an email or the customer account can still withdraw.
Handling withdrawals
- The list. Every withdrawal with its reference, customer, order, products, status and deadline check. Search by name, email, order or reference. You can also add a withdrawal that reached you by email or phone; it gets the same record and, if you choose, the same confirmation of receipt.
- Statuses. New, In progress, Completed and Rejected. The order tag in Shopify follows the status.
- Complete or Reject. Records your decision. On Basic you can also email the customer, with a preview of the exact email first. To change a decision, set the withdrawal back to In progress.
- Internal notes. Notes on a withdrawal for you and your staff. Customers never see them.
- Unmatched orders. When the order number and email did not match an order, the withdrawal is still recorded and acknowledged. Search for the right order and link it.
- Deadline check. A badge shows whether the withdrawal arrived within the period, counted from delivery, with the weekend rule and some room for public holidays. It is only shown to you and never used to refuse a withdrawal.
- Evidence record (Grow). A PDF per withdrawal with the statement, the date and time of receipt and the email delivery status.
- CSV export. All withdrawals, on every plan.
- Insights. How many withdrawals, how fast you handle them, the value withdrawn, the reasons and the most withdrawn products.
Your own texts and emails
On Basic and Grow, you can change the texts under Settings > Texts, per language. Empty fields use the built-in text, which is shown as a placeholder.
- Form texts. The link and page title, the introduction and the headings of the form.
- Emails. The subject and texts of the confirmation of receipt, the "withdrawal completed" email and the "withdrawal rejected" email, with a live preview.
- Placeholders.
{name}for the customer,{order}for the order number,{id}for the reference and{shop}for your store. - Always included. What the law requires, such as the withdrawal statement and the date and time of receipt, is always in the email, whatever you write.
- Own reasons. The reasons customers can choose from (up to 10), and your own reasons for rejecting, which appear in the Reject dialog after the standard reasons.
Shopify returns and automation
These options are part of Grow. Turn them on in the app under Settings.
- Shopify returns. The app creates a return request for withdrawn items that have shipped. You approve or decline it on the order, like any return.
- Cancel unshipped orders. When a signed-in customer withdraws from a whole order that has not shipped and has no exempt products, Shopify cancels it, refunds the original payment method, restocks and emails the customer. Everything else stays with you.
- Hold unfulfilled items. Withdrawn items that have not shipped yet are put on hold, so they are not sent by mistake. Release the hold in Shopify if you do want to ship them.
- Webhooks and Slack. A Slack incoming webhook gets a short message for each new withdrawal. Any other https address gets JSON (event
withdrawal.created). Use Send test to check it. - Shopify Flow. The triggers "Withdrawal submitted" and "Withdrawal decided" (completed or rejected) start your own workflows for withdrawals on a matched order.
- Shopify returns follow. When a return the app requested is closed in Shopify, the withdrawal is completed; a declined return is noted in its activity.
Plans
Billed through Shopify. Pay yearly and get two months free. Basic and Grow have a 14-day free trial. Development stores get every plan for free. You can change or cancel your plan at any time.
Free: $0
- Withdrawal page and footer link
- Two-step form, no login needed
- All 24 EU languages
- Acknowledgment email with date and time
- Order matching, notifications and order tag
- Withdrawal log in your Shopify admin and on the order page
- Withdraw button in customer accounts
- CSV export
- Option to show the button only to EU and EEA visitors
- Optional pop-up: the form opens on the same page
Basic: $9 per month or $90 per year
- Everything in Free
- Customers choose products and quantities
- Exempt products, such as personalised goods
- Your own texts per language
- Emails to the customer when you complete or reject
- Your own reasons for customers and for rejections
- Up to 5 notification addresses
- No "Sent with" line in emails
Grow: $24 per month or $240 per year
- Everything in Basic
- Emails from your own address (SMTP)
- Shopify return requests and cancellations
- Evidence record (PDF) per withdrawal
- Form layouts and custom CSS
- Slack, webhooks and a Shopify Flow trigger
FAQ
Is this required by law?
Article 11a of Directive 2011/83/EU, added by Directive (EU) 2023/2673, requires online traders who sell to consumers in the EU to offer a clearly labelled withdrawal function. Each EU country has put it into its own law; in the Netherlands it is article 6:230oa of the Civil Code. Whether it applies to your store depends on your business. Check with a legal professional if you are unsure.
From when does it apply?
From 19 June 2026.
Do customers need an account?
No. Customers enter their name, email address and order number, and confirm. Signed-in customers can also withdraw from their order page in the customer account.
What if the customer enters a wrong order number?
The withdrawal is still recorded and the customer gets the confirmation of receipt. In the app it is marked as not matched, and you can search for the right order and link it.
What about personalised products?
On Basic and Grow, you mark exempt products by product tag or line item property. They are flagged for you, and you decide on each request. The app never refuses a withdrawal.
Can I refuse late withdrawals?
The app checks the deadline and marks withdrawals that arrived after the period. It does not refuse them: you decide, and you can reject with a reason. Public holidays differ per country, so a withdrawal just after the period is marked for you to check.
Which languages are supported?
Customers get the form, labels and emails in all 24 official EU languages, in the language they use on your store. The app itself is available in 15 languages and follows the language of your Shopify admin.
Where is the data stored, and for how long?
Withdrawal records are stored in a database in the European Union. You choose how long to keep them: until you uninstall, or 2, 3, 5, 7 or 10 years after receipt. See the privacy policy.
What happens when I uninstall?
You get an email with all withdrawals as a CSV file. All data of your store is deleted 48 hours after uninstalling. Reinstall before then to keep using it.
Does it slow down my store?
No. The app adds no scripts to your product or cart pages. The form is plain HTML inside your theme, and the floating button and the pop-up are small.
Support
Email support@revokerie.com. Include your store's myshopify.com address and, if your question is about one withdrawal, its reference.