Keith Greer Batch importer for Magento Product SKUs

Place the following script in your Magento root folder

First create your CSV with the old and new SKU numbers in a simple CSV file as follows and upload onto FTP into the magento/var/import directory.


One product on each line the current SKU followed by a comma, then the new SKU you wanto to use followed by a new line. Next, place the following script in the root folder of your Magento install. Make sure $updates_file matches the location of the CSV file on the server.


ini_set('error_reporting', E_ALL);

// Location of Mage.php relative to current script
include_once 'app/Mage.php';

// Location of CSV relative to file system root
echo realpath(dirname(__FILE__));
$updates_handle=fopen($updates_file, 'r');
echo "1 "; 
if($updates_handle) { 
echo "2 "; 
    while($sku_entry=fgetcsv($updates_handle, 1000, ",")) { 
        echo "Updating ".$old_sku." to ".$new_sku." - ";
        try {
            $get_item = Mage::getModel('catalog/product')-&gt;loadByAttribute('sku', $old_sku);
            if ($get_item) {
                echo "successful";
            } else {
                echo "item not found";
        } catch (Exception $e) { 
            echo "Cannot retrieve products from Magento: ".$e-&gt;getMessage()."

An alternative method uses the SOAP API built into Magento but is slightly slower.