EU WithdrawalKit for WooCommerce

Description

EU WithdrawalKit for WooCommerce adds an EU withdrawal function, withdrawal button and online withdrawal form for WooCommerce stores handling the right of withdrawal under EU consumer rules.

It provides a structured WooCommerce withdrawal workflow for customer verification, full and partial withdrawals, electronic receipts, product exclusions and evidence records.

The plugin supports the technical workflow around the online withdrawal function introduced by Directive (EU) 2023/2673. It is a technical compliance tool and does not by itself guarantee legal compliance in every Member State or individual case.

The Free plugin includes:

  • EU withdrawal and right-of-withdrawal workflow for WooCommerce stores serving consumers under EU consumer law.
  • Technical country registry for all 27 current EU member states.
  • WooCommerce withdrawal requests for logged-in customers and guests, with order and email verification.
  • Full and partial withdrawal statements with selectable line-item quantities.
  • Electronic statement snapshot and HMAC-SHA256 receipt evidence.
  • Customer and administrator confirmation emails.
  • My Account access, previous-statement history and receipt links.
  • Optional EU withdrawal access link in WooCommerce customer order emails and a selected WordPress navigation menu.
  • Dynamic Gutenberg withdrawal-form block.
  • Product and category exclusions plus consent-based product classifications.
  • IBAN validation plus optional supported local bank-account formats.
  • EU Core and merchant-defined Custom legal text/ruleset configuration.
  • WordPress personal-data exporter/eraser integration and configurable retention controls.
  • Form/history colour, border, radius and width settings.
  • WooCommerce HPOS compatibility.

Submitting a withdrawal statement records the customer’s statement. The Free plugin does not automatically cancel an order, issue a refund, restore stock or legally accept/reject a request.

EU Withdrawal Function for WooCommerce

EU WithdrawalKit is designed for merchants looking for a WooCommerce withdrawal plugin, EU withdrawal button or online right-of-withdrawal form. The plugin provides the workflow behind that entry point rather than treating withdrawal as a single click.

It supports customer identification, item selection, review and confirmation, electronic receipt evidence, deadline handling and product exclusions. The workflow is designed around the online withdrawal-function requirements introduced by Directive (EU) 2023/2673.

EU WithdrawalKit is a technical compliance tool. Store-specific legal wording, product classifications and national implementation requirements remain the merchant’s responsibility.

EU WithdrawalKit Pro

Need more control over withdrawal administration? EU WithdrawalKit Pro adds advanced search and filtering, workflow statuses, status history, CSV exports, bulk workflow actions, and administrator-controlled refund and inventory restoration tools.

Learn more about EU WithdrawalKit Pro

The Pro implementation and licence/update client are not included in this WordPress.org package.

This plugin is a technical implementation tool. It does not provide legal advice and does not guarantee legal compliance in every individual case. Merchants remain responsible for their legal information, product classifications, retention choices and business processes.

Support

For help with the Free plugin, use the EU WithdrawalKit support forum on WordPress.org.

For Pro, licensing or commercial questions, contact Extendivo Extensions.

Privacy

EU WithdrawalKit can store personal data required to receive, verify, document and administer withdrawal statements. It can also store checkout consent evidence when configured product classifications require it.

The plugin registers suggested text with the WordPress Privacy Policy Guide and integrates with the WordPress personal-data exporter and eraser. Automatic statement cleanup is disabled by default. The store operator is responsible for choosing and documenting an appropriate retention policy.

The Free package does not send withdrawal-customer data, licence data or update credentials to an external EU WithdrawalKit service.

Screenshots

Blocks

This plugin provides 1 block.

  • Online Withdrawal Form Displays the EU WithdrawalKit for WooCommerce form.

Installation

  1. Upload the plugin through Plugins > Add New > Upload Plugin, or install it from the WordPress Plugin Directory after publication.
  2. Activate EU WithdrawalKit for WooCommerce.
  3. Open EU WithdrawalKit > Settings and review the withdrawal page, access points, EU Core or Custom ruleset, privacy settings and design options.
  4. Review Form texts, Email settings, Excluded products and Products excludable by consent as required for the store.
  5. The plugin can create and maintain an Online withdrawal statement page automatically. You can also place the form manually with [euwdk_withdrawal_form] or the Online Withdrawal Form block.
  6. Test the complete customer flow on a staging or test order before publishing it to customers.

FAQ

Does this plugin guarantee legal compliance?

No. It provides technical workflow and evidence features. Applicable requirements can depend on the transaction, product or service, contractual information and local implementation of EU law. Have your legal texts and configuration reviewed when appropriate.

Is the plugin limited to one country?

No. The EU Core workflow includes a technical registry for all 27 current EU member states. It does not create separate country-specific legal opinions or legal profiles.

What is the default language?

The source/default language is English. The plugin uses standard WordPress gettext translations, so translations can be supplied through WordPress language packs, PO/MO files or compatible translation tools.

Does submitting a statement cancel the WooCommerce order?

No. Submission records the customer’s statement. It does not automatically cancel the order, refund money or restore stock.

Can guests submit a statement?

Yes. Guest access uses order information and email verification before protected order details are displayed.

Does the Free plugin contact an external licence server?

No. The WordPress.org Free package contains no licence client, protected updater or external licence-validation request.

What personal data can the plugin store?

Depending on the flow, records can contain customer identification and contact data, order references, selected items, messages, refund preference/bank-account details, verification data, consent evidence, timestamps and statement receipt evidence. The plugin integrates with WordPress personal-data export and erasure tools and includes merchant-controlled retention settings.

