How to automatically import simple grouped and configurable products

Last modified by cortex on Sun, July 25, 2010 17:28
Source|Old Revisions  

This is an old revision of the document!

This wiki page has been written starting from the great contribution provided in this forum thread by amartinez

First off, download the script files here

1) Create a new advanced profile

1.1) (System→Import/Export→Advanced Profiles) → Add New Profile

1.2) You can use “Productimport” as Profile Name

1.3) Insert the following text as Actions XML

<action type="dataflow/convert_adapter_io" method="load">
    <var name="type">file</var>
    <var name="path">var/import</var>
    <var name="filename"><![CDATA[name_of_my_impor_file.csv]]></var>
    <var name="format"><![CDATA[csv]]></var>

<action type="dataflow/convert_parser_csv" method="parse">
    <var name="delimiter"><![CDATA[,]]></var>
    <var name="enclose"><![CDATA["]]></var>
    <var name="fieldnames">true</var>
    <var name="store"><![CDATA[0]]></var>
    <var name="number_of_records">1</var>
    <var name="decimal_separator"><![CDATA[.]]></var>
    <var name="adapter">catalog/convert_adapter_productimport</var>
    <var name="method">parse</var>

1.4) Change “name_of_my_impor_file.csv” string with the name of your CSV file (eg. products.csv)

1.5) Click on Save Profile button and, when the advanced profile list is displayed, take note of the new profile ID (it should be 7 if no profiles were created before)

2) Upload “Productimport.php” file to /var/www/magento/app/code/local/Mage/Catalog/Model/Convert/Adapter/ folder (you should create the folder)

2.1) Look for the following line:

$rootId = 2; // our store's root category id

in your copy of Productimport.php and change with the ID of your root category.

3) Copy the “cron_import_products.php” file in the Magento root folder (eg /var/www/magento/) and make it executable (chmod +x cron_import_products.php)

3.1) Look for the following line:


in your copy of cron_import_products.php and change with the profile ID you have taken note at step 1.5)

4) Add a cron job to execute the import script periodically, something like “00 0 * * * root /var/www/magento/cron_import_products.php”

5) Prepare a products CSV file with the following columns:


Make sure, that the simple products are imported first (on top of the CSV file)!

6) If you want, prepare a customers CSV file with the following columns:


7) When you want to update your Magento store, you need to upload your CSV files to /var/www/magento/var/import/ folder.

8) Your image files must be in /var/www/magento/media/import folder.

Note: If you receive an Undefined property error when running, change the Productimport.php file as suggested by glandix2:


Update To import tier pricing at the same time, add a ‘tier_prices’ column to your csv, with prices like this: 50=31.99|100=22.99 and use the Productimport.php script included here

(thank you very much to mageuser for this excellent wiki ^_^)