I searched all around to find this solution. In Magento Commerce, there is no provision for manually changing order status from the admin panel. We use the “Ship” button in Magento to creating packing slips. We then process our order from that packing slip. This does not mean that the order is “Completed“, but according to the Magento Admin, the order is “Completed“. There is no way to change the status. When you try the drop down for “Status“, there is no choice other than “Completed“.
So here is the fix:
locate config.xml under Magento\app\code\core\Mage\Sales\etc\
Find this block of code:
<states><states> <new translate="label"> <label>New</label> <statuses> <pending/> </statuses> <visible_on_front/> </new> <pending_payment translate="label"> <label>Pending Payment</label> <statuses> <pending_paypal/> </statuses> </pending_payment> <processing translate="label"> <label>Processing</label> <statuses> <processing/> </statuses> <visible_on_front/> </processing> <complete translate="label"> <label>Complete</label> <statuses> <complete/> </statuses> <visible_on_front/> </complete> <closed translate="label"> <label>Closed</label> <statuses> <closed/> </statuses> <visible_on_front/> </closed> <canceled translate="label"> <label>Canceled</label> <statuses> <canceled/> </statuses> <visible_on_front/> </canceled> <holded translate="label"> <label>On Hold</label> <statuses> <holded/> </statuses> <visible_on_front/> </holded> </states>
Change it to this:
<states>
<new translate="label">
<label>New</label>
<statuses>
<pending/>
<processing/>
<holded/>
<complete/>
<closed/>
<canceled/>
</statuses>
</new>
<pending translate="label">
<label>Pending</label>
<statuses>
<pending/>
<processing/>
<holded/>
<complete/>
<closed/>
<canceled/>
</statuses>
</pending>
<processing translate="label">
<label>Processing</label>
<statuses>
<pending/>
<processing/>
<holded/>
<complete/>
<closed/>
<canceled/>
</statuses>
</processing>
<complete translate="label">
<label>Complete</label>
<statuses>
<complete/>
<pending/>
<processing/>
<holded/>
<closed/>
<canceled/>
</statuses>
</complete>
<closed translate="label">
<label>Closed</label>
<statuses>
<pending/>
<processing/>
<holded/>
<complete/>
<closed/>
<canceled/>
</statuses>
</closed>
<canceled translate="label">
<label>Canceled</label>
<statuses>
<pending/>
<processing/>
<holded/>
<complete/>
<closed/>
<canceled/>
</statuses>
</canceled>
<holded translate="label">
<label>On Hold</label>
<statuses>
<pending/>
<processing/>
<holded/>
<complete/>
<closed/>
<canceled/>
</statuses>
</holded>
</states>
Save the file.
Refresh your cache in Magento.
That should now allow you to manually change order status in Magento Commerce.
