If you run a Shopware 6 shop and the mere mention of a cancellation button makes you hold your breath: welcome to the club. Since June 19, 2026, consumers must be able to declare their cancellation online – with reference to the order, with confirmation, without printing and scanning. And Shopware 6 doesn't include this feature.
The good news first: Of all the systems we work with, Shopware is one of the more suitable for this task. The customer account is well-developed, the order management is clean, and the plugin system allows modifications without requiring anyone to tamper with the core. The gap is therefore clearly defined – and that's precisely what makes it solvable.
Before we delve into the technical details, let's briefly cover the basics: The Federal Ministry of Justice announced the new regulation in September 2025 , and it has been applicable since June 19, 2026. This is no longer an announcement; it is legally binding.
What Shopware offers – and what's missing
In the standard system, customers can find their orders under "My Account," view them, and download receipts. The cancellation policy is provided as legal text, and the sample cancellation form is usually available as a PDF or text module. Both remain mandatory. However, neither fulfills the new requirement because they do not reflect online cancellation.
Specifically, three things are missing, and they are related:
- An accessible function in the customer account and on the order details page – not somewhere in the footer, but where someone would actually look for it.
- A way for Guest ordersIn Shopware, this is a special case because there is no account to which the cancellation could refer.
- Documented confirmation to the customer and forwarding to your company is required. A form that only displays "thank you" is not sufficient.
Three approaches, and they differ primarily in the subsequent costs.
Method 1: A ready-made plugin from the store
The fastest way, if one solution fully meets your requirements. However, the "if" is crucial here. Before purchasing, check three points where solutions typically diverge: Are guest orders supported? Is the customer confirmation documented – i.e., saved, not just displayed? And can the placement be changed without modifying the template?
If the product description is silent on any of these points, ask. A plugin that only works for logged-in users solves half your problem – and the other half will come back to haunt you later, usually when someone complains.
Option 2: A custom extension
This is the approach we take for individual requirements. A custom plugin integrates via the existing extension points in the customer account and order details page, creates the cancellation as a separate entity – so that it appears in the administration and doesn't just exist as an email – sends confirmation and internal notification via the Shopware email templates, and can be linked to your other processes in the Rule Builder.
The advantage lies less in the functionality itself than in the control it offers: you decide how the process continues in your company, instead of having to adapt to the logic of a third-party provider. And you are not dependent on whether that provider will still be maintaining the plugin in two years.
Option 3: Supplement what is already there
The approach we recommend most often, and the one chosen least – probably because it sounds unspectacular. If a legal texts or returns solution is already in place, it often covers half the work. In that case, it's usually faster and cheaper to expand upon it rather than adding a second solution alongside it.
Two systems that are only partially capable of the same thing are the most frequent cause of later discrepancies in the process: two confirmation emails, two forms, two conflicting accounts of whether a cancellation has been received or not. This is not a technical problem, but an organizational one – and those are more cumbersome.
The point at which most implementations fail.
Guest orders. Really. I haven't seen two shops that have handled this the same way, and some that haven't handled it at all.
The problem is structural: those who order without a customer account have no login – and the obvious solution of offering the cancellation option in the logged-in area is therefore ineffective. The proper solution uses the order number and the email address provided during the order process and sends a confirmation link. This is a bit more work than a form in the customer account, but it's the difference between "fulfilled" and "fulfilled for half the customers."
The second stumbling block is the distinction. Cancellation, return, warranty, and statutory guarantee are four different things, and customers reliably lump them together. If your shop already has a returns process, it must be clear which process applies to which – otherwise, cancellations will be processed through the returns form and vice versa. The consumer advice center provides a clear and concise explanation of how this looks from the customer's perspective – take a look; it will change your perspective on your own implementation.
The five-minute self-test
Before you buy or commission anything: Test it yourself. All you need is your shop and five minutes. Place a test order – without logging in . Then try to cancel this order, just as someone would who is 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 there. It also fails if you're stuck in a generic contact form and have to manually type in the order number. And if there's no confirmation after submission to record the process, the final piece of the puzzle is missing.
The test is so merciless because it changes the perspective. You know where everything is. Your client doesn't – and she has no desire to find out.
Four mistakes we see again and again
The cancellation notice only ends up in the inbox. A form that sends an email to info@ is not a solution, but rather a shift in the problem. On Monday morning, there are thirty messages there, and the one that triggers a deadline looks exactly the same as the inquiry about delivery time. The cancellation notice should be a separate data record in the administration system, where it has a status and won't be overlooked.
The confirmation is displayed, but not saved. A green "Thank you, your cancellation has been received" message on the page feels correct, but is worthless as soon as someone asks when exactly the cancellation was received. What counts is the saved process with a timestamp and the confirmation that was demonstrably sent.
The function is only available in the footer. This is understandable, as all the legal texts are already located there. However, nobody looks for the cancellation policy there. People look in the order overview, their customer account, and the confirmation email – precisely where the order is already visible.
Language versions are often overlooked. Anyone operating multiple sales channels or languages might find that the cancellation policy is properly implemented in one channel but not in the others. This is particularly easy to miss in Shopware because the configuration applies to each sales channel individually. Check each one separately, not just the one you're currently working with.
How much does that cost?
Honest answer: It depends, and not as an excuse, but because the range is real. A shop that already uses a legal text extension with a partially completed return process needs significantly less than one starting from scratch and also wanting to integrate an existing returns process.
What drives up the most effort is rarely the function itself, but rather what happens afterward: Should the return be recorded in your inventory management system ? Do you need status tracking? Should partial returns be possible if someone only returns two out of five items? These are the kinds of questions that determine the scope, not the button.
That's why we start with an assessment, not a quote. We look at what's working and tell you what's missing – from this, we develop a proposal outlining the required effort and a fixed price. If it turns out that your existing plugin can do everything after an update , we'll tell you that too. This happens more often than is good for our revenue.
How we implement
The implementation is carried out as a custom plugin according to Shopware standards, with tests and documentation that other service providers can also read. No modifications to the core, no changes that will break with the next Shopware update. The source code becomes your property – so you are not tied to us, which I consider a given, but unfortunately isn't.
One important point to note: This article describes the technical implications of this 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. A concise initial overview for retailers is provided by the Chamber of Industry and Commerce (IHK) classification of the cancellation button , and those needing more detailed information can find the specific questions in the IT Law Firm's guide.
If you operate multiple systems
Some of our customers use two platforms – Shopware for one market and Magento for another. If this applies to you: For Magento 2 , the functionality is already included in our Smart One Page Checkout Extension , so no development is required. You can find a comprehensive overview of all relevant sources in the article " Revocation Button Requirement 2026 ".
The most important points in three sentences
Shopware 6 doesn't include a cancellation button; this functionality must be added – via a plugin, a custom extension, or by expanding existing functionality. The crucial test case is guest orders, as the obvious method of using a customer account doesn't work there. And the five-minute self-test will show you where you stand in just five minutes.
How did you solve it?
Now it's your turn: What does the cancellation process look like in your Shopware shop? Is it a plugin from the store, a custom development, or are you still at the beginning? I'm particularly interested in how you've handled guest orders – that's where I see the greatest range of approaches. Write it in the comments, and feel free to include any problems you encountered. I'll reply to every comment, and I'll include the most interesting cases in an update.
Frequently asked questions about the cancellation button in Shopware 6
Does Shopware 6 have a cancellation button by default?
No. Shopware 6 provides a customer account and order overview, but no built-in function for customers to declare a cancellation online. This must be added via a plugin or a custom extension.
Does the cancellation button also work for guest orders in Shopware?
Only if the solution is designed for it. The obvious method via the logged-in customer account doesn't work for guest orders. A clean solution is identification via order number and the email address used for the order, combined with a confirmation link.
Is the PDF cancellation form sufficient in Shopware?
Not as a sole solution. The standard cancellation form remains mandatory, but it does not meet the requirements for an online cancellation that does not require printing and mailing.
Can I use my existing returns solution for this?
Often yes, at least partially. The distinction is crucial: cancellation and return are not legally the same, and the processes must remain distinguishable for customers. It's worthwhile reviewing the existing process before implementing a second solution.
Does the cancellation need to be visible in the Shopware administration?
It's not mandatory, but highly advisable. A cancellation that exists only as an email gets lost in the inbox. If it's created as a separate record, it's traceable, assignable, and can be integrated into existing processes.
What are the costs for implementation in Shopware 6?
It depends on what the shop already offers. Existing legal text extensions and a pre-existing returns process significantly shorten the process. The effort is driven less by the button itself than by the question of what should happen after a return. The initial assessment is free; after that, we'll provide a fixed price quote.






















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