Magento 2 Extensions:Simplify Bulk Order Processing
Simplify Bulk Order Processing today! By adding more than 10 helpful new mass actions to the actions dropdown on the Sales > Order page, this module can save you hours every day when processing orders. Using this extension you don't have to open each order anymore and process it individually, but now you can process all your orders from the order grid in bulk.
Interested in this Magento Extension?
Head over to our store to purchase this extension: Simplify Bulk Order Processing (Magento 2)
Got questions? Feel free to contact us! Contact Form
Setting up the extension
Please refer to our general Extension Installation and Setup Guide for installation instructions.
The configuration section of this extension is located at System > XTENTO Extensions > Simplify Bulk Order Processing.
Please make sure the go through the configuration carefully - otherwise the extension might not work as expected.
Following is an explanation of the configuration section of the extension:
This field is required. Please enter the license key you received in the license key email sent to you directly after your purchase. Looking for more information? Read further
Set to Yes if you want to use the extension. If set to No, no additional actions will show up on the Sales > Orders grid.
Enabled Grid Actions
This field defines which new actions get added to the Sales > Orders grid action drop-down. You don't have to enable all actions - you can disable/enable specific actions by holding down the Ctrl (Control) key on your keyboard and then clicking on one of the entries. To select multiple actions, hold down Shift and select the actions you want to enable.
Capture payment for invoice
If you set this to Yes, upon invoicing an order Magento will try to capture/charge pre-authorized credit cards at the payment gateway so you actually receive the funds. You should leave this turned on - unless you really don't want to charge credit cards at all.
Set invoice status to paid
It is recommended to set this to Yes. This will mark the invoice as paid.
Order Status Configuration
Set custom order status after invoicing order
Out of the box, Magento assigns invoiced orders the status Processing. If you want to override this status with a custom status, select the custom status here. Please note that order status will only change to the custom order status when invoicing orders from the Sales > Orders grid. This does not affect out of the box invoicing functions as used by payment gateway or when invoicing from the "View Order" screen.
Set custom order status after shipping order
Out of the box, Magento doesn't change the order status for shipped orders if they haven't been invoiced yet - otherwise the order status gets changed to Complete. If you want to override this behavior with a custom status, select the custom status here. Please note that order status will only change to the custom order status when shipping orders from the Sales > Orders grid. This does not affect out of the box shipping functions when shipping from the "View Order" screen.
Set custom order status after completing order
Using this option you can override the Complete status Magento would usually assign when an order has been invoiced and shipped, OR which would be assigned by this extension when running the "Complete" action on orders. If you want to override this behavior with a custom status, select the custom status here. Please note that order status will only change to the custom order status when modifying orders from the Sales > Orders grid.
If you don't want the tracking/carrier field to be shown on the Sales > Orders grid, simply go to Sales > Orders and edit the grid configuration using the "Columns" functionality built into Magento 2.
Default tracking carrier
Out of the box the 'Custom' carrier will be pre-selected on the Sales > Orders grid for adding tracking numbers to orders. Select a default carrier here that is pre-selected instead.
New mass actions
Following is an explanation for all the actions which can be added to the Sales > Orders grid using this extension.
- Invoice Order: An invoice will be created for each order selected
- Ship Order: A shipment will be created for each order selected
- Complete Order: Order status will be set to "Complete" (or custom status - see above) for each order selected
- Invoice / Ship Order: Combination of "Invoice" and "Ship" action - both actions get executed
- Invoice / Ship / Complete Order: Combination of "Invoice", "Ship" and "Complete" action - all three actions get executed, and the order status gets set "Complete" (or custom status - see above)
- Print Order: After running one of the above action on orders, instantly print the related PDF documents.
- Delete Order: Order will be deleted if order status is "canceled" and no shipments/invoices/credit memos are associated
- Set Order Status: Change the order status to ANY custom order status defined in Magento (supports 3rd party custom order status extensions)
Using the extension
Using this extension is as easy as going to Sales > Orders after having configured the extension. It's really self-explanatory - use the checkboxes to the left to select the orders to process and then run one of the newly added actions which can be selected from the "Actions" dropdown at the top right.
Adding multiple tracking numbers to one shipment
It is possible to add multiple tracking numbers to one order, all at the same time. Just enter the tracking numbers separated by a semi-colon (;) into the tracking number field. Example:
This would add three tracking numbers to one shipment.
- I can't find the configuration section: Please go through the setup guide once again to make sure the extension has been installed.
- I can't enable the extension: Please make sure you're using a valid license key. Read further
- I can't see any new actions at Sales > Orders: Please make sure you've selected grid actions in the "Enabled Grid Actions" field
Mass actions don't show up
The issue is caused by the "PDFInvoicePlus" extension or extensions you have installed that do NOT properly add their mass actions to the grid. It rewrites the UI Massaction class and *no* other extension will be able to add mass actions properly to the Sales > Orders grid if this extension is installed. So this is not a problem in our extension, but in their extension. Not only our extension can't add mass actions via code right now, but also no other third party extensions. We would suggest contacting them and asking them to fix this - they should add their mass actions properly using a plugin or xml but not via a "preference" (rewrite).
More orders than selected are processed
If using filters on the orders grid and the "Select All" functionality of the Magento 2 grid, whenever "all" visible orders are selected by the checkboxes, unfortunately a problematic behavior of the Magento 2 grid system can appear: Let's assume you select all "Processing" orders and run a bulk action on them. You run the filter, and 10 seconds later a new "Processing" order appears in Magento. This NEW order will also be matched & processed by the Magento 2 grid, as it matches your filters ("Select All", "Processing") even though you don't see it on the grid. This is not a bug in our extension. It will also happen if you use any of the built-in bulk actions of Magento in any of the Magento grids. The only chance to avoid this is to run your bulk action very fast after selecting matching orders, or clicking "Search" (to re-apply filters) before running the bulk action.
Magento 2: Order status changes to closed instead of complete
This seems to be a Magento 2 core bug: https://github.com/magento/magento2/issues/22337
Apparently this happens for orders where an invoice exists but the invoice isn't paid but is "pending". And for orders where no invoice exists. So make sure to add the "Capture payment / set paid" option in your import profile when creating an invoice.
A workaround to change the status to "Complete" is setting the status without setting the order state (which triggers the internal bug in Magento). To do so, customize the following file via a preference: \app\code\Xtento\GridActions\Model\Processor.php
$orderStates = $this->orderStatuses->getStates();
Exactly BEFORE this line add:
After a status update, the sales order grid table doesn't refresh the order statuses
Asynchronous grid indexing is probably enabled, please disable it like this: At "Stores > Settings > Configuration" on the left panel in the Advanced section, choose Developer. Expand the Grid Settings section and set Asynchronous Indexing to Disable. If you don't see the "Developer" section, your store is running in production more and you will need to set Magento to "developer" mode first.