Magento 2 Extension
DeleteAnyOrder 2
Delete orders safely and reliably from your Magento 2 database
Delete orders safely and reliably from your Magento 2 database
Magento does not allow you to delete orders. While this decision makes good sense, many users are still in need of this functionality. Our Delete-Any-Order extension gives you this functionality in a safe way without danger of you loosing data and without leaving left-overs.
Latest release: 1.0.6
The Delete-Any-Order extension is quickly installed and after this, dead-easy to use: Simply zoom into an order and delete it - either via the orders grid or the order page.
Instead of just deleting orders, which is peanuts, Delete-Any-Order also ships with numerous ways to keep the database integrity intact. And checks if this is still the case.
This extension is hosted on GitHub:
https://github.com/yireo/Yireo_DeleteAnyOrder2
It sounds so simple: Selecting a Magento order and deleting it - either through a massaction option in the grid, or a button on the order page. However, Magento - by default - does not allow for this, because following bookkeeping terms this should not be allowed. But if Magento is not used for bookkeeping, this matters less. Our extension offers a fundamental feature that every shop owner might need.
When removing an order, some things will still stick in the database: Grids are not updated, child entities will remain. This clutters your database and could lead potentially to corrupt databases. Our extension makes sure that all order-related information in the database remains intact. There are no left-overs. This makes our extension also GDPR-compliant: When a customer wants to be forgotten, our extension guarantees so.
This extension is well-written, following current Magento coding standards (like ExtDN, ECG2 and MEQP2) and is 100% open source. Any developer is able to pick up its source code and extend it where needed. Additionally, we have tests in case that we run with every major and major Magento 2 release, to prevent bugs from reaching your shop. You can trust our code.
We recommend to install Magento 2 extensions via composer. See the Composer project for instructions on how to get composer up and running. Once composer is installed, use the following command to install our extension.
composer require yireo/magento2-deleteanyorder2
This will make composer download the package from Packagist. After the composer installation has finished, use the following commands to enable the module within Magento:
bin/magento module:enable Yireo_DeleteAnyOrder2
bin/magento cache:clean
bin/magento setup:upgrade
After these commands, the extension is ready for use in Magento. If you were already logged into the Magento Admin Panel, make sure to logout and log back in again, before proceeding. Do not forget to grab yourself a manual copy of our extension as a backup.
Please note that we strongly recommend using composer instead. If you bump into issues with this manual procedure, the first thing we need to ask is whether you have installed all dependencies, as mentioned in the composer.json
file of this extension. If the composer.json file of this extension mentions requirements, you need to fulfill these requirements. This could involve checking for PHP requirements but also installing third party add-ons. Sounds difficult? Yes! That's why we can only recommend you to use composer. The manual installation does NOT make your life easier, even if you think it does.
Do use composer: It allows for dependency tracking and in the end, prevents breaking your site. However, in some cases, it might be required to do a non-composer installation. For these exceptional situations, download the module ZIP from our site (under the tab File Downloads). Next, create a folder with the following name and copy to the ZIP contents to it:
app/code/Yireo/DeleteAnyOrder2
After the files have been uploaded, confirm that all files are in place. For instance, you should have a file like app/code/Yireo/DeleteAnyOrder2/etc/module.xml
. Next, use the following commands to enable the module within Magento:
bin/magento module:enable Yireo_DeleteAnyOrder2
bin/magento cache:clean
bin/magento setup:upgrade
After these commands, the extension is ready for use in Magento. If you were already logged into the Magento Admin Panel, make sure to logout and log back in again, before proceeding. Do not forget to grab yourself a manual copy of our extension as a backup.
Head over to the GitHub repository for downloads: https://github.com/yireo/Yireo_DeleteAnyOrder2
No. However, if you are making money with building multiple shops, we appreciate it if you subscribe for multiple subscriptions. That way - in the spirit of open source - you can help us develop useful extensions for you.
In bookkeeping terms, it's not correct to remove orders or to leave a gap in your order numbering. At least, that's what some bookkeepers will tell you. If you use Magento as a bookkeeping system, you shouldn't be removing invoices or orders, so you shouldn't even be looking at this extension. However, if you have an alternative bookkeeping system, you can use this extension. Everything is fine (according to us) as long as the bookkeeping is consistent.
Our extension not only deletes orders, but also makes sure all order-related information is actually gone from the database: This way, your database remains intact, does not grow in size over the years and is compliant to EU regulation (GDPRs Right To Be Forgotten).
Delete-Any-Order does not deal with any Magento reports or Magento statistics (like the one on the dashboard of the Magento Admin Panel), and therefor, when removing any order, none of the already made statistics and reports are modified.
However, the dashboard statistics and newly created reports are generated from the database, and because Delete-Any-Order removes orders from the database completely, this is still working as it should. However, for issues with these statistics and reports, you most likely need to discuss this on the Magento Forums - unless you have grounded reason to believe that Delete-Any-Order has not removed an order correctly.
No, it is not. As a policy, all our Yireo software is unencrypted - we do not make use of technologies like ionCube or ZendOptimizer. All PHP-code is open source, but for commercial extensions the code is only given to paying customers.
You probably would like to know if this extension is working under a specific Magento version 2.X.Y. However, from a technical point of view, the question is wrong: The major Magento version 2.X.Y is not semantical but instead used for marketing purposes. It doesn't give any guarantees.
Instead, we maintain compatibility with the actual modules that lie underneath (like Magento_Catalog
or the Magento Framework). And version management for these dependencies is handled via composer
. We strongly advice you to rely on composer
to answer the question whether our extension works under a specific Magento version. This is the only way to guarantee compatibility in a professional way.
Alternatively, study our CHANGELOG
for details on the progress we made.
This extension is offered for free. Feel free to go the GitHub repository (see the link under Quick Start> Downloads) and open an Issue there. Please note that this is a voluntary open source project. The more helpful you are in describing the issue at hand, the more likely volunteers can come in to help you with the issue.
We have spent years on optimizing our Magento 1 extension and were able to successfully move the logic to M2 as well. Also, we are part of ExtDN, various Magento working groups and expert-trainers in the field of Magento 2 development. In short, we know our stuff and are able to put down a cheap but high quality extension for you.
If you run into problems, we are happy to help you out with the following resources:
We usually respond in 24 hours but understand this is all done on a voluntary basis. Also note that we require you to collaborate together with us. Interpret errors as best as you can, before claiming our time. Free software does not automatically lead into free support as well.
Delete-Any-Order is written following standards like PSR-2, MEQP2, ECG and ExtDN. You can hook into the event sales_order_delete_after
.
If you want to intercept methods using a Plugin, please let us know, so we can mark it as @api
and make sure your changes remain for the future.
This extension violates some standards of ECG and EQP because it uses raw SQL queries to scan the database. This is intentional to guarantee performance.
This extension has been tested with 150.000 orders (generated using the Magento Performance Toolkits extra_large
profile).
2.2
(2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.9, 2.2.10
) 2.3
(2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.5-p1, 2.3.5-p2, 2.3.6, 2.3.7, 2.3.7-p1, 2.3.7-p2
) 2.4
(2.4.0, 2.4.1, 2.4.2, 2.4.2-p1, 2.4.2-p2, 2.4.3, 2.4.4, 2.4.5
) magento/framework
: ^101.0.1|^101.0|^102.0|^103.0
magento/module-backend
: ^100.2|^101.0|^102.0
magento/module-sales
: ^101.0|^102.0|^103.0
magento/module-store
: ^100.2|^101.0
magento/module-ui
: ^101.0
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
di.xml
issue in 2.3.1extra_large
)DELETE
queriesExtDN forms a network of Magento extension developers, that strive for a better extension quality - both on a technical level and from an end-users point of view. With industry leaders like Fooman and aHeadworks, ExtDN lifts up the Magento extension space to a new level. And Yireo is proud to be part of this.
We don't write too commercial stuff, we focus on the technology (which we love) and we regularly come up with innovative solutions. Via our newsletter, you can keep yourself up to date on all of this coolness. Subscribing only takes seconds.
Sign up for the Yireo newsletter