steffen-wirth
8/14/2017 - 8:16 AM

reomve shipment of order

reomve shipment of order

<?php 
require_once  'app/Mage.php';

Varien_Profiler::enable();
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
umask(0);
Mage::app('default');
Mage::register('isSecureArea', 1);


//Update Order id
$orderId = xyz;


$order = Mage::getModel('sales/order')->load($orderId);

// check if has shipments
if(!$order->hasShipments()){
    die('No Shipments');
}

//delete shipment
$shipments = $order->getShipmentsCollection();
foreach ($shipments as $shipment){
    $shipment->delete();
}

// Reset item shipment qty
// see Mage_Sales_Model_Order_Item::getSimpleQtyToShip()
$items = $order->getAllVisibleItems();
foreach($items as $i){
   $i->setQtyShipped(0);
   $i->save();
}

//Reset order state
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true, 'Undo Shipment');
$order->save();

echo 'Done';