<?php 
 
try { 
    $file = __DIR__ . '/products.csv'; 
 
    /** @var Varien_File_Csv $products */ 
    $products = new Varien_File_Csv(); 
    $products->setDelimiter(';'); 
    $productsRows = $products->getData($file); 
    array_shift($productsRows); 
 
    /** @var Mage_Catalog_Model_Product  $productModel */ 
    $productModel = Mage::getModel('catalog/product'); 
 
    /** @var Mage_CatalogInventory_Model_Stock_Item  $productModel */ 
    $stockItemModel = Mage::getModel('cataloginventory/stock_item'); 
 
    $errors = []; 
 
    foreach ($productsRows as $product) { 
        try { 
            $id = $productModel->getIdBySku(trim($product[0])); 
            $stockItemModel->loadByProduct($id); 
            if (!$stockItemModel->getId() || !$stockItemModel->getManageStock()) { 
                $stockItemModel->clearInstance(); 
                throw new Exception('Product not found or not manage.'); 
            } 
            $stockItemModel->setQty($product[2]); 
            $stockItemModel->setIsInStock((int)($product[2] > 0)); 
            $stockItemModel->save(); 
            $stockItemModel->clearInstance(); 
        } catch (Exception $e) { 
            $errors[] = [ 
                'message' => $e->getMessage(), 
                'product' => $product 
            ]; 
        } 
    } 
} catch (Exception $e) { 
    $this->log($e); 
} 
 
if (!empty($errors)) { 
    $this->log($errors); 
}
 
 |