8. Import Products
fmProductImportExport
This Wizard will help you to Import products to CRE Loaded database to update it with modified products data by selecting appropriate action.
Pay attention to each Wizard's page when importing products. CRE Loaded Import is a rather complicated procedure and it may be destructive if performed incorrectly. Create Database backup before importing products especially if you do it for the first time.
To import products to CRE Loaded follow a few steps listed below:
- First of all prepare a .csv file for Import. Make sure it contains all necessary fields and that all the data you are going to import are listed in the table. Here's a list of fields that your .csv file may include and detailed description of those fields:
- Product ID - is an internal database field, it should be of numeric type only and must have unique values across entire table. The value from .csv file will not be imported from the file or changed at your store as it should be assigned automatically by shopping cart itself (other database tables can have references to this field pointing to specific products). During import ID can be used for identifying products only. Check more about product identification below (step 6).
- Model (SKU) - is a standard, alphanumeric string that uniquely identifies the product. It is assigned to the product by manufacturer according to the procedure and is used internationally. You should be able to receive the standard code for all of your products from your supplier easily. Just contact them with this request. This field should have unique values and may be used for identifying products during the CRE Loaded import, see step 6 for more information about product identification.
- In Stock - this field acquires "0" or "1" value only. It indicates the availability of the product. For example, value "1" means that product is available in stock. In case it has "0" value than the product is not available for purchase and will not be displayed at your Store. In case you skip this column, your products will be set as 'out of stock' and will not be shown at your store frontend. To set the value as 'in stock' for all products you can specify 1 value for first product in your .csv file and spread it for all the products.
- Price - the product price should be the cost of the product before tax or shipping. Do not include any rebates, coupons, or bulk discounts. Prices should be whole numbers with a maximum of two decimal places. Price fields are numeric; no text is permitted. Do not include “$” or any other symbols.
- Category - specify the category your product belongs to. If the product should be imported into subcategory use pipe character "|" to separate parent and subcategory, for example: "Computers|Keyboards" - the product will be assigned to Keyboards category.
- If you need to assign the same product to multiple categories, use double delimiter, in your .csv file. Here is the example: "Computers|Keyboards||Computers|Other". After that the product will be assigned both to Keyboards and to Other category while CRE Loaded import.
- In our case Pipe is used as category delimiter. Category delimiter character should be specified on the 5-th step. It is used to separate category names and specify full category tree path for given category. Category path is very similar to directory path and is used to specify full file name in Windows, where every directory separated by backslash (\) character, like in the following example: C:\Program Files\eMagicOne\Store Manager for ...\
- In case your supplier provides you with the file that has categories in a separate columns, you can merge them to get appropriate format using Expressions field or you can merge them using Excel manually. Please follow these steps to merge categories using Expression field (is recommended to use with Automated Product Import):
- 1. At the fifth step “Assign .csv Columns to Database Fields" of Import Wizard find the “Category Name” field
- 2. Set the following expressions for this field:
- CONCAT([CSV_COL(1)], '|', [CSV_COL(2)], '|' , ... , [CSV_COL(N)])
- where: [CSV_COL(N)] is the separate column of .csv file with the category name (N is the column number or sort order)
- '|' - is category delimiter (which has been chosen at the previous step)
- 3. Complete the Import and check categories
- In order to merge category columns in Excel, please, use the following formula:
- =B2&"|"&C2
- Product ID - is an internal database field, it should be of numeric type only and must have unique values across entire table. The value from .csv file will not be imported from the file or changed at your store as it should be assigned automatically by shopping cart itself (other database tables can have references to this field pointing to specific products). During import ID can be used for identifying products only. Check more about product identification below (step 6).
- where
- | - is category delimiter
- B2 - is your parent category column in .csv file and
- C2 - is sub category column in .csv file.
- Product image - allows you to import images for the product. You can choose where you would like to upload pictures from - your local computer or external web URLs. Please note that in order to import images you have to set-up a proper FTP connection. Please check these articles: how to upload images from local pc and how to upload images if you have external image URLs if you need help.
- Attributes - Store Manager requires a specific formatting for product attributes. You are welcome to export a few products with attributes and you'll see the format. Also you can see an example below. Please note, that you can use Excel to merge your attributes in case you have them in separate columns. You're welcome to contact your administrator for help or ask Google for help.
Also you can import attributes from separate columns of .csv file. Please, note that it is convenient to use if you are updating products from supplier .csv file. In case you are importing products from one store to another one, you can use default system of attributes import, where attributes specified for each products in separate row, not in columns.
Click here to see a sample of correctly configured .csv file. If you cannot download the file, see the one attached at the bottom of the page.
If your vendor provides you product list in Excel, you can convert your Excel files to the CSV format within the Microsoft Excel or OpenOffice application by using the Save As option. To do this you need to use File -> Save As dialog box which contains a list of alternative file formats. Among the file extensions offered, you can find Text CSV file format. By saving your file into CSV format, Microsoft Excel or OpenOffice will export the first active worksheet with the correct delimiters.
- To start Import Products you need to click button that starts the Import/Export Wizard. Select "Import" in the Import/Export Wizard and click "Next >" button to continue.
- Enter the .csv file you need to import or use browse button to select one.
- Also you can load Import Settings that were saved earlier for the .csv file with the same format (file that includes same columns in the same order).
- Source file preview shows a part of .csv file selected to import. There are no options to set, but you should pay some attention to field delimiter and quote character field, if some is used.
- If you carefully check the very first line of the example, you'll notice that some words enclosed in quotes (") and are separated by coma (,) symbol. Those are two important options you have to pay attention to - you will have to setup these settings on next page. Usually it is enough to see first line, no need to investigate entire file.
- Also you can enable and set the row # you want to start CRE Loaded import from.
- Select fields delimiter and quote character page contains some important settings. If you specify wrong values, CRE Loaded import may not work.
- Delimiter character - is the delimiter that is used to separate values (columns) in .csv file. Most popular delimiters are comma (,), semicolon (;) and tab character ( ), however the other symbols can be used as well. On previous sample page we have noticed that comma symbol was used as delimiter and values were quoted with " symbol. Specify two first settings as shown above.
- Note .csv file contains data in row - column format and delimiter character are used to separate one column from another. If you specify incorrect delimiter, file will not be parsed properly and categories will not be imported
- Category delimiter - we've discussed it on the first step when we prepared .csv file. As you know categories are organized in a form of tree, where parent category can contain one or more subcategories, and subcategory may be divided into one or more other categories. Category delimiter character is used to separate category names and specify full category tree path for given category. Category path is very similar to directory path used to specify full file name in Windows, where every directory separated by backslash (\) character like this one C:\Program Files\eMagicOne\Store Manager for CRE Loaded\. As for example category path Hardware|Graphics Cards allows you to assign product to Graphics Cards category, where pipe (|) character is used as a separator.
- Image Import Options
- Upload images - Enable the option in order to upload images to you server via FTP. Please make sure that you have specified correct FTP details in Tools -> Preferences -> FTP tab.
- Apply default settings to all images - Allows you to configure default settings to all images.
- Default Images Path - Can be used only for images or product descriptions in combination with "Is External" option. If image name or description file name are incomplete i.e. they do not contain full path including drive letter or "http:// prefix along with domain name (for images only) this default path will be added to image or description file path. If image name or description contain full path this option may be ignored unless you checked "Keep file path" option (for images only). You can specify local directory path here or HTTP directory URL ("http://www.someimagestorage.com/images/products/ )
- Keep Image File Path - Allows you to keep image path and upload images into sub folders. Should be used with Default Images Path option. For instance, specify default images path as shown in the example: C:\temp\Images if your .csv file contains full image path on your local PC like the following - C:\temp\Images\imagesubdirectory\imagename.jpg, where \imagesubdirectory is the images sub directory(eis) that you would like to create on your server and upload images to. Also subdirectories names should match the sub directory(ies) on your local PC (where images are located on your desktop).
- Images Sub Folder - Allows to set path to Images Sub Folder at your FTP.
- Default Resize Rule - Allows you to specify resizing rules for images.
- The next page allows you to Link columns from .csv file to appropriate database fields.
- The left pane "Database Fields" shows the list of fields in your database that can receive import data.
- First row in .csv file contains field names, but not values - Obviously it should be checked if the first row of .csv file contains data, otherwise uncheck this option.
- Products Identification Method - It is the topmost option as CRE Loaded import will search for a product using selected method of identification. The product will be modified if found, if not - new product will be added.
- Lets say you choose Identify Products By Product ID, then the process is performed in the following way:
- 1. Import takes first row of the .csv file and retrieves value from a .csv column assigned to Product ID field. As you can see above, the Product ID field is assigned to the 1st column from your file and the value is "1"
- 2. Import tries to find product with ID of 1 in your store:
- - If product found it will modify it and set all values from .csv columns of the first line to the assigned fields (even if you have let's say some Camera or Keyboard saved under the 1st ID, it will set values from file, in our case it is memory card)
- - if product with ID 1 is not found it will create new one and set all values from assigned columns to that new product.
- The same is true for Product Model and Name + Model identification methods, except that model and name can be updated in your database from your .csv file.
- Note: It is required to assign .csv columns to key fields depending on identification method.
- Important Note! Source .csv file can contain multiple records with identical data for identification values (for example the same model number for multiple products). All these products (with the same ID or Model) will be considered as one. Currently imported to shopping cart product will overwrite previously imported with the same key field values. Note, that sometimes one of key fields may be blank. Obviously blank fields contain the same value for all records, thus only one product will be updated.
- Database Fields shows the list of fields in your database that can receive import data. Database Fields contain the following columns:
- Name - contains database field name. Some values in this column contain actual field name, whereas the other are "translated". Anyway, these names are clear enough to figure out how to use them.
- csv column - the number of the column in .csv file corresponding to this field. it is the link between database field and .csv column.
- Set Null - indicates that this field should not contain any data, but should be set to Null. You can either specify column name or check this option, but not both of the actions at the same time.
- Set Default - used to set some default value to a field, which is similar to Set Null, but in this case some value can be assigned to a field. It is enabled once you specified any default value.
- Default - enter the value assigned to a field. It is a good idea to use the field for such database fields as 'in stock', in case you would like to show all the products from your file. Simply set default value as 1 for "In Stock / Out of Stock" database field.
- Expression - can be used for calculations while import. It is a good idea to use expressions to calculate the price (add 20% to your supplier's price), add quantity to your current stock (add new products to your current stock), etc. Please see an article for details.
- To assign .csv column to database field simply select a field at the left pane and then click a column at the right pane.
- [Auto Fill...] button - try to set correspondence automatically for all fields. Auto fill option will work only if .csv column name is the same as database field name ("translated").
- [Clear] button - clear all "csv col" values at the left pane.
- Click "Next" when you're done.
- To import CRE Loaded attributes from separate columns you should create additional attribute field for each attribute. Once it is created, you will get 4 additional options: Option, Value, Prefix, Price. You need to assign attribute value, prefix and price for each attribute column of your file to appropriate attribute options of database in each additional field.
- The next is Base Formats and separators. They can be set by default.
- Products were not imported to your database yet. On Import Preview page you can see how .csv file was processed using import settings, which you specified at previous steps. Check whether all columns that you want to be imported are filled with data: some of them may be blank. This means that either you haven't assigned .csv column or it is empty in source (.csv) file. Columns that were not assigned will not be imported, whereas empty values will overwrite existing.
- Red blinking arrow will be shown to draw your attention if any errors occurred.
- Import options page settings may affect Import results. Please read and check your selection carefully.
- Default category - If category name is specified in .csv file and there's no "category name" for some product in column (in .csv) or if it is not assigned, all products will be imported to a category specified here. If default category is not specified and there's no other way to determine to which category the products are imported, Store Manager will place all the new products into your store root.
- Default manufacturer is set almost the same way as for category, except that product may not have manufacturer at all - it is not important. Also you can uncheck option in case you do not want to create new manufacturer if currently imported does not exist in database.
- Delete existing attributes when importing new - If checked, CRE Loaded import will clear all the current product attributes and then add new ones. If unchecked it will just add new attribute, but note that it may cause duplication of attributes.
- Mark unlisted products as "Out of Stock" (in osCommerce and CRE Loaded this is "In Stock" property of a product) - all products that were not affected by CRE Loaded import will be marked as unavailable, but they will not be deleted.
- Cache import data - this option may speed-up import process. How does it work? Store Manager does huge number of database operations, while importing products. Many tables are updated by import and a lot of data should be processed. With slow database connection it may take too long - several hours or even days - depending on the number of records and connection speed. If cache option is checked, Store Manager will generate database backup file - the same as you can do using Backup/Restore wizard with "Product related tables only" option. After the backup is generated, program restores this backup on local database. All further CRE Loaded import operations will be made locally, it will be done much faster than through remote connection. After import is completed it will generate another backup - from local database and then restore this backup to your remote store.
- With "Cache import data" option import procedure will show several backup/restore progress dialogs - this is ordinary behavior.
- Note: Cache import data option is ignored when connected to Embedded database.
- Import Method basing on product identification (see step 6 above)
- Add and Modify - will add new product if it is not available in database yet and modify those products that were found.
- Add Only - only add new products (ignore identification).
- Modify Only - only update existing products and do not add new entries, even if current product was not found.
- Just Add - this option may produce product duplicates, since Store Manager will not try to find existing products, but will only add all products as new.
- Save Import Configuration - All import settings can be saved under some configuration. You can load it next time you decide to import products to your store from a file with similar formatting, column names etc.
- Attention! Import process will start, when you press "Import" Button! Proceed only if all the settings are made, otherwise press "Back" Button and check settings once more!
- On the last step of Import Products Wizard you will see if any errors occur during import. Also you will see logs with details.
Most frequent CRE Loaded import errors are date, time and number conversion issues, caused by invalid format settings (specified at previous pages) or improperly assigned column (i.e. if you assign column containing category ID to parent_category database field).
Date/time conversion errors might be ignored whereas other errors like this one (Could not find image: image_name.gif) has to be fixed.
If you need assistance with import configuration, we'll gladly help you to setup everything correctly for additional fee. Please contact us at contact[at]creloaded-manager[dot]com for details.