Does EU WithdrawalKit provide an EU withdrawal button for WooCommerce?

EU WithdrawalKit provides the online withdrawal function and customer-facing access points needed to implement an EU withdrawal button or withdrawal link in WooCommerce. Customers can reach the withdrawal form through supported My Account, WooCommerce email, WordPress menu, shortcode and Gutenberg block entry points.

Does EU WithdrawalKit support Directive (EU) 2023/2673?

EU WithdrawalKit provides technical workflow features related to the online withdrawal function introduced by Directive (EU) 2023/2673, including customer submission, review and confirmation, statement recording and electronic receipt evidence. The plugin does not provide legal advice or guarantee that a store’s complete configuration complies with every applicable national requirement.

Is there a Pro version?

Yes. A separately distributed commercial Pro package adds optional store-administration tools. The Free plugin is complete for receiving, verifying and documenting withdrawal statements and does not contain locked premium implementation code.

Reviews

There are no reviews for this plugin.

Contributors & Developers

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

Contributors

Changelog

1.0.17

  • Removed the customer-facing missing-delivery-date deadline notice while preserving the internal manual-review assessment.
  • Confirmed compatibility with WordPress 7.1.

1.0.16

  • Expanded the Free admin Pro overview with clearer reasons to upgrade, focused on workflow speed, record keeping and administrator-controlled refund/restock actions.
  • Removed remaining country-specific wording from customer-facing bank-account guidance while preserving supported technical validation.
  • Regenerated the translation template for the current release.
  • Aligned the runtime version constant with the 1.0.16 release metadata.

1.0.15

  • Redesigned the Free plugin Pro overview with clearer Free-vs-Pro feature grouping, upgrade guidance and a more readable responsive layout.

1.0.14

  • Removed country-specific wording from the WordPress.org readme so the package documentation remains fully international.

1.0.13

  • Kept the public withdrawal receipt readable with a neutral light receipt surface even when merchants configure dark or strongly coloured form styles.

1.0.12

  • Added percentage or pixel control for the shared frontend form/history width.
  • Percentage mode uses a relative width and defaults to 100%; pixel mode keeps the previous behaviour as a maximum width.
  • Preserved existing saved pixel max-width values when upgrading from earlier releases.

1.0.11

  • Distinguish a definitively expired configured withdrawal period from cases that still require manual deadline review.
  • Disable online withdrawal submission when a reliable recorded start date places the order outside the configured period, while uncertain cases remain reviewable.
  • Show clear My Account order labels when all or some products are excluded from the online withdrawal form.

1.0.10

  • Removed an unused category-based waiver product query that could load all matching product IDs on large catalogues.

1.0.9

  • Document WooCommerce-managed classic checkout nonce verification for consent persistence so security tooling does not report a missing plugin nonce.

1.0.8

  • Converted the remaining custom-table SQL identifiers to WordPress prepared %i placeholders.
  • Tightened nested request sanitization and nonce guards without changing the withdrawal workflow.
  • Documented core/WooCommerce nonce-protected save hooks for static analysis and prefixed uninstall globals.
  • Prepared plugin-owned table identifiers during opt-in uninstall cleanup.

1.0.7

  • Updated the withdrawal-form block to Block API version 3 and raised the minimum WordPress version to 6.3.
  • Hardened custom-table queries with prepared identifier placeholders and simplified the Free admin list queries.
  • Added missing translator notes for placeholder-based strings and tightened output escaping.
  • Replaced timezone-sensitive date() calls while preserving the existing stored date/time semantics.
  • Removed the WordPress 6.7-only translation helper in favour of the existing backward-compatible translation check.

1.0.6

  • Added the native WordPress WooCommerce dependency header while retaining the plugin’s existing runtime compatibility checks.
  • Shortened the plugin header description to follow WordPress.org metadata guidance.
  • Hardened request handling by unslashing and sanitizing or validating admin, settings and withdrawal-flow inputs before use.
  • Updated translation-template metadata for the 1.0.6 Free release.

1.0.5

  • Clarified My Account order-selector wording so withdrawal progress refers to submitted withdrawal statements rather than describing the order itself as withdrawn.
  • Clarified deadline-review, unavailable-item and excluded-product labels in the logged-in order selector.

1.0.4

  • Fixed statement-history desktop table sizing so all columns and the receipt button stay inside the configured content width, including a 700px max-width.
  • Receipt buttons now size to their table cell instead of inheriting the wider general button padding.

1.0.2

  • Force configured button background and label colours across link, visited, hover, focus and active states.
  • Added a separate History header text colour setting.
  • Logged-in order selector now labels Fully withdrawn and Partially withdrawn orders before deadline status; fully withdrawn orders are disabled.

1.0.1

  • Fix output-before-headers issue caused by leading whitespace in the settings class file.

1.0.0

  • Initial WordPress.org Free release of EU WithdrawalKit for WooCommerce.
  • English source language and EUWDK/euwdk-prefixed declarations and storage keys.
  • EU Core workflow, 27-member-state technical registry, customer verification, partial withdrawals and signed statement receipts.
  • My Account, email, Gutenberg, WooCommerce order and privacy integrations.
  • Product exclusions, consent-based classifications, configurable texts and frontend design controls.
  • WordPress.org Free build contains no Pro licence client, protected updater, refund automation, inventory restoration, advanced status workflow, CSV exporter or bulk workflow implementation.