Magento Extensions:Simplify Bulk Order Processing
Overview
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
Got questions? Feel free to contact us! Contact Form
Setting up the extension
Installation
Please refer to our general Extension Installation and Setup Guide for installation instructions.
Configuration
The configuration section of this extension is located at System > Configuration > 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:
General Configuration
License Key
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
Module Enabled
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.
Extension Configuration
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.
Grid Configuration
Add tracking numbers from grid
When enabled, two new input fields will show up on the Sales > Orders grid. When shipping orders in bulk (i.e. using any of the Ship actions of this extension), the tracking number and carrier entered will get added to the shipment, allowing your customer to directly track the order from the shipment email sent.
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:
1Z1111111111111111;1Z1111111111112334;1Z1111111111114689
This would add three tracking numbers to one shipment.
Troubleshooting
General
- 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
SimpleOrderExport
- I am using the Slandsbek_SimpleOrderExport extension and I don't see the Export action anymore after installing this extension.
This is actually an incompatibility in the SimpleOrderExport extension. Please open the file app/code/community/Slandsbek/SimpleOrderExport/Model/Observer.php and look for this line:
if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction' && $block->getRequest()->getControllerName() == 'sales_order')
Replace it with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction && $block->getRequest()->getControllerName() == 'sales_order')
Save the file, refresh the Magento cache/compiler. Done.
DPD_Delisprintexport
- I am using the DPD_Delisprintexport extension and I don't see the Export actions anymore after installing this extension.
This is actually an incompatibility in the DPD_Delisprintexport extension. Please open the file app/code/community/DPD/Delisprintexport/Model/Observer.php and look for this line:
if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
Replace it with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction
Save the file, refresh the Magento cache/compiler. Done.
Blue Jalappeno Order Export
- I am using the Bluejalappeno_Orderexport extension and I don't see the Export action anymore after installing this extension.
This is actually an incompatibility in the Bluejalappeno_Orderexport extension. Please open the file app/code/local/Bluejalappeno/Orderexport/Model/Observer.php and look for this line:
if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
Replace this with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction
Save the file, refresh the Magento cache/compiler. Done.
Wyomind Orders Eraser
- I am using the Wyomind_Orderseraser extension and I don't see the Delete action anymore after installing this extension.
This is actually an incompatibility in the Wyomind_Orderseraser extension. Please open the file app\code\community\Wyomind\Orderseraser\Model\Observer.php and look for this line:
if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
Replace this with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction
Save the file, refresh the Magento cache/compiler. Done.
PH_Interlink
- I am using the PH_Interlink (Citylink) extension and I don't see my mass action anymore after installing this extension.
This is actually an incompatibility in the PH_Interlink extension. Please open the file app\code\local\PH\Interlink\Model\Observer\Adminhtml\Sales\Order.php and look for this line:
if ( get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
Replace this with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction
Save the file, refresh the Magento cache/compiler. Done.
TRIC Pacsoft
- I am using the TRIC_Pacsoft extension and I don't see the Pacsoft actions anymore after installing this extension.
This is actually an incompatibility in the TRIC_Pacsoft extension. Please open the file app\code\local\TRIC\Pacsoft\Model\Observer.php and look for this line:
if(preg_match('/_Widget_Grid_Massaction$/',get_class($block)) && strpos($block->getRequest()->getControllerName(),'sales_order') !== false)
Replace this with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction && strpos($block->getRequest()->getControllerName(),'sales_order') !== false)
Save the file, refresh the Magento cache/compiler. Done.
Market Ready Germany PDF
If you are using "Market Ready Germany" and if you get the wrong invoice layout for PDF prints please follow these steps:
- Open the file app/code/local/Xtento/GridActions/controllers/PrintController.php
- Look for:
if (!isset($pdf)) {
$pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
} else {
$pages = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
$pdf->pages = array_merge($pdf->pages, $pages->pages);
}
- Replace with:
if (!isset($pdf)) {
$pdf = Mage::getModel('invoicepdf/pdf_invoice')->getPdf($invoices);
} else {
$pages = Mage::getModel('invoicepdf/pdf_invoice')->getPdf($invoices);
$pdf->pages = array_merge($pdf->pages, $pages->pages);
}
- Save the file. Done.
Interactiv4 PackedShipment
- I am using the Interactiv4 PackedShipment extension and no labels/tracking numbers are generated automatically when shipping orders in bulk.
As this is a custom shipping extension, you need to tell the "PackedShipment" module that "our" module is a module which creates shipments in bulk. To do so, please open the file /app/code/local/Xtento/GridActions/Model/Processor.php and look for this line:
if (!strstr($actionsToRun, '_setstatus')) {
BEFORE this line add:
Mage::register('i4packedshipment_bulk_send', true);
Save the file, refresh the Magento cache/compiler. Done.
Easy PDF
In order to print your invoices/packing slips in the format set up using the Easy PDF extension, customizations are required.
Easy PDF Invoices
Please open the file app/code/local/Xtento/GridActions/controllers/Adminhtml/Gridactions/PrintController.php and look for:
$invoices = Mage::getResourceModel('sales/order_invoice_collection')
Replace with:
$invoices = Mage::getResourceModel('sales/order_invoice_collection')->addAttributeToSelect('*')
Look for:
if ($invoices->getSize() > 0) {
BEFORE it add:
foreach($invoices as $invoice){
$invoiceDatas[] = Mage::getModel('pdfpro/order_invoice')->initInvoiceData($invoice);
}
Look for:
if (!isset($pdf)) {
REPLACE with:
$pdf = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
} else {
$pages = Mage::getModel('sales/order_pdf_invoice')->getPdf($invoices);
$pdf->pages = array_merge($pdf->pages, $pages->pages);
}$result = Mage::helper('pdfpro')->initPdf($invoiceDatas);
if($result['success']){
return $this->_prepareDownloadResponse(Mage::helper('pdfpro')->getFileName('invoices').'.pdf', $result['content']);
}else{
throw new Mage_Core_Exception($result['msg']);
}
Save the file. Done.
Easy PDF Packing Slips
Please open the file app/code/local/Xtento/GridActions/controllers/Adminhtml/Gridactions/PrintController.php and look for:
$shipments = Mage::getResourceModel('sales/order_shipment_collection')
Replace with:
$shipments = Mage::getResourceModel('sales/order_shipment_collection')->addAttributeToSelect('*')
Look for:
if ($shipments->getSize() > 0) {
BEFORE it add:
foreach($shipments as $shipment){
$shipmentDatas[] = Mage::getModel('pdfpro/order_shipment')->initShipmentData($shipment);
}
Look for:
if (!isset($pdf)) {
REPLACE with:
$pdf = Mage::getModel('sales/order_pdf_shipment')->getPdf($shipments);
} else {
$pages = Mage::getModel('sales/order_pdf_shipment')->getPdf($shipments);
$pdf->pages = array_merge($pdf->pages, $pages->pages);
}$result = Mage::helper('pdfpro')->initPdf($shipmentDatas);
if($result['success']){
return $this->_prepareDownloadResponse(Mage::helper('pdfpro')->getFileName('shipments').'.pdf', $result['content']);
}else{
throw new Mage_Core_Exception($result['msg']);
}
Save the file. Done.
Aromicon Invoice PDF Pro
If you are using the "Aromicon Invoice PDF Pro" extension and if you get the wrong invoice/packingslip layout for PDF prints please replace the file app/code/local/Xtento/GridActions/controllers/PrintController.php with this version (unzip the file, then replace): http://support.xtento.com/media/Aromicon_PrintController.zip
Twenty4_eParcel
- I am using the Twenty4_eParcel extension and I don't see the Export action anymore after installing this extension.
This is actually an incompatibility in the Twenty4_eParcel extension. Please open the file app/code/community/Twenty4/Eparcel/Model/Observer.php and look for this line:
if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
Replace this with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction
Save the file, refresh the Magento cache/compiler. Done.
Balticode_DPD (LT)
- I am using the Balticode_DPD (LT) extension and I don't see the bulk action anymore after installing this extension.
This is actually an incompatibility in the Balticode_DPD extension. Please open the file app/code/community/Balticode/Livehandler/Model/Observer.php and look for this line:
if(get_class($block) =='Mage_Adminhtml_Block_Widget_Grid_Massaction'
Replace this with:
if($block instanceof Mage_Adminhtml_Block_Widget_Grid_Massaction
Save the file, refresh the Magento cache/compiler. Done.
TIG PostNL
- I am using the TIG PostNL extension and tracking numbers entered on the Sales > Orders grid are not added to shipments in bulk.
This is actually a rewrite conflict in our and their module. Please open the file /app/design/adminhtml/default/default/template/TIG/PostNL/sales/order/js.phtml and look for this line:
apply: function() {
AFTER it add:
var carriers = [];
Save the file, refresh grid. Done.
$('sales_order_grid_table').getElementsBySelector('.carrier-selector').each(function (carrier) {
if (carrier.value !== 'custom') carriers.push(carrier.readAttribute('rel') + '[|]' + carrier.value);
});
new Insertion.Bottom(this.formAdditional, this.fieldTemplate.evaluate({name:'carriers', value:carriers}));
var trackingnumbers = [];
$('sales_order_grid_table').getElementsBySelector('.tracking-input').each(function (trackingnumber) {
if (trackingnumber.value !== '') trackingnumbers.push(trackingnumber.readAttribute('rel') + '[|]' + trackingnumber.value);
});
new Insertion.Bottom(this.formAdditional, this.fieldTemplate.evaluate({name:'trackingnumbers', value:trackingnumbers}));
TIG MyParcel2014
- I am using the TIG MyParcel2014 extension and tracking numbers entered on the Sales > Orders grid are not added to shipments in bulk.
This is actually a rewrite conflict in our and their module. Please open the file /app/design/adminhtml/default/default/template/TIG/MyParcel2014/sales/order/mass_actions.phtml and look for this line:
apply : function (skipMyParcelCheck) {
AFTER it add:
var carriers = [];
Save the file, refresh grid. Done.
$('sales_order_grid_table').getElementsBySelector('.carrier-selector').each(function (carrier) {
if (carrier.value !== 'custom') carriers.push(carrier.readAttribute('rel') + '[|]' + carrier.value);
});
new Insertion.Bottom(this.formAdditional, this.fieldTemplate.evaluate({name:'carriers', value:carriers}));
var trackingnumbers = [];
$('sales_order_grid_table').getElementsBySelector('.tracking-input').each(function (trackingnumber) {
if (trackingnumber.value !== '') trackingnumbers.push(trackingnumber.readAttribute('rel') + '[|]' + trackingnumber.value);
});
new Insertion.Bottom(this.formAdditional, this.fieldTemplate.evaluate({name:'trackingnumbers', value:trackingnumbers}));
Mass actions at Sales > Orders take you back to the dashboard
This is a bug in Magento 1.4.1. Please refer to this link: http://magebase.com/magento-tutorials/sales-orders-mass-action-takes-you-back-to-dashboard/
SUPEE-6285 Patch
A patch released by Magento ("SUPEE-6285") causes problems for admins (with limited admin roles, i.e. not "full" admins) who try to bulk process orders. This has been fixed in module version 1.8.2 released on June 8, 2015. Please update the module.