One of the greatest advantages of Magento is that shoppers can search for nearly an endless number of parameters and terms and browse among the products. This makes shopping easier and also increases the chance of conversion because it is more likely that they will find the most desired product, even out of thousands of options. To be able to accomplish this, obviously, you need to fill up your store with products. No one stops by an empty shop window. Simple as that. Luckily, a number of different solutions are available for such a project.
The basics: via the Magento admin panel
The most trivial and simple way is to import the products manually into the Catalog. In the admin panel, under Catalog, you can find the Add Product button on the Manage Products page. With Magento’s CMS (Content Management System) you can easily and quickly modify the product database.
You can assign different parameters to the products so that customers not only can search the products with better results, but can also activate intelligent filters. Additionally, thanks to the parameters, you can also set up different user groups that will see specific offers. This all makes your life easier while managing your online store, however, throughout the database building process, you will need a more effective way.
1. Simple importing in Magento
It is a basic function of Magento with which, after only a few clicks, you can import your products from a .csv file. This method is quite simple after you have got the hang of it, like where to find the items and what sequence you should follow during the process. It offers a rather limited number of possibilities though.
If the file contains parameters that are not set included in the system (because you have not yet created the specific attributes), then importing will fail and the process will get stuck during the data check. Thus such a process is needed where the attributes contained in the .csv file are identical to the ones that the system holds.
This can be done on this page: System -> Import/Export -> Import. Since you can also upload customer data here, you need to select whether you want to do this or upload product data instead. You also need to choose from the following:
- add new data of the .csv file to the existing database,
- change the existing database to the imported one,
- or delete the items from the database that are present in the import file.
2. Bulk import with some extra steps
Of course, Magento’s admin panel provides the option to import more products at a time. Let’s see how bulk product import works that contains product attributes set beforehand.
First you need to create a category in the admin panel. This can be done in Catalog -> Manage Categories. Create all the categories you need at the moment, then, after filling out the required information panels, save them.
It is recommended to save the IDs of the newly created categories in a text file. The ID is shown by the system when you save the newly created category. Here it is also worth giving or creating those attributes that you want to use later on.
It is understandable that the Magento system cannot comprise all the things you may need, but it certainly provides the features to be able to add whatever you want. So you can add the attributes in Catalog -> Attributes -> Manage Attributes. Having this done, the “sample product” is created, which can be used as a “template” for the rest of the product imports. After saving it, it appears in the product list.
The next step seems a little more complicated, but in fact it is a simple process as well. The goal is to have access to the parameters of the sample product on your own computer so that you can modify the parameters in a simple way and then reload them up to the store. This can be done the following way: Go to System -> Import/Export -> Dataflow – Profiles and select the Export All Products option.
You need to define the online store where you wish to import the products under Profile Information (logically, this store must be the same where the sample product was created). Under the Data Transfer drop down menu select Local/Remote Server and make sure that CSV is selected with the format.
Next, save the profile and then export all the products again and click the button Run Profile in Popup. Thus you will get a file “export_all_products.csv” (whose name you can change if you wish), which is saved in Magento’s installation directory. You can download this file to your computer with the help of an FTP client, containing the columns with the previously defined attributes. If you open the file in a spreadsheet program (e.g. Microsoft Excel), you can easily fill out the fields and thus you can add the products you want to import. You need to add the category IDs here as well, make sure you place the proper products in the correct categories.
Finished? Now go to System -> Import/Export -> Dataflow – Profiles -> Import All Products and select Upload File and then choose the modified .csv file. After the upload, go to Import All Products again and select Run Profile in Popup and then click the uploaded file in the dropdown menu. Now all you have to do is check the product list to see if the upload has been successful.
3. Using Magento Mass Importer, aka Magmi
If you want to have a clear and easy-to-use solution with several other options, the free Magmi application may be the answer. This is basically an external user platform which offers you a number of import/export functions that are originally not included in the Magento system.
Based on our experience, it is simpler to import products with the use of Magmi, however, you will still need to create the necessary .csv files. So the database needs to be created by you, but with Magmi it can be easier to upload it to your system. The only initial drawback may be that you have to learn how to use a new admin area, but before you start worrying, it is not such a big deal.
There is a lot of documentation which guides you through the process step by step, even a dedicated Wiki page has been set up to help users get every bit of information they need. Its huge advantage is that such tasks as mass import of images or automatic category creation with the importing process can be accomplished.
4. Paid Magento extensions
The “capabilities” of Magento can be broadened by buying and adding special extensions to it. Most users employ the Magmi application because it has a great variety of functions and can be downloaded for free. But if you need a special feature, you can find extensions fulfilling your requirements.
It is good to know that such extensions cost approx. USD50-100 per extension, so if you want to have some custom extensions to maximize efficiency, obviously, you will need to spend a certain amount of money and it is wise to allocate a portion of your budget to such developments for the future.
As you could see above, in the case of Magento, one of the major challenges is to make the basic templates that you can later use for importing the products. If you do not pay special attention to this process, problems with compatibility may arise even because of some minor missing attributes. Therefore the template should be created within the online store itself and thus the system will be able to read it afterwards. This file needs to be exported to your computer and edited in such a way that it contains the detailed information of every product you want to offer.
To Magento, however, it is very important what kind of program you use to manage the .csv files. We have seen that Excel is not suitable to handle such tasks flawlessly, so we recommend using other software. You can find the free-to-download Calc program in the Libre Office software package, which is easy to use for Excel users and has all the functions you need for your files.
When saving CSV files, use UTF-8 formatting. It is probably the safest way to avoid any problems in the future, but it is still not a 100% problem-free solution. You have to be careful with special characters, for example. If a product attribute contains special characters that the given format is incompatible with, it may cause difficulties when importing.
The error usually manifests in the way that the product field is left empty. If you really need to use special characters, e.g. line breaks or commas, place the content of the field between quotation marks (see examples below where we describe attributes), thus it will likely appear properly. This mainly applies to product descriptions, with the rest of the attributes it is better not to use special characters at all.
Put the images you would like to import in the /media/import directory
The system needs to process every single image during importing. Upload the raw images to the /media/import directory before importing the product database. It is also crucial how you set the names of the images. In order to avoid unpleasant surprises, make sure to set the same names and extensions as the table includes.
Do not change the columns of the table
The essence of the process mentioned above is to use the same attributes that the engine of your ecommerce store can recognize and handle. If you change these even just a little while editing the file, it may cause unforeseen errors. Most likely the import process will fail.
The columns (/attributes) that you must set
We have already described thoroughly what compatibility problems you may encounter if you upload your products in an inappropriate format. Now let us see which columns or attributes you definitely need to include in your source .csv file.
- websites – the website entity which has a “base” value by default.
- store – the online store assigned to the product, has an “admin” value by default.
- type – the type of the product.
- attribute_set – default, or another group of attributes, you can check this in the admin panel on the following page: Catalog -> Attributes -> Manage Attributes
- tax_class_id – the tax type assigned to the product, you can find its features in the admin panel at Sales -> Tax
- status – the status of the product, its value can either be “Enabled” or “Disabled”.
- weight – the weight of the product; if you do not need it, simply type 1 here.
- sku – the unique identifier of the product.
- name – the name of the product.
- price – the price of the product.
- description – the detailed description of the product, which will appear on the product page.
- short_description – the short description of the product, it can appear in different places (e.g. on search result pages) depending on the settings.
- visibility – the visibility of the product, it may have values such as “Not Visible Individually”, “Catalog, Search”, “Catalog” and “Search”.
- category_ids – category identifiers (ID); we have already mentioned it.
- qty – the quantity of the product.
- is_in_stock – the inventory value assigned to the product, where 1 means that the product is in stock and 0 that it is not. Those products that are not in stock are not shown on the main page of the online store and cannot be purchased either.
- image, small_image, thumbnail – here we can define the paths and file names of the images assigned to the products. You need to know that the system makes a difference to letter case, i.e. small and capital letters. You should avoid using spaces all together. You can use the same larger image file for displaying the three different image types (image, small_image, thumbnail), the system will automatically resize it.
“Image does not exist”
You may see this message if you have given the names of the image files in the .csv file inappropriately. You should check the names again carefully not to have any problematic characters in them.
Products fail to appear
The imported products do not appear on the main page if you do not properly define certain attributes. Properties that are needed for making images appear:
- websites = base
- store = admin
- status = Enabled
- visibility = Catalog, Search
- category_ids = # (it must be an existing category identifier!)
- qty > 1
- is_in_stock = 1
The basic functions of the Magento system give you the opportunity to create very useful properties such as products, attributes, product groups, and other entities. However, successful importing from pre-set databases may be a challenge when relying only on built-in options.
Thanks to the previously described methods and Magento’s flexible system, with the use of .csv files you can easily upload databases containing even tens of thousands of products in a way that the software can manage them without any problem. Consequently, you save a lot of time as you do not have to upload every single product or manually set every parameter. Just think of how much it would cost you to get such a lengthy work process done. Also, this means that there is a simpler way to successfully migrate databases to Magento from other systems.
Having said all these, if you still feel you need any further assistance, we are happy to offer you our Magento Project Rescue service which helps you solve basically any problem that you experience at the moment with your Magento ecommerce store.