A question comes up often when a webshop is built or rebuilt for Europe: where does the withdrawal button go, and what should it say? Read as law, the electronic withdrawal function that started in June 2026 is one sentence: consumers must be able to cancel easily. Read as implementation, it is a list of decisions: placement, form fields, the confirmation email, matching requests to orders, and what each platform already does.
This article covers only how to add the button. The right of withdrawal itself (14 days, when the clock starts, how exceptions work) is in chapter 6 of our guide to European websites, and the wider choice of shop platform is in the Shopify, WooCommerce and Lightspeed comparison. None of that is repeated here.
Dates need care. ACM, the Dutch consumer authority, announced 19 June 2026. The Dutch business portal gives 25 June. Chapter 1 explains what each date refers to. The platform notes below come from reading each vendor's official pages on 3 November 2026, and where something could not be confirmed, the text says so.
What this article rests on
The main official sources, all checked on 3 November 2026:
- ACM, "ACM calls on online retailers to prepare for the withdrawal button" (11 June 2026)
- The Dutch Staatsblad 2026, 153 (new article 6:230oa of the Civil Code, published 24 June 2026)
- ondernemersplein.overheid.nl, "Webshops moeten een herroepingsknop hebben"
- The Chamber of Commerce (KVK), "Herroepingsknop verplicht voor webshops"
- The official help and developer pages of Shopify, WooCommerce and Lightspeed
| Question | Short answer |
|---|---|
| Since when | EU application 19 June 2026; Dutch law in force 25 June, by DevNJ's reading |
| Who is covered | Traders selling online to consumers, under contracts with a withdrawal right |
| Button wording | Not one fixed phrase; it must be unambiguous |
| Steps | Entry, input, confirmation; acknowledgement straight away |
| Placement | Visible for all 14 days; login must not be required |
| If your platform lacks it | Link, form, confirmation step and email, built yourself |
1. What was decided, and from when
The button is not an improvised rule. A European directive is the base, member states put it into national law, and national authorities publish guidance. The dates differ because each layer has its own.
Terms first. In the Netherlands the withdrawal button is called the herroepingsknop. The wording of the Civil Code is ontbinding (dissolution of the contract), and ondernemersplein's example "hier de overeenkomst ontbinden" (cancel the agreement here) uses it too. All of these point to the same right as "withdrawal" in the EU directive, so this article uses "withdrawal" throughout.
The directive and Dutch law
The base is Directive (EU) 2023/2673. It is a directive on distance contracts for financial services, but it also amends the Consumer Rights Directive (2011/83/EU) by adding Article 11a, the electronic withdrawal function. Article 11a is the part that affects webshops.
WooCommerce's own guidance also says the directive applies to B2C sites selling to EU consumers, with a deadline of 19 June 2026. The directive text on EUR-Lex could not be opened, so the content of Article 11a is taken from the Dutch Staatsblad, ACM guidance and vendor commentary.
In the Netherlands the Civil Code gained a new article, 6:230oa. Article IV of Staatsblad 2026, 153 sets entry into force at 19 June 2026, and adds that if the Staatsblad is issued after 18 June, the act enters into force the day after issue. The Staatsblad was issued on 24 June, so entry into force is 25 June. That is DevNJ's reading of the text, not a lawyer's.
Why two dates appear
| Source | Date shown | How to read it |
|---|---|---|
| ACM (11 June 2026) | 19 June | Follows the EU application date |
| KVK | 19 June | Same |
| ondernemersplein, business.gov.nl | 25 June | Dutch law in force |
| Staatsblad 2026, 153 | 19 June, or day after issue if later | Issued 24 June, so 25 June |
In practice the gap does not matter. Both dates are already past on 3 November 2026. A shop that is live now is already past the deadline, and a new shop should meet it from its first day.
How it relates to the right of withdrawal
The button does not create a new right. ACM says the substance of the right does not change; the rules make it easier to use online. The 14-day period, the exceptions and the refund rules stay as they were.
What changed is what the trader must provide. Before, a model form, an email or a phone call all sufficed. Now, for contracts concluded online, the trader must offer a route that can be completed online.
2. Contracts in scope, and contracts out of scope
Whether you need the button is decided contract by contract, not for the site as a whole. One shop can hold contracts that need it and contracts that do not.
Three conditions
From the directive commentary and the ACM and KVK guidance, a contract is in scope when all three hold.
| Condition | Meaning | Falls outside |
|---|---|---|
| The buyer is a consumer | A private person, not buying for business | A wholesale site selling only to companies |
| Concluded online | Through a website, app or sign-up flow | Purchases in a physical shop |
| A right of withdrawal exists | The statutory 14-day right applies | Goods and services under an exception |
ACM states the button covers products and services bought online, not purchases in shops. ondernemersplein lists webshops, online service providers (online courses, coaching) and sales through social media.
Contracts with an exception
Where the right of withdrawal itself has an exception, no button is needed for that contract. The EU's Your Europe page lists the following.
| Exception | Example |
|---|---|
| Dated bookings and tickets | Flights, concerts, hotels, car rental |
| Perishable goods | Food with a short use-by date |
| Made to order or personalised | Engraved items, custom sizes |
| Prices that follow the market | Heating fuel |
| Fully performed services | Immediate start agreed, right acknowledged lost |
| Unsealed media | Opened audio, video, software |
| Urgent repairs and maintenance | A call-out for an urgent repair, such as a water leak |
| Started digital content | Download begun after agreeing to lose the right |
The table is a summary of Your Europe; national law adds detail. A shop with exempt items should hold a per-product flag for "withdrawable or not" and show the exception before purchase.
Where services and digital content get tricky
Services and digital content are harder than goods. The period may run from the contract date instead of delivery, and the right can end once supply begins.
The directive commentary warns that where free and paid tiers share terms or a flow, the whole flow can come into scope. Do not assume "free means exempt"; check up to the point where a consumer moves to a paid plan.
Separating business buyers
The right of withdrawal belongs to consumers. business.gov.nl says business customers have no statutory withdrawal period, though a trader may offer one in its terms.
If one shop sells to both, any route a consumer can use needs a withdrawal route. If you have separate business pricing or terms, separate the buyer type before purchase. A shop that does not separate treats everyone as a consumer, which is the safe side.
3. What the law asks for: entry, confirmation, acknowledgement
Article 6:230oa of the Dutch Civil Code sets out the function in five paragraphs. Here is the structure, rewritten as something you can build.
The entry function and the confirmation function
Paragraph 1 requires a function that is clearly visible and easily accessible on the online interface, with an unambiguous label showing the contract can be withdrawn.
Paragraph 2 says the consumer must be able to enter or confirm their name, the details identifying the contract, and the electronic means for confirmation. Paragraph 3 requires a second function to submit the statement, also with an unambiguous label showing the withdrawal can be confirmed.
The flow can be one screen or two. The law asks that the "withdraw" function and the "confirm" function are each unambiguous. The directive commentary adds that the confirm button should not carry extra text or bundled consents.
Acknowledgement and timing
Paragraph 4 requires the trader to acknowledge receipt without delay on a durable medium once the consumer uses the confirm function. A durable medium is one the consumer can keep and reread; email is the usual one. The acknowledgement includes the content of the statement and the date and time of submission.
Paragraph 5 treats a statement submitted before the withdrawal period ends as in time, and requires the function to stay available throughout the period.
KVK's guidance agrees: the confirmation names which purchase was withdrawn, with date and time, and the customer then has 14 days to return the goods.
Information before purchase also changed
The amendment to 6:230m adds, to the information given before purchase, where the withdrawal function can be found. ACM likewise asks traders to tell consumers at purchase that the right exists, how to use it, and that the button is there.
In practice you add a pointer on the product page, the order confirmation and the terms. The duty is not just to have the button but to say before purchase that it exists.
4. Wording and placement
The law does not fix one phrase. That freedom has produced labels that are hard to find, so here are the official examples and a way to choose.
Wording examples and how to choose
| Source | Wording given | Meaning |
|---|---|---|
| ACM | mijn aankoop ongedaan maken | Undo my purchase |
| ondernemersplein | hier de overeenkomst ontbinden | Cancel the agreement here |
| WooCommerce guidance | Withdraw from contract here | As written |
ACM leaves the look to the trader, provided the purpose is immediately clear. Three tests help: it reads as withdrawing the contract; it is not a vague word like "contact" or "returns"; and it is in the buyer's language.
The directive commentary notes that some countries prescribe wording. Italy, for example, requires "recedi dal contratto qui" for the entry and "Conferma recesso" for confirmation. For Dutch buyers, use Dutch as the main label and add English alongside if you wish.
Combine three placements
One placement is often not enough. If the entry cannot be found, buyers fall back to the old contact route or give up.
| Placement | Aim | Watch out for |
|---|---|---|
| Footer | Findable from any page | Collapsed menus on mobile |
| Order confirmation email | Opened right after purchase and within 14 days | Link must identify the order |
| Order history or status page | Easy to match to the order | Keep a route that does not need login |
| Withdrawal section of the terms | Meets the pre-purchase information | Not enough on its own |
The most dependable pairing is footer plus email. The footer is always visible, and the email links straight to "withdraw this order".
Login must not be required
ACM says offering login is fine, but making account creation mandatory is not. Data requested should be the minimum needed to process the withdrawal; KVK gives an order number or address as examples.
This is where platforms differ most. If the only entry sits inside the customer account, guest buyers cannot use it. Chapter 6 covers how each platform handles this.
5. What the confirmation email must hold
The acknowledgement is also the trader's record if a dispute arises. Here is what the law and guidance require, and what is worth adding.
What the rules ask for
| Item | Basis | Note |
|---|---|---|
| Content of the statement | 6:230oa, paragraph 4 | Name, details identifying the contract |
| Date and time sent | 6:230oa, paragraph 4; KVK | Add the time zone |
| Which purchase was withdrawn | KVK | Order number and item |
| Delivery by durable medium | 6:230oa, paragraph 4 | Email is typical |
The law says "without delay" and gives no number of seconds. ACM assumes consumers receive confirmation immediately, so an automatic reply right after confirmation is the safe design.
Useful extras
| Addition | Purpose |
|---|---|
| Reference number | Both sides can quote the same number |
| Next steps | Return address, deadline, who pays return shipping |
| Refund expectation | When the refund process starts, within the rules |
| Contact for out-of-scope items | Mixed orders: which items are covered |
The acknowledgement says "received", not "refund promised". WooCommerce's own documentation also says a submitted request does not change the order status or refund anything. Keep acknowledgement and refund decision as separate steps, so exceptions and already-started services can be handled.
Personal data
A withdrawal statement holds a name, an email address and order details. That is personal data, so GDPR purpose limitation and retention apply. Keep fields few and decide how long you keep records.
One WordPress plugin deletes old requests after a retention period that defaults to 365 days. That is the plugin's default, not a legal period. Set your own retention in light of your goods and accounting duties, and write it into your privacy policy. The GA4 and GDPR article covers consent and measurement.
6. Platform by platform
Whether the function is built in differs by platform. Below is what DevNJ could confirm from official pages on 3 November 2026, and what could not be confirmed.
| Platform | Confirmed | Not confirmed |
|---|---|---|
| Shopify | Handled through return and cancellation rules; applied automatically to Managed Markets orders | Detailed admin settings |
| WooCommerce | Order withdrawal in 11.1 (released 1 September 2026); off by default; no automatic link | Nothing specific (check the version each shop runs) |
| Lightspeed | E-Series article read in full; on by default for all products | A C-Series article |
Shopify
Shopify's help center describes meeting the EU right of withdrawal through its return and cancellation rules: self-serve returns and cancellations, return windows and market-specific policies set for the EU. It says compliant cancellation and return policies are applied automatically to Managed Markets orders. Other EU orders need manual setup.
In the developer community, a Shopify staff member described the standard flow on 2 July 2026. A visible storefront link leads to the customer accounts or orders area; for email orders the customer enters an email and confirms with a verification code; for phone-only orders the request is made from the order status page reached through the SMS link. The staff member also said the verification step is meant to confirm order access and is not a traditional password-based login. The post adds that merchants do not have to use the native flow and can use return rules, an app or their own form.
One point needs checking. On 6 July 2026 a member, citing chambers of commerce, asked that no login or verification step sit in front of the withdrawal function and asked Shopify to update its wording. The staff explanation and the member's objection stand side by side, and Shopify has not committed to a change. ACM says login is an option but account creation must not be mandatory. Whether a verification-code step fits the authority's reading in your target country is something to check against that country's guidance. We cannot present it as a settled Shopify position.
WooCommerce
WooCommerce moved in two steps. On 1 May 2026 its core product manager published a post suggesting a "Withdraw from contract" link in the footer or navigation, a form collecting name, order reference and email, and a confirmation email, all from existing parts. That post does not say core has a dedicated feature.
Then the developer blog of 27 August 2026 introduced Order Withdrawal in WooCommerce 11.1, and the official documentation ("Customer order withdrawal") describes it in detail.
| Item | Detail |
|---|---|
| Enabling | Settings, Advanced, Features, turn on "Order Withdrawal". Off by default |
| Form location | /my-account/withdraw-order; the URL can be changed |
| Who can use it | Logged-in users and guests |
| Customer flow | Short form, review before submit, confirmation screen |
| Customer email | Acknowledgement with the details entered |
| Merchant alerts | For matched requests, an order note and an admin notice; the email can be switched off in settings |
| Matching | Order number plus billing email links the request; if no match, still accepted, but no order note and no admin notice are created |
| What it does not do | Change order status, cancel or refund; it does not guarantee compliance with EU rules either |
One easy-to-miss point: the page is not linked anywhere by default. The documentation describes no menu item or button, and the blog suggests adding links in the footer or order emails. Switching the feature on does not make it "easy to find".
The official documentation adds four more points.
| Situation | What happens |
|---|---|
| Order older than 14 days | Still accepted. Only a warning based on the creation date appears; it does not reject, and it is not based on delivery |
| Second request for one order | Not accepted for an already matched order, and the merchant is not notified |
| Request that matches no order | No order note and no admin notice; the merchant has to look for it by hand |
| Compliance | The feature does not guarantee compliance; the documentation advises consulting a legal professional |
Because the warning uses the creation date, an order that was delivered late can trigger the warning while the period is still open. Do not decide on the warning alone; check against the delivery date.
WooCommerce 11.1 was released on 1 September 2026, and the official release notes list "Right of order withdrawal for EU customers" among the changes. Check which version your own shop runs in the admin. Before 11.1, use the manual steps from the official post or a plugin. For example, "Herroepingsknop & Bedenktijd for WooCommerce" on WordPress.org offers a page verified by order number and email, and secure links in emails. It is third-party, so check its update date and compatible versions first.
Lightspeed
For E-Series, Lightspeed's support article "Accepting order withdrawal requests in your eCom store" could be read in full.
| Item | Detail |
|---|---|
| Default | On for all products |
| Store-wide switch-off | Settings > Cart & Checkout, "Order withdrawal request" toggle |
| Per product | Catalog > Products, turn off "Eligible for withdrawal" |
| Logged-in customer | Requests from My Account or the link in the confirmation email |
| Guest | "Request withdrawal" on My Account: enter order number and email, then use the link that arrives. No account needed |
| Period | 14 days after the order status becomes Delivered; can be extended per product (minimum 14 days) |
| After a request | Merchant notified in admin and by email; customer gets a confirmation email. No automatic cancellation or refund |
The guest route fits the point in chapter 4 that login must not be required.
For C-Series, the titles in the returns and refunds section show nothing on withdrawal. Whether a C-Series shop has a built-in function is therefore not confirmed. If you use Lightspeed, check whether you are on E-Series or C-Series and ask support directly.
Three questions before choosing
Even before the platform is settled, you can put these to a developer or vendor.
| Question | What you are looking for |
|---|---|
| Can a guest buyer use the entry? | No mandatory account creation |
| Does a durable-medium acknowledgement follow confirmation? | Content, date and time included |
| Can items be excluded one by one? | Handling of mixed orders |
7. Building it when the platform lacks it
If there is no built-in function, or it falls short, build it. No heavy development is needed; WooCommerce's own guidance says a contact-form plugin can do the job.
Four minimum parts
| Part | What it is | Check |
|---|---|---|
| Entry link | In the footer and order emails | Not hidden on mobile |
| Statement form | Name, order number, contact | Minimum fields |
| Confirm button | Sends the statement | No extra text or consent boxes |
| Acknowledgement email | Content and time, sent automatically | Sender not filtered as spam |
With these four, built apart from order management, you can already accept requests in time. A further condition is that received statements are visible to an administrator. A setup where requests only flow past in an inbox leads to missed ones.
Choosing form fields
More fields look like fewer errors, but ACM asks for only the necessary data.
| Field | Include | Reason |
|---|---|---|
| Name | Yes | The law requires it |
| Order number | Yes | Identifies the contract |
| Email address | Yes | Where confirmation goes |
| Reason for withdrawing | No | No reason is needed; even optional it misleads |
| Phone, address | Usually no | Not needed if the order number identifies it |
| Item selection | If needed | For partial withdrawals |
A "reason" field cannot be mandatory because withdrawal needs no reason. Even as an optional field, avoid designs that suggest the form cannot proceed without it.
What breaks in homemade builds
| Weak point | What happens | Fix |
|---|---|---|
| No screen after sending | Buyer cannot tell if it arrived | Show a confirmation screen and send an email |
| Email not delivered | Acknowledgement duty unmet | Set up sender authentication; test repeatedly |
| Typing the order number is a chore | Drop-off | Pre-fill it through the email link |
| Rejecting by date too early | Valid requests refused | Judge timeliness by the submission time |
| Staff not alerted | Requests sit unread | Double notification and a daily owner |
The date rule relates to paragraph 5: a statement sent before the period ends counts as in time. A delay in processing must never turn it into a late one.
8. After a statement arrives
Adding the button is not the end. Decide the flow after a statement comes in.
From receipt to refund
| Stage | What to do | Typical owner |
|---|---|---|
| Receipt | Send the automatic reply and alert staff | System |
| Matching | Check against the order and the contract scope | Operations |
| Instructions | Give return address, deadline, shipping cost split | Operations |
| Inspection and refund | Process under the refund rules | Finance, operations |
| Record | Keep receipt time and handling history | Operations |
At matching, decide how to tell the customer a request is out of scope, for example a personalised item. Send the acknowledgement, then explain politely why it does not qualify. Refund deadlines and return costs follow the rules in the withdrawal-right article.
Matching to orders
The WooCommerce 11.1 feature accepts a request even when order number and email do not match. According to the official documentation, though, an unmatched request creates no order note and no admin notice; the merchant gets an email saying it could not be matched only if the merchant email is enabled, and nothing at all if it is disabled. The merchant then has to find the order by hand from the name, email and order number, so this is easy to miss. Check the recipient and that the email is enabled, and make reviewing incoming requests a daily task. Not rejecting what does not match still makes sense because it avoids losing timely requests.
Do the same in a homemade build. Mistyped order numbers are common. If matching fails, keep the statement and route it to a person.
Retention
The record is evidence in a dispute, and also personal data. As in chapter 5, decide the retention period yourself and state it in the privacy policy.
9. Checks after going live
Once built, test from the buyer's side. Looking at admin settings alone will not reveal what the buyer actually sees.
Run a full test order
| Check | What to look at | What to record |
|---|---|---|
| Entry is findable | Reachable from footer and email | Date and screenshot |
| Works for guests | Completes without an account | Same |
| Minimal input | No unneeded required fields | Field list |
| Before and after confirm | A separate confirm button exists | Screenshot |
| Acknowledgement email | Content and time present; not in spam | Original email |
| Staff alert | Request appears in a list; alert arrives | Copy of the alert |
| Exempt products | Exception display matches handling | Product list |
Test with both a guest order and an account order. An entry that exists only in the account area shows up in the guest test.
Check on mobile
Most buyers use phones. Check that the footer is not collapsed, that fields are not hidden by the keyboard and that the confirm button is easy to tap, on a real device or a narrow developer-tools width. Colour contrast and keyboard use also matter for accessibility; the European Accessibility Act article covers that rule.
Re-check when things change
The rules and platforms keep moving; Shopify's wording was revised during the summer. Run the test order again when:
- you upgrade the platform
- you swap a theme or plugin
- you start selling to a new country
- you learn of an official update
10. Common misunderstandings
| Misunderstanding | Reality | Action |
|---|---|---|
| With a button, no return form is needed | The button is extra; keep the model form | Show both |
| We are outside the EU, so exempt | Applies if the buyer is an EU consumer | Decide target countries first |
| Login proves identity | Account creation cannot be required | Keep a guest route |
| The confirmation email promises a refund | Receipt and refund are separate | Word it to distinguish |
| Free plans are out of scope | A shared flow to paid plans may bring them in | Look at the whole flow |
| English alone is enough | Dutch buyers expect Dutch | Dutch first, English alongside |
| Set it once and done | Updates can break it | Re-test on every change |
Rows one and three do the most harm. Removing the old routes after adding a button leaves buyers who ask for the model form with no answer.
11. By situation
Without inventing people, here is where to start in each kind of shop.
| Your situation | Do first | Then |
|---|---|---|
| WooCommerce selling to Dutch buyers | Check your version and the feature | Enable it; add footer and email links |
| Shopify with EU markets | Review return and cancellation rules | Try the customer-side route as a guest |
| On Lightspeed | Find out whether E-Series or C-Series | Ask support if a function exists |
| A custom cart | Design the four parts | Confirm the quote includes them |
| Selling only to companies | Confirm the buyer type before purchase | Check no consumer route exists |
| Paid courses or memberships | Check start of supply and withdrawal terms | Review the consent screen before supply |
In every situation the last step is a test order run end to end.
12. What not to do
| Do not | Why |
|---|---|
| Make account creation a condition | ACM does not allow mandatory accounts |
| Require a reason | Withdrawal needs no reason |
| Hide the entry deep in the terms | The function must be clearly visible and easy to reach |
| Remove the old return form | The button adds to it |
| Bundle consent boxes with the confirm button | The meaning becomes unclear |
| Reject a statement as late | In-time submissions count as timely |
| Send the acknowledgement by hand | It must follow without delay |
13. Checklist
- Target countries and in-scope contracts (consumer, online, withdrawal right) are written down
- Exempt goods and services are flagged per product
- The entry is in at least two places, footer and email
- A guest can finish without an account
- Fields are limited to name, order number and contact
- A separate confirm button follows the input
- An acknowledgement email goes out automatically with content and time
- Staff are alerted and someone checks daily
- The terms and pre-purchase information say where the function is
- The model form and contact routes remain
- A retention period is set and in the privacy policy
- A test order was run end to end as guest and as account holder
- Dates and screenshots of the checks are kept
14. Summary
- The button comes from Article 11a of the Consumer Rights Directive, added by Directive 2023/2673, and sits in Dutch Civil Code 6:230oa
- ACM gives 19 June 2026; by DevNJ's reading Dutch law took effect on 25 June, so the deadline has passed
- Scope: consumer, online, withdrawal right; decide per contract
- You need an entry, a confirmation and an emailed acknowledgement, with no mandatory login or account
- The button adds to existing routes and does not replace them
- Platforms differ: WooCommerce added it in 11.1, Shopify uses rules and entry points, Lightspeed C-Series could not be confirmed
- Test end to end before launch and again after every change
The withdrawal entry is not one screen to add. It connects order management, email, terms and whoever handles requests. If you want help working out what your shop lacks, or whether a quote covers the build, see our services. To talk through your situation, contact us. More articles are in the column.
Sources
Dutch authorities and government
- ACM calls on online retailers to prepare for the withdrawal button — ACM: 11 June 2026; button requirements, login, sanctions
- ACM roept online retailers op zich voor te bereiden op herroepingsknop — ACM: the Dutch-language version
- Webshops moeten een herroepingsknop hebben — ondernemersplein: effective date, wording example, model form
- Wetswijzigingen 2e kwartaal 2026 — ondernemersplein: list of rule changes
- Rules for online sales and purchases — business.gov.nl: the 25 June date, model form, B2B
- Herroepingsknop verplicht voor webshops — KVK: who is covered, fields, confirmation content
- Staatsblad 2026, 153 — Officiële Bekendmakingen: text of Civil Code 6:230oa and entry into force
EU law
- Directive (EU) 2023/2673 — EUR-Lex: the directive that adds Article 11a; the text could not be opened this time
- Consumer Rights Directive 2011/83/EU — EUR-Lex: the base of the right of withdrawal
- Returns and cancellations — Your Europe: the 14-day right and its exceptions
Platforms
- EU right of withdrawal — Shopify Help Center: handled through return and cancellation rules
- EU withdrawal button requirement starts June 19, 2026 — Shopify Developer Community: staff explanation (2 July 2026) and member comments
- Selling to EU customers? What to know about the new withdrawal link requirement — WooCommerce: 1 May 2026; manual steps
- Introducing Order Withdrawal in WooCommerce 11.1 — WooCommerce Developer Blog: introduction to 11.1 behaviour
- WooCommerce 11.1 release notes — WooCommerce Developer Blog: release on 1 September 2026
- Customer order withdrawal — WooCommerce Documentation: enabling, matching, warning, notifications, no compliance guarantee
- Herroepingsknop & Bedenktijd for WooCommerce — WordPress.org: an example of a third-party plugin
- Accepting order withdrawal requests in your eCom store — Lightspeed: E-Series default, switch-off, guest route, period
- Returns and refunds — Lightspeed eCom (C-Series) support: list of C-Series returns and refunds articles
Commentary
- The new online withdrawal function: what EU Directive 2023/2673 means — iubenda: application date, scope, wording examples (vendor commentary)
All checked on 3 November 2026. Rules and vendor features change, so confirm the latest position on the official pages before you build. This article is not legal advice. The directive's original text (EUR-Lex) could not be opened, so the content of Article 11a is taken from the Dutch Staatsblad, ACM guidance and vendor commentary. Figures 1 to 3 were made by DevNJ.
FAQ
- Does a webshop outside the EU need the EU withdrawal button?
- If you sell online to consumers in the EU and the contract carries a right of withdrawal, yes. What matters is the buyer, not where you are based. The Dutch ACM names webshops, apps and online service providers. Decide your target countries and the contracts in scope first.
- Is the wording of the withdrawal button fixed?
- No single phrase is prescribed in the Netherlands. The law asks for an unambiguous label showing the contract can be withdrawn. ACM gives 'mijn aankoop ongedaan maken' as an example and ondernemersplein gives 'hier de overeenkomst ontbinden'. Some other member states prescribe wording.
- Does the button replace our existing return form?
- No. The Dutch business portal says the button does not replace the model withdrawal form. It is an additional, easier route. Keep the model form and your usual contact channels as they are.
- Do Shopify, WooCommerce and Lightspeed include a withdrawal button?
- Shopify handles it through return and cancellation rules plus a customer-side entry point. WooCommerce added order withdrawal in 11.1, but it is off by default and not linked anywhere. For Lightspeed an E-Series article exists; nothing could be confirmed for C-Series.
- What happens if we do not offer the button?
- ACM says the withdrawal period can automatically extend to one year for traders that do not comply, and that it can impose fines. The practical aim is simpler: no withdrawal gets lost, and each one is recorded.
- Does the button apply to B2B sales?
- The right of withdrawal belongs to consumers, so contracts only with businesses normally fall outside it. If a shop does not separate business and consumer buyers, the consumer route still needs the button.
Planning a site that has to work in both markets?
Get in touch