Title: W3S EU Withdrawal Request for WooCommerce
Author: w3specialists.com
Published: <strong>July 24, 2026</strong>
Last modified: July 24, 2026

---

Search plugins

![](https://ps.w.org/w3s-eu-withdrawal-request-for-woocommerce/assets/banner-772x250.
png?rev=3621231)

![](https://ps.w.org/w3s-eu-withdrawal-request-for-woocommerce/assets/icon-256x256.
png?rev=3621166)

# W3S EU Withdrawal Request for WooCommerce

 By [w3specialists.com](https://profiles.wordpress.org/w3specialists/)

[Download](https://downloads.wordpress.org/plugin/w3s-eu-withdrawal-request-for-woocommerce.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/w3s-eu-withdrawal-request-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/w3s-eu-withdrawal-request-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/w3s-eu-withdrawal-request-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/w3s-eu-withdrawal-request-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/w3s-eu-withdrawal-request-for-woocommerce/)

## Description

Implements the withdrawal (“cancellation”) function required by Directive (EU) 2023/
2673, on top of the consumer right of withdrawal in Directive 2011/83/EU: 14 calendar
days from receipt, a guest-accessible withdrawal form, and a complete admin workflow.

 * **Guest-accessible public form** — order number + email _or phone_ lookup (rate-
   limited; orders of registered customers also match their account email), line
   items shown with thumbnail / SKU / variation attributes, EU Annex I.B fields,
   an optional reason, a refund IBAN asked only on bank-transfer orders (stored 
   encrypted, masked in the UI), a two-step confirmation, an acknowledgment email
   to the customer (durable medium), a merchant notification (with configurable 
   recipients) and an order note.
 * **My Account** — a “Withdrawal / Order Cancellation” action on eligible orders
   opens the pre-filled withdrawal form.
 * **Admin panel** — a list of all requests with status / type / date filters; an
   approve / reject / close workflow with order notes and status-specific customer
   emails (accepted / rejected / completed); an optional decision reasoning that
   is stored, shown to the customer and available in emails via `{admin_reason}`;
   a CSV export honoring the active filters (masked IBANs); custom order statuses“
   Withdrawal requested” / “Withdrawal completed”; refunds via the native WooCommerce
   refund UI.
 * **Configurable withdrawal window** — start point is the completion date (falling
   back to paid, then created) or the order creation date.
 * **Configurable eligible statuses** — the withdrawal action appears only on the
   order statuses you choose (Completed by default).
 * **Emails with product tables** — the `{items_table}` placeholder renders thumbnails
   + SKU in WooCommerce-styled emails; `{items}` stays plain text.
 * **Requests stored in dedicated custom tables** (dbDelta), not post meta.
 * **English source, translation-ready** — every string uses the `w3s-eu-withdrawal-
   request-for-woocommerce` text domain, and a complete Greek translation ships 
   in `languages/`.
 * **HPOS-compatible** — declares `custom_order_tables` compatibility and uses the
   WooCommerce order CRUD exclusively.
 * **Privacy tools** — a personal-data exporter and eraser for stored request data.

**Note:** the encrypted IBAN key derives from the site’s `AUTH` salts; rotating 
the salts makes previously stored IBANs unreadable.

#### Pro edition

The Pro edition adds a product **exclusion engine** for made-to-order / personalised
goods (Article 16(c) of Directive 2011/83/EU):

 * exclusion rules by attribute / brand / category / tag or by individual product
   ID (parent categories cascade to their children);
 * a per-product “Exclude from withdrawal” checkbox on the product edit screen;
 * a checkout consent gate that appears only when the cart contains an excluded 
   item, blocks checkout (classic and block / Store API) until the customer accepts,
   and stores proof of consent on the order (UTC timestamp, the exact text and a
   SHA-256 hash);
 * excluded-item handling on the withdrawal form and multilingual (WPML / Polylang)
   term and product coverage.

The free and Pro editions share the same stored data, so installing Pro keeps all
of your settings, texts, requests and consent records and simply unlocks the exclusions
feature. Contact sales@w3specialists.com.

## Screenshots

[⌊General settings — withdrawal period and its starting point, eligible order statuses,
the withdrawal form page and the automatic order-status changes.⌉⌊General settings—
withdrawal period and its starting point, eligible order statuses, the withdrawal
form page and the automatic order-status changes.⌉[

General settings — withdrawal period and its starting point, eligible order statuses,
the withdrawal form page and the automatic order-status changes.

[⌊Texts — every customer-facing label and message is editable, shown in the site
language and translatable via WPML / Polylang.⌉⌊Texts — every customer-facing label
and message is editable, shown in the site language and translatable via WPML / 
Polylang.⌉[

Texts — every customer-facing label and message is editable, shown in the site language
and translatable via WPML / Polylang.

[⌊Emails — templates for the customer acknowledgment, the store notification and
the status-change emails, with rich placeholders like {items_table}.⌉⌊Emails — templates
for the customer acknowledgment, the store notification and the status-change emails,
with rich placeholders like {items_table}.⌉[

Emails — templates for the customer acknowledgment, the store notification and the
status-change emails, with rich placeholders like {items_table}.

[⌊Product exclusions (made-to-order / personalised goods under Article 16(c)) are
available in the Pro edition.⌉⌊Product exclusions (made-to-order / personalised 
goods under Article 16(c)) are available in the Pro edition.⌉[

Product exclusions (made-to-order / personalised goods under Article 16(c)) are 
available in the Pro edition.

## Installation

 1. Upload the `w3s-eu-withdrawal-request-for-woocommerce` folder to `/wp-content/plugins/`,
    or install it from Plugins  Add New.
 2. Activate the plugin. A public page “Withdrawal Form” containing the `[w3s_eu_withdrawal_request_form]`
    shortcode is created automatically.
 3. Review W3Specialists  EU Withdrawal Request (general options, texts, emails). The
    requests list lives under WooCommerce  Withdrawals.
 4. On multilingual sites (WPML / Polylang), translate the form page; admin-entered
    texts and emails are registered for translation via `wpml-config.xml`.

## FAQ

### Does this plugin exclude made-to-order products from the right of withdrawal?

Excluding made-to-order / personalised products (Article 16(c) of Directive 2011/
83/EU) is a feature of the Pro edition. The free edition treats every product as
covered by the right of withdrawal. See the “Exclusion (PRO Feature)” tab on the
settings screen, or contact sales@w3specialists.com.

### Is the withdrawal form accessible without an account?

Yes. Customers look up their order by its order number and their email or phone;
registered customers can also use their account email. Lookups are rate-limited.

### Is it compatible with HPOS (High-Performance Order Storage)?

Yes. The plugin declares `custom_order_tables` compatibility and uses the WooCommerce
order CRUD exclusively.

### In which languages is it available?

The source language is English and a complete Greek translation is bundled. Additional
languages can be contributed via the plugin text domain `w3s-eu-withdrawal-request-
for-woocommerce`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“W3S EU Withdrawal Request for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ w3specialists.com ](https://profiles.wordpress.org/w3specialists/)

[Translate “W3S EU Withdrawal Request for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/w3s-eu-withdrawal-request-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/w3s-eu-withdrawal-request-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/w3s-eu-withdrawal-request-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/w3s-eu-withdrawal-request-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/w3s-eu-withdrawal-request-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial public release: guest-accessible EU withdrawal form, My Account action,
   admin request management with CSV export, custom order statuses, a configurable
   withdrawal window and eligible statuses, configurable store-notification recipients,
   an encrypted refund IBAN, privacy exporter / eraser, and HPOS compatibility. 
   English source with a bundled Greek translation.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [eu](https://wordpress.org/plugins/tags/eu/)[GDPR](https://wordpress.org/plugins/tags/gdpr/)
   [right of withdrawal](https://wordpress.org/plugins/tags/right-of-withdrawal/)
   [withdrawal](https://wordpress.org/plugins/tags/withdrawal/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/w3s-eu-withdrawal-request-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/w3s-eu-withdrawal-request-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/w3s-eu-withdrawal-request-for-woocommerce/reviews/)

## Contributors

 *   [ w3specialists.com ](https://profiles.wordpress.org/w3specialists/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/w3s-eu-withdrawal-request-for-woocommerce/)