Magento Fast Product Import User Guide
General installation steps
- Backup your web directory and database
- Download and unzip extension contents on your computer and navigate inside the extracted folder.
- Disable compilation under System->Tools->Compilation if you are using it.
- Using your FTP client upload app, skin and js directories to your store root.
- Refresh cache
- Enable compilation if you are using it.
Your first import
If installation went fine, you should see new menu item under System->Import/Export: Fast Bulk Product Import. First, we need to open Dataflow-Profiles page to create our first import profile.
Available options:
General Tab
- Profile Name - name for future uses
- Column Mapping - select whether you set valid column headers in first csv row or will define mapping manually through configurator
- Scope for Attribute Values - select the store for which you would like to import the data
- Create New Items - select whether you need to create new items or only update existing ones
- Update Existing Products - select whether you need to update existing products or not
- Sku Transform Pattern - expression to use if you need to transform the sku from csv, e.g. adding suffix/prefix. {sku} from the pattern will be replaced by the actual sku from csv file. For example, "prefix-{sku}-suffix" will add "prefix-" before and "-suffix" after sku value
- Create Categories - the flag to create new categories or not
- Create Options - the flag to create new attribute options for dropdown and multiple select attributes
- Column Delimiter - delimiter used to separate csv column values
- Option Delimiter - delimiter used to separate multiple options for multiselect attributes
- Correction Factor for Options - a value in percents for correction factor. It means if you have a big csv file where some options are named simillary but not exactly the same because of typo or something else and you don't want to process it manually, you can set correction factor and such options will be imported as one option. For example you have "AlfaRomeo" attribute opion. In csv you have "AlfaTomeo" and "AlfqTomeo" options because of typos. You set correction factor to 20% and it means that if 2 options has 80% concurrence they are concidered the same and options will be imported with correct name "AlfaRomeo"
Custom column mapping (active if column mapping setting is set to manual)
You should set mapping for your csv columns and valid Magento attributes. Just put column number (starts from 0) in the first column and correspondent existing Magento attribute in the second.
Fallback attribute values
In case you are missing some attribute values in your csv file (like status, websites etc.), you can set default values to be used during import
Available conditions for fallback:
- All Products - fallback value will be applied for all products in csv file
- Only if value is empty - fallback value will be applied for products where attribute value is not found or empty
- Only if value is not empty - fallback value will be applied for products where attribute value is not empty
Column Transformations
If you need to apply some additional logic to a column value before importing it, you can apply one or several transformations on column value.
Put your column number (starts from 0) into column number field, choose transformation type and put value, if necessary.
Available transformation types:
- Uppercase - column value will be transformed to upper case. Example: lorem ipsum -> LOREM IPSUM
- Lowercase - column value will be transformed to lower case. Example: LORem IPSum -> lorem ipsum
- Lowercase and Capitilize All - each word in column value will be transformed to lower case and first letter of word - capitilized. Example: lOrem ipSUM -> Lorem Ipsum
- Capitilize - first letter of value will be capitilized. Example: lorem ipsum -> Lorem ipsum
- Replace - replacement based on condition set in "Value" field will be applied to column value. "Value" field should have the next format: from_str1,from_str2|to_str1,to_str2. In this case, all occurencies of from_str1 will be replaced with to_str1, and from_str2 - with to_str2. Example: if we have m|t in Value column, lorem ipsum -> loret ipsut
- Round - column value will be rounded. Example 2.6 -> 3.
- Round fractions up - column value will be rounded up. Example 2.4 -> 3.
- Round fractions down - column value will be rounded down. Example 2.6 -> 2.
- Add - string or number you put in "Value" column will be added to the column value. Example: if we have 10 in Value colum, 20 -> 30
- Multiply by - column value will be multiplied by a number you put in "Value" column. Example: if we have 1.2 in Value colum, 10 -> 12
Schedule Tab
- Cron Time - time to execute scheduled import (check http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/ for a reference)
- Data File - path to the file on the server that should be imported with a cron job
Running profile
After you set the options you can save profile or "save and run". Running profile will lead you to the page where you can upload necessary csv file and run profile. When import is finished, you see a message with total records found,skipped and imported.
The last step is updating all indexes under System->Index Management to make your store front up to date
List of supported attributes with examples
Note! From version 2.0.3 empty attributes for existing products will be skipped, if you want to remove values, you must set cell value to "unset"
Attribute Code | Value |
---|---|
sku | ATRE5035 |
attribute_set | Defatul |
type | simple|configurable|grouped|bundle|downloadable|virtual |
name | Nine West Women's Lucero Pump |
description | This flirty pump has a leather upper, a pretty almond-shaped toe with a slight V-cut vamp |
short_description | This flirty pump has a leather upper, a pretty almond-shaped toe with a slight V-cut vamp |
weight | 1.25 |
status (value must be translated to current locale language) | Enabled|Disabled |
visibility (value must be translated to current locale language) | "Catalog, Search"|Catalog|Search|"Not Visible Individually" |
tax_class_id | None|Taxable Goods |
url_key | nine-west-women-s-lucero-pump |
news_from_date | 2012-12-24 |
news_to_date | 2012-12-24 |
price | 10.99 |
cost | 9.99 |
special_price | 8.88 |
special_from_date | 2012-12-24 |
special_to_date | 2012-12-24 |
enable_googlecheckout | No|Yes |
msrp | 5.99 |
meta_title | Nine West Women's Lucero Pump |
meta_description | This flirty pump has a leather upper, a pretty almond-shaped toe with a slight V-cut vamp |
meta_keyword | "pump, shoes" |
custom_design | default/blank |
custom_design_from | 2012-12-24 |
custom_design_to | 2012-12-24 |
custom_layout_update | |
page_layout | 1 column |
gift_message_available | Yes|No |
manage_stock | 1|0 |
use_config_manage_stock | 1|0 |
qty | 100 |
min_qty | 10 |
use_config_min_qty | 1|0 |
min_sale_qty | 5 |
use_config_min_sale_qty | 1|0 |
max_sale_qty | 5 |
use_config_max_sale_qty | 1|0 |
is_qty_decimal | 0|1 |
backorders | 0|1 |
use_config_backorders | 0|1 |
notify_stock_qty | 0|1 |
use_config_notify_stock_qty | 0|1 |
enable_qty_increments | 0|1 |
use_config_enable_qty_inc | 0|1 |
use_config_qty_increments | 5 |
qty_increments | 5 |
is_in_stock | 0|1 |
websites (necessary websites codes separated by coma) | "base,custom_website" |
categories | "Category1/Subcategory1,Category2/Subcategory2" |
category_ids | "1,4,6" |
relation (related products) | "related_product_sku1,related_product_sku2" |
up_sell (up-sell products) | "upsell_product_sku1,upsell_product_sku2" |
cross_sell (cross-sell products) | "cross_sell_product_sku1,cross_sell_product_sku2" |
Media attributes. All images must be uploaded to media/import folder, then relative pathes must be used in a csv file | |
image | /red_highheels.jpg |
small_image | /red_highheels.jpg |
thumbnail | /red_highheels.jpg |
images(additional gallery images can be added here separated by coma) | "/green_highheels.jpg,/blue_highheels.jpg" |
image_labels(gallery images labels separated by coma. First 3 values are image label, small_image label and thumbnail label, then you should put other images labels in the same order as in "images" column) | "image_label,small_image_label,thumbnail_label,other_label" |
image_positions(gallery images sort order separated by coma. You should put images sort order for images found in "images" column) | "3,1,2" |
exclude_images(images for exclude from media gallery on product page) | "/green_highheels.jpg,/blue_highheels.jpg" |
clear_old_gallery (Removes all images for product) | 1|0 |
Custom attributes examples | |
manufacturer (dropdown) | Acer |
color (multiple select) | "Black,Red" |
Custom Options (use | as separator to create several custom options). Please note, that all existing custom options will be removed.
options_container | container1|container2 |
custom_options | {'type':'drop_down','is_require':1,'sku':'custom option','sort_order':'100','title':'Default Title','values':{'1':{'sku':'value sku','sort_order':1,'title':'Default Title','price':100},'2':{'sku':'value sku2','sort_order':2,'title':'Default Title 2','price':200}}} |
It will create required dropdown option with 2 values. Required fields here are type, title and values. Sku, is_require and sort_order can be skipped | |
Supported Options Types | |
Type code | Type Label |
---|---|
drop_down | Drop-down |
radio | Radio Buttons |
checkbox | Checkbox |
multiple | Multiple Select |
field | Text Input |
area | Textarea |
file | File input |
date | Date |
date_time | Date & Time |
time | Time |
Tier and Group Pricing (use | as separator to create several group/tier pricings)
group_pricing | "Customer Group Name,Website Code,Price", e.g. "QAAAA,base,100|Retailer,website2,1000|Wholesale,all,100" |
It will create 3 group prices for QAAAA on base webiste, Retailer on website2 and Wholesale on all websites | |
tier_pricing | "Customer Group Name,Website Code,Qty,Price", e.g. "QAAAA,base,10,100|Retailer,website2,20,10" |
It will create 2 tier prices for QAAAA on base webiste for qty 10 and price 100, Retailer on website2 for qty 20 and price 10 |
Configurable products import
options_container | container1|container2 |
configurable_attributes | "color,manufacturer" |
associated_products | "sku1,sku2,sku3" |
configurable_pricing (ues | to separate several attributes) | "attribute_code:[opion name;price;f - for fixed price or p for percentage]", e.g. "manufacturer:[test manufacturer;5;f]|color:[Black;5;p],[White;10;f] |
Grouped products import
associated_simple_products | "sku1,sku2,sku3" |
Bundle Products
options_container | container1|container2 |
price_type | 0|1, 0 - Dynamic, 1 - Fixed |
sku_type | 0|1, 0 - Dynamic, 1 - Fixed |
weight_type | 0|1, 0 - Dynamic, 1 - Fixed |
bundle_data | {'type':'select','required':1,'position':'1','title':'Default Title','selections':{'1':'test1,0,0,0,10.0,2,1','2':'test2,0,0,1,10,2,1'}} |
It will create required dropdown option with 2 selections. Required fields here are type, title and selections. required and position can be skipped. | |
Selections data syntax: sku,position,is_default,price_type,price,qty,can_change_qty | |
sku | Selection product sku |
position | Selection position |
is_default | 0|1 |
price_type | 0|1, 0 - fixed, 1- percent |
price | selection price or percent value |
qty | selection qty |
can_change_qty | 0|1 - User Defined Qty value, 0 - No, 1- Yes |
Supported Options Types | |
Type code | Type Label |
---|---|
select | Drop-down |
radio | Radio Buttons |
checkbox | Checkbox |
multi | Multiple Select |
Some example csv files
Simple example csv file with common attributes: Coma-separated or Semicolon-separated
Csv file for stock only updates: Stock Only
Csv file for custom options Custom Options only
Csv file for tier/grouped pricing Tier/Grouped Prices only
Csv file for Configurable/Grouped products Configurable/Grouped products
Csv file for Bundle products Bundle products