Managing your order history is a standard part of running an e-commerce store. However, by default, PrestaShop does not allow for the complete deletion of orders through the standard administration panel. This is a deliberate security and accounting feature designed to maintain a consistent transaction log and prevent accidental data loss.
Table of Contents
Why PrestaShop Restricts Order Deletion
- Accounting Integrity: In many jurisdictions, maintaining a continuous record of orders and invoices is a legal requirement.
- Database Consistency: Orders are linked to customers, products, and statistics. Removing an order manually can sometimes cause discrepancies in your sales reports.
- Security: Restricting deletion ensures that employees or unauthorized users cannot “erase” traces of transactions.
Method 1: Changing Order Status (The Recommended Way)
Instead of deleting an order, the best practice is to change its status. This removes it from your “active” workflow while preserving the data for your records.
- Log in to your PrestaShop Back Office.
- Navigate to Orders > Orders.
- Click on the specific order you wish to handle.
- In the Status section, select “Canceled” or “Payment Error” from the dropdown menu.
- Click Update Status.
This approach ensures your stock levels are adjusted correctly and the order no longer appears in your active sales figures.
Method 2: Using a Module (The Efficient Way)
If you frequently need to remove test orders or duplicate entries, using a specialized module is the safest and most efficient method.
- Go to Modules > Module Catalog.
- Search for “Delete Orders”.
- Install a reputable module designed for this purpose.
- Once installed, these modules typically add a “Delete” icon next to each order in your list, allowing for a one-click removal that also cleans up associated data (like invoices and cart rules).
Method 3: Using PrestaShop Cleaner (For Test Data)
If you are still in the development phase on your mybox-hosted account and want to wipe all test orders before going live:
- Navigate to Modules > Module Manager.
- Find the “PrestaShop Cleaner” module (often pre-installed).
- Under the “Orders and Customers” section, click “Delete orders & customers”.
- Warning: This will permanently erase all orders and customers from your database. Use this only if you are starting fresh.
Method 4: Manual Deletion via Database (Advanced)
For technical users, orders can be removed directly through the mybox panel using phpMyAdmin.
- Open phpMyAdmin from your dashboard.
- Locate the tables starting with
ps_orders,ps_order_detail, andps_order_history. - Execute a SQL query or manually delete the specific ID rows. Note: This is risky and can lead to database errors if not done carefully. Always create a backup in the mybox panel before performing manual database edits.
Summary
While PrestaShop prioritizes the permanence of transaction records, you have several ways to manage your list. Whether you simply change the status to “Canceled” or use a module to purge test data, keeping your mybox-hosted store’s order list organized ensures clear reporting and efficient management.