Question

How I can change stock availability ie in stock and out of stock of product programmatically using product ID?

Was it helpful?

Solution

The following code should work for you

$stock_item = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product_id);
if (!$stock_item->getId()) {
    $stock_item->setData('product_id', $product_id);
    $stock_item->setData('stock_id', 1); 
}

$stock_item->setData('is_in_stock', 1); // is 0 or 1
$stock_item->setData('manage_stock', 1); // should be 1 to make something out of stock

try {
    $stock_item->save();
} catch (Exception $e) {
    echo "{$e}";
}
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top