Delete Order instead of Cancel | Customers delete orders in their order history
Description
Highlights
About the Extension
"Could you please take that old order off my account?" If you run a shop, you have probably read that email more than once. The customer shares the account with their family, bought a surprise present, or simply wants a tidy order history. And every time, you open the administration and do it by hand.
The problem
For your customers, Shopware only offers cancelling. A cancelled order still sits in the customer's order history, just with a different status. Anyone who wants an order gone for good has to ask you. That costs you time, and the customer waits for an answer that should have been a single click.
The solution
The plugin hands your customers exactly that click. In their account under Orders, the context menu of an order gets the entry "Delete order". A confirmation dialog asks once more, then the order is gone. Beforehand, you decide which orders qualify at all: by order state and by a waiting period counted from the order date.
What's in it for you
- Fewer support requests. Customers tidy up their order history themselves. You no longer remove orders by hand on request.
- You stay in control. Only what you release can be deleted. With no order state selected, nobody can delete anything, and that is the setting right after installation.
- Recent orders are protected. The waiting period starts at the order date and defaults to 30 days. An order you are packing for Royal Mail or DPD today will not disappear halfway through.
- No accidental deletions. Before anything happens, a dialog warns that all links and documents will be lost. Only the confirmation deletes.
- Every sales channel on its own terms. Allow deletion in your consumer shop, keep it off in your trade shop. All three settings apply per sales channel.
- Customers feel in charge. People who decide for themselves what stays in their account tend to trust your shop more.
How the plugin works
The "Delete order" entry only appears for orders that meet every condition: plugin active in the sales channel, order state released, waiting period over. For every other order, the customer simply does not see it.
When the customer confirms in the dialog, the server checks the same conditions again. On top of that, the order must belong to the logged-in customer and must have been placed in the current sales channel. Only then does the plugin delete the order from Shopware completely, including its line items and the link to its documents. The customer then sees "The order has been deleted."
Setup is short. Install the plugin, pick the order states in the plugin configuration, check the waiting period. Done.
Typical use cases
- Clearing out finished orders: You release the state "Done" and keep the 30-day waiting period. After a month, customers can remove old orders themselves, while anything still in progress stays put.
- Cancel first, delete later: You use Shopware's own cancellation and also release the state "Cancelled". A customer cancels an order and removes it from their order overview afterwards.
- Several sales channels: Deletion is on in your consumer shop with prices in GBP, and off in the trade shop that feeds your accounting software.
Technical facts for your IT team
- Shopware 6.7, PHP 8.2 or higher.
- No custom database tables, no custom fields. Shopware's original tables stay untouched.
- The plugin does not send any data to external servers.
- Deletion runs through Shopware's data abstraction layer (DAL), so every dependency Shopware itself resolves when an order is deleted is handled the same way.
- The server re-checks every deletion: customer ownership, sales channel, order state and waiting period. A tampered request with someone else's order ID fails.
- The order history template in the customer account is extended through a Twig block that keeps the original content. Other plugins using the same block keep working.
- Settings per sales channel, storefront texts in English, German and Dutch.
- If you let Shopware remove the plugin data on uninstall, the plugin settings are gone. Orders that were already deleted stay deleted.
To be honest
This plugin deletes. It does not cancel. It sets no status, puts no stock back and triggers no refund. A deleted order is gone for good, including for you in the administration. Invoices and other records are often subject to retention rules, for example HMRC record keeping in the UK or commercial law and GoBD in Germany. Whether and when your customers may delete is your call, which is why the order state selection and the waiting period exist. Keep copies of your invoices outside Shopware, for example in your accounting software. If you need a real cancellation, use Shopware's cancellation feature or a dedicated cancellation plugin. The trial period is a good moment to walk through the whole flow once.
Legal notice
We accept no liability for legal requirements. Please check the use of this plugin with a qualified legal advisor.
Details
- Available: English, German
- Latest update: 21 October 2026
- Publication date: 14 January 2025
- Version: 6.7.1
- Category: Customer account
Resources
Reviews (0)
About the Extension Partner
BuI Hinsche GmbH
Partner Status
-
Shopware
Bronze Partner -
Shopware
Premium Extension Partner
Details
- Ø-Rating: 4.3
- Partner since: 2014
- Extensions: 101
- Certifications: 2
Support
- Based in: Germany
- Speaks: German, English
- Response time: Very quickly