WooCommerce shops are like shared kitchens: each one is set up differently, and nobody really remembers who brought which appliance. That's precisely why the question of the return button is harder to answer here than with other systems – not because WooCommerce is worse, but because your starting point is guaranteed to be different from that of the shop next door.
The issue at hand: Since June 19, 2026, consumers must be able to declare their cancellation online, with reference to the specific order, with confirmation, and without printing. WooCommerce does not offer this functionality. However, the extent of this gap for you depends more than with any other system on what is already installed.
The background information: The Federal Ministry of Justice announced the new regulation in September 2025. It is valid, it is not new, and it will not disappear again.
Look first, then buy
Hardly any German WooCommerce shop runs without an extension for legal texts and the specific requirements of German commerce. Some of these solutions have since caught up and cover part of the process. Others haven't. And still others have a feature that's called that but does something else entirely.
Therefore, my first piece of advice for WooCommerce users is always the same, and it costs nothing: Check your own backend before buying anything. It's extremely annoying to pay for a plugin that adds a feature that's already there – and even more annoying if the two then conflict.
What WooCommerce brings
The order management system itself is well-designed. Orders, including detailed views, are stored under "My Account," and WooCommerce offers extension points precisely where a cancellation function can be seamlessly integrated. The email templates are also customizable, which is important for order confirmations. So the building blocks are there – they're just not yet assembled.
What's almost always missing:
- A button via which the revocation to a specific order This will be explained. The general contact form does not count because it lacks precisely this reference.
- A way for Guest ordersWooCommerce allows this by default, many shops use this intentionally – and therefore these customers are outside of "My Account".
- A documented confirmation to the customer and a notification to you that also arrives at the company.
The three ways
Option 1: Supplement the existing legal text extension
If you're already using a solution for German legal texts, first check whether it now covers online cancellation. If it partially does, adding the necessary support is almost always the quicker solution – and the advantage lies less in the effort involved than in the consistency. Your legal texts, your confirmation emails, and the cancellation process all remain under one roof instead of two.
What you should check: Does the function access the actual order data, or does it just generate a more visually appealing form? The difference determines whether manual matching work will be required at the end.
Option 2: A custom plugin
A custom plugin uses WooCommerce hooks to integrate with "My Account" and the order details page, saves the cancellation to the order record, sends the confirmation via WooCommerce email templates, and forwards the process internally. Because it's linked to the order record, it appears where your staff already work.
This is the approach if your process has unique features: multiple warehouses, partial returns (for example, if someone only returns two out of five items), or integration with your inventory management system . No standard plugin can handle these requirements because they vary from business to business.
Option 3: A ready-made plugin
It's possible, using the same checklist as everywhere else: guest orders, documented confirmation, configurable placement. Additionally, make sure the solution works with your theme and page builder. In WooCommerce, this is more often an issue than in other systems – what looks good in the demo might look different in your theme.
The two stumbling blocks
Guest orders. WooCommerce allows orders without an account, and many shops deliberately use this feature because it improves conversion rates. A cancellation function accessible only to logged-in account users excludes these customers. The clean solution identifies the customer via the order number and the email address provided during the order process and sends a confirmation link – no login required, but also no open door for anyone who guesses an order number.
The plugin stack. German WooCommerce shops often use several extensions that overlap thematically: legal texts, shipping, returns , email customization. Adding yet another solution on top of that creates contradictions – two confirmation emails, two forms, two different versions of the truth. Therefore, the first step should be taking stock of the existing setup, not just installing new ones. The consumer advice center provides a worthwhile analysis of how this all affects customers.
The five-minute self-test
Before you install anything: Test it. Place a test order – without logging in – and then try to cancel it. Just as someone would do when seeing your shop for the first time.
If you have to think about where to click, the test fails. The same goes if you land in the footer and have to download a PDF. It also fails if you're stuck in a generic contact form and have to manually enter the order number. And if there's no confirmation after submission to record the process, the final piece of the puzzle is missing.
Also, try the test on your mobile phone. WooCommerce themes tend to behave differently there, and the "My Account" section is notorious for hiding things on small screens.
Four mistakes we see again and again
The cancellation notice only lands in the inbox. A form that sends an email to info@ merely shifts the problem instead of solving it. On Monday morning, there are thirty messages there, and the one that triggers a deadline looks like a question about delivery time.
The confirmation is displayed, but not saved. A green "Thank you, received" message feels right, but is worthless as soon as someone asks when exactly. What matters is the saved transaction with a timestamp.
The plugin conflicts with the theme, especially with heavily customized "My Account" sections. If you built your account layout using a page builder, you should review every subpage after installation, not just the account homepage.
The cancellation policy works, but only in German. If you sell in multiple languages, check each language individually. Translation plugins often only partially translate form fields, and a cancellation form with German field labels on an English page is not a good look.
What should happen after sending
Everyone talks about the button. Almost no one talks about what comes next – yet that's precisely where it's decided whether there's a real solution or just a form. Three things have to happen, and without anyone having to think about it.
The customer receives confirmation. Not just a message on the website, but an email documenting the entire process: which order, when, and which items. This serves as proof for her – and yours. WooCommerce includes the necessary email templates; they simply need to be configured.
You will receive a notification. To an address that someone actually reads, not to info@. Ideally, also as a note or status change to the order, so that the process appears where your people are already looking.
The process is given a status: Received, processed, refund initiated. This sounds bureaucratic, but in reality, it saves time because no one has to search their inbox anymore to see if that one cancellation from last week has actually been processed. With two cancellations a month, it doesn't matter. With twenty, it does.
How much does that cost?
The effort required depends on how much your existing extensions already do – and the range is wider in WooCommerce than elsewhere. Often, the effort is less than expected because part of the process is already in place. Sometimes it's more because cleanup is needed before adding anything new.
What drives up the scope is rarely the form itself, but rather what happens next: Should the cancellation be integrated into your inventory management system? Do you need partial cancellations? Status tracking? That's why we start with an inventory assessment, not a quote. If it turns out that your existing plugin can handle everything after the latest update , we'll tell you that too.
How we implement
Implemented according to WordPress coding standards as a custom plugin, update-proof and without any modification to the theme or core. Includes testing and documentation that other service providers can also read. You will own the source code.
This article describes the technical implications of the regulation for your online shop – it is not legal advice. Whether and to what extent you are affected should be clarified with your lawyer or trade association. The Chamber of Industry and Commerce (IHK) provides a concise overview for retailers, while the IT Law Firm's guide answers detailed questions.
You can find a comprehensive overview of all six requirements in the article "Revocation Button Requirement 2026" . For those also running a Magento shop : the functionality is already included in our checkout extension .
The most important points in three sentences
WooCommerce doesn't provide a cancellation button, but the building blocks for it are there. First, check what your legal text extension already covers before installing anything new – two incomplete solutions are worse than no solution at all. And test it without a customer account, because that's where most implementations fall apart.
What about you?
Now I'm curious: Which legal text extension are you using, and does it now cover online cancellation? I'm collecting feedback because the situation is changing rapidly, and the manufacturers' information isn't always up-to-date. Please write it in the comments – also if you've encountered a conflict with your theme. I'll reply to every comment, and I'll include any helpful information in an update to this post.
Frequently asked questions about the cancellation button in WooCommerce
Does WooCommerce have a cancellation button by default?
No. WooCommerce provides order management and the "My Account" section, but no function for customers to declare a cancellation online. This needs to be added.
Does my legal text extension cover the cancellation button?
This can only be answered for the specific shop and changes with each version. Check three points: Is there a button related to placing an order, does it work for guest orders, and is the confirmation saved? If any of these are missing, the requirement is not met.
Does the cancellation process work even without a customer account?
Only if the solution is built for it. Since WooCommerce allows guest orders, this isn't an exception, but rather the norm in many shops. A clean method of identification is via the order number and the email address used for the order.
Is a contact form plugin sufficient?
Generally not. It doesn't link to the specific order and doesn't document the confirmation. Furthermore, it creates manual work because each process has to be manually assigned.
Does the cancellation need to be saved in the order record?
While not mandatory, it's highly practical. A cancellation that exists only as an email gets lost in the inbox. However, it's easily found and traceable within the order record, and can be integrated into existing processes.
What are the costs for implementation in WooCommerce?
The effort involved depends on the capabilities of the existing extensions and whether the cancellation needs to be integrated into other systems, such as an inventory management system. The initial assessment is free; after that, we'll provide a fixed price quote.
Does the cancellation button need to be available in every language?
If you sell to consumers in multiple languages, then yes. Translation plugins often only partially process form fields, so each language version should be tested individually. The same applies to the confirmation email, which often remains in the default language.
Are partial returns necessary if only one item is being returned?
While not strictly necessary for fulfilling legal obligations, it is very helpful in practice. For those selling multiple items per order, selecting specific items saves a lot of follow-up questions – and allows for the correct calculation of refunds.






















{% endif %} {% if title and title != "" %}
{{ title }}
{% endif %} {% if excerpt and excerpt != "" %}