Implementing the EU Order Withdrawal Button in WooCommerce: A Comprehensive Guide

As of June 19, 2026, online merchants selling to consumers in the European Union are legally required to provide a dedicated electronic withdrawal function-commonly known as the “withdrawal button” or “Widerrufsbutton.” This requirement stems from EU Directive 2023/2673, which amends the Consumer Rights Directive 2011/83/EU.

For WooCommerce store owners, this represents a significant compliance obligation. The directive requires that consumers can withdraw from a contract just as easily as they entered into it-quickly, with minimal clicks, through a clear and accessible interface. This article explains the legal background, technical requirements, and implementation options for WooCommerce stores.

TL;DR

  • EU Directive 2023/2673 mandates a “withdrawal button” on all B2C e-commerce sites selling to EU consumers, effective June 19, 2026.
  • WooCommerce does not currently have native support for this feature. An open feature request (#65443) exists, but as of 2026 there is no official roadmap. You need a third-party plugin.
  • The withdrawal function must be prominently displayed, clearly legible, easily accessible throughout the withdrawal period, and include a confirmation step where the consumer reviews and submits the withdrawal.
  • A two-step confirmation process is required in Germany (and recommended generally): the customer clicks the button, reviews their order details, optionally provides refund information, and then explicitly confirms.
  • Non-compliance carries serious consequences. Under German law, failing to provide the correct withdrawal button can extend the consumer’s cooling-off period to up to twelve months.

What Is EU Directive 2023/2673?

Directive (EU) 2023/2673 amends the Consumer Rights Directive 2011/83/EU by adding a new Article 11a, which requires online merchants to provide consumers with an electronic withdrawal function.

The directive is horizontally applicable-it applies to all distance contracts concluded via an online interface that are subject to the right of withdrawal under the Consumer Rights Directive, covering ordinary goods, services, and digital content.

Key Dates and Applicability

DateEvent
December 19, 2025Transposition deadline for EU member states
June 19, 2026National rules apply across EU-27
TBDEEA EFTA states (Iceland, Liechtenstein, Norway) once incorporated

National Implementation

As a directive, 2023/2673 is transposed into each member state’s national law. For example:

  • Germany: Implemented via the new §356a BGB (Omnibus-Umsetzungsgesetz)
  • Slovakia: Implemented via Act No. 102/2014 Coll.
  • France: Enforced by the DGCCRF
  • Netherlands: Enforced by the ACM

Consequences of Non-Compliance

Failing to provide the required withdrawal button can have serious consequences. In Germany, for example, non-compliance can extend the consumer’s cooling-off period to up to twelve months. This means customers could return products long after the standard 14-day withdrawal period has expired.

Functional Requirements

Based on Article 11a of the Consumer Rights Directive and national transpositions, the withdrawal function must meet specific requirements:

1. Visibility and Accessibility

The withdrawal function must be:

  • Prominently displayed and clearly legible
  • Easily accessible from the online interface
  • Continuously available throughout the entire withdrawal period (minimum 14 days)

2. Clear Labeling

The function must use clear, unambiguous labeling-for example:

  • “Withdraw from contract here”
  • “Vertrag widerrufen” (German)
  • “Right of withdrawal”
  • “Withdrawal from contract”

3. Two-Step Confirmation Process

Germany, and many other member states, implement this as an explicit two-step process:

  1. Step 1: The customer clicks the withdrawal button, triggering a form that displays their order details
  2. Step 2: The customer reviews the information, optionally provides refund bank account details and a reason, and explicitly confirms the withdrawal

4. Order Identification

The withdrawal interface must collect data needed to identify the contract/order. Only strictly necessary data may be requested. This typically includes:

  • Order number
  • Customer email address

5. Acknowledgment of Receipt

After submission, the merchant must:

  • Acknowledge receipt without undue delay
  • Record the date of withdrawal (and, per German guidance, the time)
  • Provide the acknowledgment on a durable medium (e.g., email)
  • Send confirmation emails to both the merchant and customer

6. Guest Customers

The withdrawal function must be available to both registered and guest customers. Guest customers should be able to submit withdrawal requests without being forced to create an account. After submission, guest customers receive an email with a link where they can select the items they wish to withdraw.

WooCommerce Implementation Status

Native Support: Not Available

As of 2026, WooCommerce does not have native support for the EU withdrawal button. There is an open feature request on GitHub (Issue #65443) requesting native implementation, but there is currently no official roadmap.

The GitHub issue, opened by a contributor, requests that WooCommerce provide this as a native, configurable feature, stating that “relying on regional third-party plugins is not adequate for an EU-wide statutory obligation that applies to the majority of European WooCommerce merchants”.

The Gap

WooCommerce stores need a compliant withdrawal function that includes:

  • A prominent withdrawal button
  • A structured withdrawal form
  • Two-step confirmation
  • Item-level detail selection (optional)
  • Automatic email acknowledgments
  • A dedicated order status for pending withdrawal requests
  • A tamper-evident log of withdrawal attempts

None of this is provided out of the box.

Implementation Options

Option 1: Use a WordPress Plugin

Since WooCommerce lacks native support, a plugin is the most practical solution. Multiple free and paid plugins are available from the WordPress repository.

PluginKey FeaturesBest For
EU Order Withdrawal Button (Vendidero)Shortcode-based form, guests + registered, admin view for confirm/reject, partial withdrawalsMost stores; actively maintained by Vendidero
Germanized (Vendidero)Full suite including withdrawal button, legal pages, checkout complianceGerman stores already using Germanized
WebToffee EU Order Withdrawal ButtonOrder dropdown, item selection, guest supportStores needing structured withdrawal workflow
Purchase Contract Withdrawal ButtonTwo-step submission, refund bank account, reasonStores needing detailed withdrawal forms
EU2673 Withdrawal ButtonOne-click withdrawal, automatic acknowledgment emailSimple, lightweight implementations

Plugin Installation Steps

  1. Navigate to WordPress Admin > Plugins > Add New
  2. Search for the plugin name (e.g., “EU Order Withdrawal Button for WooCommerce”)
  3. Click Install Now and then Activate

Option 2: Use Germanized (Vendidero)

If you are already using the Germanized plugin for WooCommerce, the new withdrawal feature is included starting with version 4.0. You do not need to install a separate plugin.

Find all settings under:WooCommerce > Settings > Germanized > General > Withdrawal Button

Option 3: Custom Development

For stores with specific requirements, custom development is possible. However, this approach requires:

  • Deep understanding of the legal requirements
  • Integration with WooCommerce’s order system
  • Handling of guest users
  • Email notification systems
  • Compliance auditing

Given the complexity and legal stakes, a plugin is generally the more reliable and cost-effective approach.

Step-by-Step Implementation Guide

Step 1: Install and Activate a Plugin

For this guide, we’ll use the Vendidero plugin as an example:

  1. Go to WordPress Admin > Plugins > Add New
  2. Search for “EU Order Withdrawal Button for WooCommerce”
  3. Click Install Now and then Activate

Step 2: Configure Settings

Navigate to WooCommerce > Settings > Advanced > Withdrawals to manage your settings.

Key configuration options include:

  • Withdrawal period: Set between 7 and 365 days (EU standard is 14 days)
  • Button appearance: Customize the button text and styling
  • Email templates: Configure confirmation emails for customers and admins

Step 3: Publish the Withdrawal Page

Once the plugin is installed, a new withdrawal page is created as a draft. You need to:

  1. Review the page content
  2. Click Publish to make it accessible to customers

Step 4: Add the Withdrawal Button to Your Store

To comply with the directive, you must include a prominent link to the withdrawal page:

Option A: Footer Embedding (Automatic)

  • Enable the option to embed the withdrawal button in the footer within the plugin settings
  • This automatically inserts the button into your footer

Option B: Manual Embedding

  • If your theme’s footer display is not ideal, disable the automatic embedding option
  • Instead, embed the button manually via your theme:
    • For traditional themes: Edit WP Admin > Appearance > Menus
    • For full-site-editing themes: Edit Appearance > Editor
  • Add a new menu item linking to the withdrawal page
  • Visually highlight the menu item-your theme likely provides design elements for this purpose
  • Assign special classes (e.g., btn, button) when editing the menu-enable CSS Classes under Screen Options > Show Advanced Menu Properties

Option C: Widget Area

  • Some themes (e.g., Astra) provide widget areas in the footer
  • Simply add a button block and link it to the withdrawal page

Step 5: Test the Complete Flow

You should go through the process yourself by placing a test order and testing all settings and email delivery:

  1. Place a test order (as both a registered and guest customer)
  2. Locate the withdrawal button in My Account or via the withdrawal page
  3. Submit a withdrawal request
  4. Verify that:
    • Both you and the customer receive confirmation emails
    • The order status updates correctly (dedicated order status for pending requests)
    • The withdrawal is properly recorded

Step 6: Ongoing Maintenance

  • Monitor pending withdrawal requests via the dedicated order status
  • Process withdrawal requests promptly
  • Keep the plugin updated for legal and technical changes
  • Test the flow periodically, especially after theme or plugin updates

Plugin Comparison: Key Considerations

FeatureWhy It Matters
Guest customer supportRequired by law-you cannot force customers to create accounts
Two-step confirmationRequired in Germany; recommended best practice
Item-level selectionAllows partial withdrawals
Email confirmationsRequired for durable medium acknowledgment
Admin dashboardTrack and process incoming requests efficiently
HPOS compatibilityEnsures compatibility with WooCommerce’s High-Performance Order Storage
Tamper-evident logProvides audit trail for compliance

Common Challenges and Solutions

ChallengeSolution
Theme compatibilityIf the automatic footer embedding doesn’t display correctly, use manual embedding
Guest user withdrawalsUse a plugin that supports guest withdrawals via email verification
Partial withdrawalsChoose a plugin that offers item-level selection
Email delivery failuresConfigure SMTP for reliable email delivery
Plugin conflictsTest thoroughly; use HPOS-compatible plugins
Multi-language supportChoose a plugin with translation support or use WPML/Polylang

Key Takeaways

  1. The EU withdrawal button is mandatory from June 19, 2026, for all WooCommerce stores selling to EU consumers.
  2. WooCommerce does not have native support for this feature. An open feature request (#65443) exists, but there is no official roadmap.
  3. Third-party plugins are the practical solution. Multiple free plugins are available from the WordPress repository.
  4. The withdrawal function must be prominently displayed, clearly legible, and continuously available throughout the withdrawal period.
  5. A two-step confirmation process is required in Germany (and recommended generally).
  6. Guest customers must be supported-you cannot force them to create accounts.
  7. Email confirmations are required on a durable medium, recording the date and time of withdrawal.
  8. Non-compliance has serious consequences, including extended cooling-off periods of up to twelve months.

Conclusion

EU Directive 2023/2673, effective June 19, 2026, mandates that all WooCommerce stores selling to EU consumers provide a dedicated withdrawal button. This is not optional-it is a legal requirement with serious consequences for non-compliance.

WooCommerce does not currently offer native support for this feature. An open feature request exists, but as of 2026, there is no official roadmap. The practical solution is to install a third-party plugin from the WordPress repository.

When implementing the withdrawal button, ensure it is prominently displayed, supports both registered and guest customers, includes a two-step confirmation process, and sends email confirmations on a durable medium. Test the complete flow thoroughly and monitor pending withdrawal requests via the dedicated order status.

Resources

Need help implementing the EU withdrawal button in your WooCommerce store? Playful Sparkle has been engineering digital products since 2004, offering Web Development, WooCommerce development, and legal compliance consulting. Our team can help you select, install, and configure a compliant withdrawal button solution. Contact us to discuss how we can help you achieve EU compliance.

Was this helpful - Post
Zsolt Oroszlány

Zsolt Oroszlány

Founder & Chief Creative Officer of Playful Sparkle since 2004, combining business leadership, digital strategy, design, and software engineering to help organizations build effective digital solutions. Regularly publishes insights on web development, SEO, design, and emerging technologies.