Plugin configuration
A written setup scope for your store, theme and current plugin stack.
Request configurationWithdraw
Withdraw gives customers a clear way to withdraw from a distance contract, in line with EU Directive 2023/2673 (Art. 11a). The customer looks up the order, picks items and quantities, and the shop gets a logged request with an email and a status. You process any refund yourself, in the normal order screen.
Works with
EU Directive 2023/2673 asks for an easy withdrawal function in the shop, not an email address buried in the terms. Without one, withdrawal notices arrive by email, mix with the rest of the inbox and nobody knows which have been handled.
The complete withdrawal function: form, My Account button, request log and emails.
The `[withdraw_form]` shortcode renders a two-step form: look up an order by number and billing email, then select items and submit the declaration.
The customer chooses how many of each item to withdraw from and can add a reason.
A Withdraw from this order button appears under the order details and links to your withdrawal page with the order pre-filled.
Configurable from 1 to 365 days (statutory minimum 14), measured from order completion or, if never completed, from the order date.
A WooCommerce > Withdrawal Requests screen lists every request with its items, customer and one of four statuses, filterable by status.
An automatic confirmation to the customer and a notification to the shop at the address you choose.
The form intro and the model withdrawal text (Annex I.B) are edited in the settings.
The order-number plus billing-email lookup works without an account; orders are read through the HPOS-compatible WooCommerce order API.
A page with the shortcode and a minute in the settings is enough.
Activate Withdraw alongside WooCommerce.
Create a page with the [withdraw_form] shortcode and select it under WooCommerce > Withdrawal, so the My Account button has somewhere to link.
Choose the withdrawal period, eligible order statuses, the notification email and the legal texts.
Stores selling to EU consumers that want withdrawals in one place instead of the inbox.
The store gets a visible withdrawal function matching the model in Directive 2023/2673: the customer declares, the trader acts.
A customer without an account looks up the order by number and billing email and submits the declaration.
Each request has items, a date and a status, and you refund deliberately in the order screen.
Every plugin has its own documentation with setup walkthroughs. Bugs and questions go to the public GitHub repository for that plugin, we answer in the open.
Maintenance status
This plugin is maintained. We have announced no end-of-support date, and when we do it will say so here and in a release.
Send the store context in writing. You will receive a scoped recommendation, without a sales call.
A written setup scope for your store, theme and current plugin stack.
Request configurationCheck the plugin against checkout, HPOS, blocks, theme code and critical integrations.
Request an auditA scoped connector or extension when the standard plugin stops short of your workflow.
Describe the integrationYour email is used to answer this request only. Marketing messages require a separate, explicit opt-in.
No. Withdraw records the withdrawal declaration and tracks its status, and you process any refund in the normal WooCommerce order screen. That matches the legal model: the customer declares, the trader acts.
Yes. Customers look up their order with the order number and the billing email used at checkout, so no account is needed.
From the order completion date (a delivery proxy) or, if the order was never completed, from the order date. You set the length in the options, from 1 to 365 days, with a statutory minimum of 14 days.
Yes. The form lists the order items with quantity fields, so the declaration can cover the whole order or selected units.
No. The plugin provides the technical withdrawal function and editable texts. Adapt the period and wording to your jurisdiction and the statutory model withdrawal form.
Yes. Orders are read through the WooCommerce order API, which is HPOS-compatible.
A withdrawal form, a My Account button, a request log and emails. The full FREE edition under GPL.
Get it on WordPress.orgThe free edition is the complete withdrawal function, with no account and no external service.