Revocation Button – Implementing EU Directive 2023/2673 (§356a BGB)
Description
Highlights
- Effective June 19, 2026 – technical implementation of EU Directive 2023/2673 / §356a BGB
- Secure two-step withdrawal with preview and legally binding confirmation
- Full guest access without login – no customer account required (as outlined in the directive)
- Captcha protection: Honeypot, image captcha, and Google reCAPTCHA v2/v3
- Flow Builder integration with automatic confirmation and notification emails
Features
- Configurable revocation period (default 14 days, from shipping or order date)
- Custom “revoked” order state with full state machine integration
- Automatic form prefill for logged-in customers with order selection
- Captcha protection for guests: Honeypot, image captcha, Google reCAPTCHA v2 and v3
- Optional revocation link in order confirmation emails
- Internal email notification for new revocations
- CMS block element for flexible page integration (Shopping Experiences)
- Multiple button styles and custom CSS for individual styling
- Revocation management directly on the admin order detail page
- Bilingual (German & English) with complete email templates
About the Extension
Mandatory from June 19, 2026: Your Shop Needs a Revocation Button
EU Directive 2023/2673 (implemented as §356a BGB) requires all online shops to provide customers with a simple, digital way to exercise their right of withdrawal. The revocation button must be as easy to find and recognize as the order button.
The Solution: Digital Withdrawal in a Few Clicks
The Revocation Button plugin adds a complete digital withdrawal process to your Shopware shop. Customers can submit their revocation online – whether logged in or as a guest without a customer account. Guest access is legally required and included by default.
Secure Two-Step Process
The plugin implements a secure two-step process:
- Step 1 – Form: The customer enters their name, email, order number, and an optional comment. For logged-in customers, data is automatically prefilled and revocable orders are displayed.
- Step 2 – Confirmation: All details are summarized. The customer must explicitly confirm their legally binding withdrawal declaration.
After confirmation, the order automatically transitions to the "revoked" state, the timestamp is documented, and a confirmation email is sent.
Captcha Protection Against Abuse
The form is protected for guest users by all Shopware captcha types:
- Honeypot – Invisible spam protection without user interaction
- Image captcha – Classic captcha with security code
- Google reCAPTCHA v2 – "I'm not a robot" checkbox
- Google reCAPTCHA v3 – Invisible score-based validation
The captchas activated in your shop are used automatically.
Flexible Placement
Place the revocation button exactly where your customers expect it:
- Customer account menu – Link in the sidebar and header dropdown
- Shop footer – Accessible for all visitors, including guests
- Order list & order detail – Direct revocation button next to each eligible order
- CMS element – Drag-and-drop block for your Shopping Experiences layouts
All placements automatically respect the configured revocation period and hide the button for expired or already revoked orders.
Flow Builder & Email Templates
The plugin registers a custom "Revocation submitted" event in the Flow Builder. During installation, the following are automatically created:
- Customer confirmation email – Bilingual (DE/EN) with complete withdrawal declaration
- Internal notification – Optional to a configurable email address
- Revocation link in order confirmation – Optionally appended to every order confirmation email
All email templates are fully customizable.
Administration
- View revocation details directly on the order detail page
- Custom "revoked" order state with full state machine transitions
- Configure revocation period, button placement, and styling per sales channel
Mandatory from June 19, 2026: Your Shop Needs a Revocation Button
EU Directive 2023/2673 (implemented as §356a BGB) requires all online shops to provide customers with a simple, digital way to exercise their right of withdrawal. The revocation button must be as easy to find and recognize as the order button.
The Solution: Digital Withdrawal in a Few Clicks
The Revocation Button plugin adds a complete digital withdrawal process to your Shopware shop. Customers can submit their revocation online – whether logged in or as a guest without a customer account. Guest access is legally required and included by default.
Secure Two-Step Process
The plugin implements a secure two-step process:
- Step 1 – Form: The customer enters their name, email, order number, and an optional comment. For logged-in customers, data is automatically prefilled and revocable orders are displayed.
- Step 2 – Confirmation: All details are summarized. The customer must explicitly confirm their legally binding withdrawal declaration.
After confirmation, the order automatically transitions to the "revoked" state, the timestamp is documented, and a confirmation email is sent.
Captcha Protection Against Abuse
The form is protected for guest users by all Shopware captcha types:
- Honeypot – Invisible spam protection without user interaction
- Image captcha – Classic captcha with security code
- Google reCAPTCHA v2 – "I'm not a robot" checkbox
- Google reCAPTCHA v3 – Invisible score-based validation
The captchas activated in your shop are used automatically.
Flexible Placement
Place the revocation button exactly where your customers expect it:
- Customer account menu – Link in the sidebar and header dropdown
- Shop footer – Accessible for all visitors, including guests
- Order list & order detail – Direct revocation button next to each eligible order
- CMS element – Drag-and-drop block for your Shopping Experiences layouts
All placements automatically respect the configured revocation period and hide the button for expired or already revoked orders.
Flow Builder & Email Templates
The plugin registers a custom "Revocation submitted" event in the Flow Builder. During installation, the following are automatically created:
- Customer confirmation email – Bilingual (DE/EN) with complete withdrawal declaration
- Internal notification – Optional to a configurable email address
- Revocation link in order confirmation – Optionally appended to every order confirmation email
All email templates are fully customizable.
Administration
- View revocation details directly on the order detail page
- Custom "revoked" order state with full state machine transitions
- Configure revocation period, button placement, and styling per sales channel
Details
- Available: English, German
- Latest update: 26 June 2026
- Publication date: 16 April 2026
- Version: 4.4.10
- Category: Customer account
Resources
Reviews (11)
Average rating of 4.95 out of 5 stars
Erfüllt die neue Regelung vollumfänglich
Average rating of 5 out of 5 stars
About the Extension Partner
J&G Agency GmbH
Partner Status
-
Shopware
Extension Partner
Details
-
Ø-Rating:
5
Average rating of 5 out of 5 stars
- Partner since: 2025
- Extensions: 5
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly
Installation
- Install the plugin via the Shopware Administration under Extensions > My Extensions
- Activate the plugin
- Navigate to Extensions > My Extensions > Revocation Button > Configuration
Configuration
Revocation Settings
- Revocation Period (Days): Set the number of days customers have to submit a revocation after placing an order. Default: 14 days.
- Internal Notification Email: Optionally enter an email address to receive notifications about new revocations.
- Fallback Contact Hint: Display a help text on the revocation form for customers who cannot find their order number. Supports HTML.
Button Placement
- Show in Account Menu: Displays a revocation link in the customer account sidebar.
- Show in Footer: Adds a revocation button to the shop footer, accessible without login.
- Show in Order List: Adds a button next to each order in the customer order history.
- Show on Order Detail: Adds a button on the individual order detail page.
Button Appearance
- Choose from: Primary, Secondary, Outline Primary, or Outline Secondary styles.
Flow Builder
A default flow "Revocation confirmation email" is automatically created during installation. You can customize it under Settings > Shop > Flow Builder.
4.4.10
The internal withdrawal cancellation notification sent to the merchant now uses the revoking customer’s email address as the reply-to address, so you can reply to the customer directly from the email.
1.4.10
Revocation can now be disabled not only for customer groups, but also via Rule Builder rules, freely combinable — ideal for cases like “customers outside the EU.”
2.4.9
Revocation can now be disabled not only for customer groups, but also via Rule Builder rules, freely combinable — ideal for cases like “customers outside the EU.”
1.4.9
New option "Invoice date" for the start of the period: the withdrawal period then begins on the date of the order's invoice document (if no invoice exists yet, the order cannot be withdrawn), and the help text for the start of the period now explains all three options in more detail.
2.4.8
New option "Invoice date" for the start of the period: the withdrawal period then begins on the date of the order's invoice document (if no invoice exists yet, the order cannot be withdrawn), and the help text for the start of the period now explains all three options in more detail.
3.4.8
New option "Invoice date" for the start of the period: the withdrawal period then begins on the date of the order's invoice document (if no invoice exists yet, the order cannot be withdrawn), and the help text for the start of the period now explains all three options in more detail.
3.4.9
Revocation can now be disabled not only for customer groups, but also via Rule Builder rules, freely combinable — ideal for cases like “customers outside the EU.”
4.4.9
The right of withdrawal can now also be disabled via Rule Builder rules in addition to customer groups, and the two can be combined freely — ideal for cases such as "customers outside the EU".
4.4.8
Orders can now also be cancelled starting from the invoice date: New option “Invoice date” for the start of the cancellation period (without an existing invoice, the order cannot be cancelled).
1.4.8
1.4.7
A `TypeError` was fixed that caused the cancellation page to crash with “Sorry, something went wrong” as soon as another plugin (e.g. NetInventors PurchaseBlocker) replaced Shopware’s `product.repository` with its own decorator — the plugin now accepts this repository regardless of its type.
2.4.7
A `TypeError` was fixed that caused the cancellation page to crash with “Sorry, something went wrong” as soon as another plugin (e.g. NetInventors PurchaseBlocker) replaced Shopware’s `product.repository` with its own decorator — the plugin now accepts this repository regardless of its type.
3.4.7
A `TypeError` was fixed that caused the cancellation page to crash with “Unfortunately, something went wrong” as soon as another plugin — for example, NetInventors PurchaseBlocker — replaced Shopware’s `product.repository` with its own decorator. The plugin now accepts this repository regardless of its type.
4.4.7
A `TypeError` was fixed that caused the cancellation page to crash with “Sorry, something went wrong” as soon as another plugin, such as NetInventors PurchaseBlocker, replaced Shopware’s `product.repository` with its own decorator — the plugin now accepts this repository regardless of its type.
1.4.6
The switch “Check cancellation period” has been added, and it is enabled by default. It allows the period check to be disabled so that cancellations can be accepted regardless of the 14-day period, with validity checked manually afterward, for example based on tracking data.
1.4.5
The privacy/consent link in the withdrawal form has been revised so that new installations open a full-page privacy policy by default, while it remains possible to choose between full-page and modal links. `cms://` links now work correctly as modals again, and the link in the confirmation email is now set as an absolute URL, while existing shops remain unchanged.
1.4.4
A new switch, **“Show as informational text only,”** allows consent entries to be displayed purely as information without a checkbox. Nothing is checked or saved as consent, and the required field for this is disabled.
2.4.6
A switch labeled **“Check revocation period”** has been added, which is enabled by default and allows the deadline check to be turned off. This means revocations can be accepted regardless of the 14-day period, and their validity can then be reviewed manually afterward, for example based on tracking data.
2.4.5
The privacy/consent link in the withdrawal form was revised so that new installations open a full-page privacy page by default, while still allowing a choice between full-page and modal links; `cms://` links now work correctly as modals again, and the link in the confirmation email is now set as an absolute URL, while existing shops remain unchanged.
2.4.4
A new toggle, “Display as informational text only,” makes it possible to present consent entries purely for information purposes without a checkbox, so nothing is checked or stored as consent, and the required field for this is disabled.
3.4.6
The toggle “Check withdrawal period” was added (enabled by default), which allows you to disable the deadline check so that withdrawals can be accepted regardless of the 14-day period, and their validity can be checked manually afterward (e.g., based on tracking data).
3.4.5
In the withdrawal form, the privacy/consent link was revised so that new installations open the privacy page as a full-page link by default, both full-page and modal links can still be chosen, `cms://` links now work correctly as modals again, and the confirmation email now uses an absolute URL, while existing shops remain unchanged.
3.4.4
A new switch, “Display as informational text only,” allows consent entries to be shown without a checkbox as purely informational content, with nothing selectable or stored as consent and the required-field option disabled for these entries.
4.4.6
4.4.5
The privacy link on the revocation form now opens the privacy page as a normal page in a new tab by default (modal still available via cms://), the modal works correctly again, and the link in the confirmation e-mail is now an absolute, full-page URL.
4.4.4
- Checkboxes are designed to be hidden to allow for notes in the form without a checkbox
1.4.3
- Fixed MySQL 8.4 incompatibility
2.4.3
- Fixed MySQL 8.4 incompatibility
3.4.3
- Fixed MySQL 8.4 incompatibility
4.4.3
- Fixed MySQL 8.4 incompatibility
1.4.2
- If order number validation is disabled in the configuration, the order number is no longer a required field in the form either
2.4.2
- If order number validation is disabled in the configuration, the order number is no longer a required field in the form either
4.4.2
- If order number validation is disabled in the configuration, the order number is no longer a required field in the form either
3.4.2
- If order number validation is disabled in the configuration, the order number field in the form is no longer required
1.4.1
- By default, the unsubscribe button is displayed again during checkout. You can now choose in the plugin settings whether to show or hide the unsubscribe button in the checkout footer.
2.4.1
- By default, the unsubscribe button is displayed again during checkout. You can now choose in the plugin settings whether to show or hide the unsubscribe button in the checkout footer.
4.4.1
- By default, the unsubscribe button is displayed again during checkout. You can now choose in the plugin settings whether to show or hide the unsubscribe button in the checkout footer.
3.4.1
- By default, the unsubscribe button is displayed again during checkout. You can now choose in the plugin settings whether to show or hide the unsubscribe button in the checkout footer.
1.4.0
- New feature: Disable cancellation for customer groups
2.4.0
- New feature: Disable cancellation for customer groups
3.4.0
- New feature: Disable cancellation for customer groups
4.4.0
- New feature: Disable cancellation for customer groups
3.3.9
We fixed an issue where emails were not being sent to customers or the workflow was not initialized if the store had not enabled the message queue.
1.2.7
We fixed an issue where emails were not being sent to customers or the workflow was not initialized if the store had not enabled the message queue.
2.2.6
A bug has been fixed where emails were not sent to customers or the flow was not initialized if the shop had not enabled the message queue.
1.2.6
Internal notifications can now be sent to multiple email addresses, or multiple email addresses can be specified in the plugin configuration.
2.2.5
Internal notifications can now be sent to multiple email addresses, or multiple email addresses can be specified in the plugin configuration.
4.3.4
We fixed an issue where emails were not being sent to customers or the workflow was not initialized if the store had not enabled the message queue.
4.3.3
You can now specify multiple email addresses for the internal recall email
0.0.1
- Compatibility with Shopware 6.3.x
3.3.8
- You can now specify multiple email addresses for internal cancellation notifications
1.2.5
- Form validation made optional and WAWI fields added
2.2.4
- Form validation made optional and WAWI fields added
3.3.7
- Form validation made optional and WAWI fields added
1.2.4
- Corrections to the template for Themeware themes
2.2.3
- Corrections to the template for Themeware themes
3.3.6
- Template fix for Themeware themes
4.3.2
- Template fix for Themeware themes
1.2.3
- Customer email problem resolved
4.3.1
- The tag that is set on revocation is also taken into account when checking whether an order counts as revoked. This prevents multiple revocations of the same order.
4.3.0
Configurable form validation: Validation of the order number and email address can now be disabled if needed. Additionally, the order number field can optionally be validated against another custom field—in this case, both the Shopware order number and the value stored in the custom field are accepted as valid inputs for the cancellation. One use case is, for example, the integration of an ERP system that stores the external order number in the Shopware order via a custom field. Customers who receive only the ERP order number in the ERP order confirmation can still easily process the cancellation.
1.2.2
- Improvement of the plugin
2.2.2
- Small improvements
3.3.5
- Small improvements
4.2.4
- Fixed an error that caused problems when the user tried to revoke an order when logged in
3.3.4
- Fixed a bug where the revocation had issues when logged in
4.2.3
- Hide the revoke button in the footer during the checkout process
1.2.1
- Bug fixing and feature improvement
2.2.1
- Bug fixing and feature improvement
3.3.3
- Bug fixing and feature improvements
4.2.2
4.2.1
- Bux fix revocation when user is logged in
3.3.2
- Performance optimization
3.3.1
- Exclude items from the right of withdrawal
3.3.0
-Products can now be individually be enclosed from revocation
3.2.3
- Version compatibility
1.2.0
- Bug fix checkboxes
2.2.0
- Bug fixing checkboxes
4.2.0
- Bug fixing checkboxes
3.2.2
- Bug fix for checkboxes
3.2.1
- Bug fixing checkboxes
3.2.0
- reCAPTCHA bug fixed
- Checkboxes on the cancellation form are now fully customizable
- Greater flexibility for canceled orders: automatic tag assignment is now possible; setting the order status and tags is now optional
1.1.0
Expanded capture compatibility
2.1.0
Expanded capture compatibility
3.1.0
Expanded capture compatibility
4.1.0
Expanded capture compatibility
2.0.1
Expanded Footer Compatibility
3.0.0
Compatibility with Shopware 6.6
2.0.0
Compatibility with Shopware 6.5
1.0.0
Compatibility with Shopware 6.4
4.0.1
- improved contrast of the revoked order status badge in the order view
- Aligned revocation button styling in the order list context menu with the native Shopware dropdown
4.0.0
Compatibility with Shopware 6.7.x