WordPress plugin · WooCommerce · EU consumer law
EasyWithdraw: EU withdrawal button for WooCommerce
In WordPress.org reviewFreeWooCommerce 6.5+ · PHP 7.4+EasyWithdraw is a free WordPress plugin that adds the EU online withdrawal function to WooCommerce: a "Withdraw from contract here" button in My Account, on the order page, in order emails and in the footer; a guest form; a "Confirm withdrawal" step; an acknowledgement email with the date and time; and a timestamped log. It helps you implement Article 11a of the Consumer Rights Directive (added by Directive (EU) 2023/2673, applying from 19 June 2026). It is a tool, not legal advice.
It will be listed at wordpress.org/plugins/easywithdraw/ once WordPress.org approves it. Until then that link shows "not found".
- Platform
- WordPress 6.5+ with WooCommerce, PHP 7.4+. HPOS and cart/checkout blocks compatible
- Status
- Submitted to WordPress.org; slug
easywithdraw - Price
- Free plugin with the full basic withdrawal function. Optional Pro add-on planned (see Pricing)
- Customer side
- Button in My Account, order page, order emails and footer; guest form (order number + email); two-step statement and confirmation; acknowledgement email
- Shop side
- Order note, "Withdrawal requested" status, timestamped log, admin email, configurable window, statuses, excluded categories and labels
- Data
- Stays in your WordPress database and mailbox
- Legal
- A tool, not legal advice
Who it is for
WooCommerce shops that sell to consumers in the EU and need the online withdrawal function required from 19 June 2026, and agencies that set it up for client shops. German, French, Italian, Spanish, Dutch and Polish shops search for it as Widerrufsbutton, bouton de rétractation, pulsante di recesso, botón de desistimiento, herroepingsknop or przycisk odstąpienia od umowy.
What it does
- Shows a "Withdraw from contract here" button for orders inside your withdrawal window (default 14 days after completion; processing and on-hold orders always show it).
- Step 1: the online withdrawal statement, pre-filled with name, order and email, with an optional reason. Step 2: a "Confirm withdrawal" button.
- Sends an acknowledgement email with the content of the statement and the date and time of submission.
- Logs every withdrawal with a timestamp under WooCommerce → Withdrawals and sets the order status to "Withdrawal requested".
- Lets you exclude product categories (for example personalised or perishable goods), change every label, and override templates in your theme.
Quick start
- Install and activate WooCommerce.
- Install EasyWithdraw from Plugins → Add New (once it is on WordPress.org), or upload the zip, and activate it.
- A "Withdraw from contract" page (slug
withdrawal) with the[easywithdraw_form]shortcode is created. You can also use the Withdrawal form block. - Check WooCommerce → Settings → Withdrawal: window, statuses, excluded categories, labels and email texts.
- Optional: add the withdrawal page to your footer menu, or place
[easywithdraw_link]anywhere.
Pricing
The free plugin contains everything needed for the basic withdrawal function. EasyWithdraw Pro is planned but not on sale yet. Planned annual prices:
| Licence | Price per year | Who it is for |
|---|---|---|
| 1 site | $49 | Single shop |
| 5 sites | $99 | Merchants with several stores, small agencies |
| Unlimited sites | $199 | Agencies |
Pro will add official label presets for all 24 EU languages switched by visitor language, partial withdrawal by line item and quantity, CSV export of the log, a refund-request workflow, and a spam shield for the guest form. A 14-day money-back guarantee is planned.
How it compares
There are many withdrawal-button plugins already. Several have more installs and reviews than we do. Install counts and ratings below are WordPress.org's own figures.
| Plugin | Active installs | Rating | Last updated | How it describes itself |
|---|---|---|---|---|
| EasyWithdraw (this) | In review | – | – | Button, guest form, two-step confirmation, acknowledgement email, log; Pro adds 24-language label presets, partial withdrawal, CSV export |
| EU Order Withdrawal Button for WooCommerce (vendidero) | 6,000+ | 4.6 (7) | 3 Nov 2026 | Embeds a withdrawal button in WooCommerce for Directive 2023/2673; from the makers of Germanized |
| EU Withdrawal and Legal Guarantee Compliance | 2,000+ | 5.0 (17) | 29 Oct 2026 | Free EU consumer-rights toolkit: withdrawal function, legal guarantee notice, checkout consents |
| WebToffee EU Order Withdrawal Button | 1,000+ | 5.0 (10) | 30 Oct 2026 | Withdrawal button for the 14-day right of withdrawal |
| EU Withdrawal Button for WooCommerce | 500+ | 5.0 (2) | 6 Jul 2026 | Implements the withdrawal flow in Directive 2023/2673 |
| Withdrawal Button – Easy Return | 400+ | 5.0 (16) | 31 Aug 2026 | Free withdrawal and return process |
| Bitron Right of Withdrawal | 400+ | 5.0 (4) | 23 Sep 2026 | Accessible online withdrawal form |
| Germanized for WooCommerce | 70,000+ | 4.8 (496) | 20 Oct 2026 | Broad German-market legal toolkit, not a withdrawal-only plugin |
If you already run Germanized for the German market, check its own withdrawal features before adding another plugin. Longer write-up: EU withdrawal button plugins for WooCommerce compared.
Frequently asked questions
Does this make my shop compliant?
No plugin can promise that. EasyWithdraw gives you the building blocks the directive describes: a labelled withdrawal function, an online withdrawal statement with name, order and email, a separate confirmation function, and an acknowledgement on a durable medium with the date and time. Whether your setup meets the law in your country is for you and your adviser to decide. This is not legal advice.
When do the rules apply?
Directive (EU) 2023/2673 says member states apply the new rules from 19 June 2026. Check your national implementing law for details.
Which label should I use?
The directive uses "withdraw from contract here" and "confirm withdrawal", or an unambiguous corresponding formulation. EasyWithdraw uses these as defaults, and every label can be changed. Pro includes presets from the official language versions.
Do guests need an account?
No. Guests use the withdrawal page: they enter their order number and the email address of the order. The link in their order emails takes them straight to the statement.
What happens after a customer confirms?
The order gets a note and the status "Withdrawal requested", the statement is saved in the withdrawal log with a timestamp, the customer receives the acknowledgement email and you receive a notification. Refunds and returns are handled by you as usual.
Does it work with HPOS and the checkout block?
Yes. It only uses WooCommerce order APIs and declares compatibility with High-Performance Order Storage and the cart and checkout blocks.
Ist das ein Widerrufsbutton für WooCommerce?
Ja. EasyWithdraw fügt WooCommerce eine Widerrufsfunktion hinzu: einen Widerrufsbutton im Kundenkonto, auf der Bestellseite, in Bestell-E-Mails und im Footer, ein Widerrufsformular auch für Gastbestellungen, eine Bestätigungsschaltfläche und eine Eingangsbestätigung per E-Mail mit Datum und Uhrzeit. Keine Rechtsberatung.
Where is the data stored?
In a table {prefix}easywithdraw_log and in order meta and notes. The withdrawal function sends nothing to external services.
Disclaimer. EasyWithdraw is software that helps you implement a withdrawal function. It is not legal advice and does not guarantee compliance with Directive (EU) 2023/2673, the Consumer Rights Directive or any national law. Check your setup, labels and texts with a qualified adviser.
It will be listed at wordpress.org/plugins/easywithdraw/ once WordPress.org approves it. Until then that link shows "not found".
Last updated 8 November 2026. Questions or corrections: [email protected].