The EU withdrawal button for WooCommerce: 2026 guide
If you run an eshop, a new obligation already applies to you. Since 19 June 2026, every online store selling to consumers in the EU must offer a withdrawal button: a clear, easy-to-find function inside the site that lets a customer exercise their 14-day right of withdrawal electronically. The application date has already passed as of this writing, so for most stores the question is no longer whether, but how well it has been set up.
What changed and why it matters
The obligation comes from Directive (EU) 2023/2673, which inserts a new Article 11a into the Consumer Rights Directive (2011/83/EU). Although Directive 2023/2673 mainly concerns distance financial services, the "withdrawal function" it introduces is horizontal in scope: it applies to any distance contract concluded through an online interface — a website or an app — where a right of withdrawal exists.
The timeline comes down to two dates:
| Milestone | Date |
|---|---|
| Transposition into national law | 19 December 2025 |
| Rules apply from | 19 June 2026 |
In Greece the 14-day right of withdrawal is nothing new — it has existed for years under Law 2251/1994 (Article 3e). What is new is the method: until now a customer could declare withdrawal by email or a standard form; now the store must also provide a dedicated, standardized electronic function inside the eshop itself.
One point worth stating plainly for Greece: the Ministry of Development's bill transposing the Directive (alongside a bundle of other consumer-protection directives) and amending Law 2251/1994 was voted through Parliament in early July 2026. At the time of writing, publication in the Government Gazette (ΦΕΚ) and the assignment of a law number were still pending, and the level of any penalties is set by the transposing law. Either way, the EU application date has already passed and the 14-day right of withdrawal applies regardless — so the practical takeaway is simple: prepare now.
The law in plain language
Who it applies to. Any trader concluding distance contracts with consumers through an online interface, whatever the platform (WooCommerce, Shopify, custom). The new function does not widen the right of withdrawal or change existing exceptions (e.g. made-to-order goods, sealed hygiene items) — it simply mandates a specific way of exercising it.
What the button must do. Under Article 11a, the withdrawal function must:
- Be prominent and easily accessible within the interface, and remain continuously available throughout the withdrawal period.
- Carry a legible label, with the words "withdraw from contract here" or an equivalent, unambiguous formulation.
- Work in two steps: first the consumer completes a withdrawal statement with their name, the details identifying the contract/order, and a means of electronic contact; then they confirm via a second control ("confirm withdrawal").
- Trigger an acknowledgement of receipt on a durable medium (typically email), including the content of the statement and the date and time of submission, without undue delay.
The principle behind all of this is easy to sum up: withdrawing must not be harder than buying. If the customer placed the order in a few clicks, they should be able to withdraw in a few clicks.
The part nobody talks about: what happens after the button is pressed
This is where most articles stop — and where the store's work actually begins. The button receives the statement; it does not process the return. Once you are informed of a withdrawal, specific obligations kick in with a clear deadline:
- Refund within 14 days. Law 2251/1994 (Article 3θ) requires you to refund every amount received, including standard delivery costs, without undue delay and within 14 calendar days at the latest of being informed.
- Same payment method. The refund must use the same means the customer paid with, unless they expressly agree otherwise.
- Right to withhold. For sales of goods — unless you have offered to collect the items yourself — you may withhold the refund until you receive the goods back, or until the customer provides proof of return, whichever comes first.
- Customer returns within 14 days. For their part, the consumer must send the goods back within 14 days of declaring withdrawal.
In practice, a single withdrawal statement sets off a whole chain of work: find the order, check which products are affected, calculate the refundable amount (with or without shipping), decide between refund, coupon or exchange, restock to the right store, and — to be covered in an audit — keep a record. Multiply that by dozens of returns a month and it becomes clear why eshop returns management is where the hours go, not the button.
A practical WooCommerce compliance checklist
Let us be honest about what exists out of the box and what needs work. WooCommerce has no built-in withdrawal button in core — no native function, withdrawal-request flow, or automatic acknowledgement. You need either a dedicated plugin or custom development.
| Requirement | Status in WooCommerce |
|---|---|
| Prominent, permanent withdrawal button | ✗ Needs a plugin or custom code |
| Two-step flow (intent → confirm) | ✗ Part of the plugin/build |
| Automatic email acknowledgement with date/time | ~ WooCommerce sends emails, but this specific notice needs configuring |
| Visibility in the customer's account & orders | ~ A design/placement question |
| Refund processing | ~ Exists, but manually per order |
| Issuing a coupon instead of a refund | ~ Coupons exist, but issuing is manual |
| Restocking to the correct store | ✗ Not covered by core in multi-store setups |
| Returns audit trail | ✗ No structured record |
The takeaway: a plugin can give you the button and the legally required statement flow. What it does not solve is the operational part — actually processing the return after the statement is submitted.
From statement to resolution: the operational gap
This is exactly where ReturnFlow sits. The withdrawal button simply receives the request; ReturnFlow handles the processing, with a guided flow for WooCommerce orders: you find the order, select products, calculate fees and the refund amount, automatically issue a WooCommerce coupon with email or create an exchange order on the origin storefront, and restock to the store you choose. Sensitive actions are PIN-protected and every return leaves a full audit trail, so compliance is a matter of record, not memory.
FAQ
Do I need the button if I already accept withdrawals by email? Yes. Being reachable by email is not enough on its own; the law requires the specific, standardized electronic function inside the interface, with the two-step flow and automatic acknowledgement.
Does the button mean every return is automatically accepted? No. The button concerns how the right is exercised. The existing exceptions in Law 2251/1994 (e.g. made-to-order goods, or sealed items that have been unsealed) still apply.
When must I refund? Without undue delay and within 14 calendar days at the latest of being informed of the withdrawal. For goods, you may withhold the refund until you receive the item back or get proof of return.
Does a plugin fully cover me? A plugin covers the legally required button and statement flow. Processing the return afterwards (calculations, coupons, exchanges, stock, audit trail) is the job of a separate returns-management tool.
This article is informational and does not constitute legal advice. For your store's specific situation, consult a lawyer. The legal framework and transposition status are described as they stood in July 2026.