What is the most common process for importing products?
Does everyone use the product import/export tool?
The CSV file format is not something that the client is likely to fill in and if they try it is 99 percent guaranteed that they will get it wrong.

Do most people write there own scripts for this or do they manually create the import CSV file in the format that is required for it to work?

  • 2
    Do not use Magmi sourceforge.net/projects/magmi
    – Alex
    Jan 23, 2013 at 11:38
  • 7
    Can you expand on why not to use Magmi?
    – Paul
    Jan 23, 2013 at 13:18
  • we are planning to upload products using "import products" using csv. we have lot of descriptions , we have to display description in table format. is there any way to add html tags in excel sheet. Jan 20, 2015 at 7:08

12 Answers 12


We are using the SOAP API pretty often. It may not be feature complete but you can optimise the data exchange between external systems (ERP, CRM, ...) by optimising existing calls or writing your own one for special needs (e.g. only update a single attribute of a product without loading the complete product etc.).

If your clients don't like the CSV format (I can understand that!) you could define your own file and data format. The client sends his data in this format, a script of yours translates it into an PHP array and uses FastSimpleImport, a special adapter for the ImportExport module.

  • we are planning to upload products using "import products" using csv. we have lot of descriptions , we have to display description in table format. is there any way to add html tags in excel sheet. Jan 20, 2015 at 7:11

We use uRapidFlow Pro almost exclusively. uRapidFlow is very efficient and well worth the cost.

For very small sites, sure, the built-in product edit interface can be used; but import sheets of some sort must be utilized to be efficient at organizing and importing a large number of products.

A tip on creating a good import sheet would be to both check the provided documentation when there are questions, and export a product or two to get a feel for what a well put together import line should look like.

  • It is not much different than default csv structure, and in fact with some tweaking you can use a default export for example and import it via uRapidFlow Jan 23, 2013 at 8:31
  • we are planning to upload products using "import products" using csv. we have lot of descriptions , we have to display description in table format. is there any way to add html tags in excel sheet. Jan 20, 2015 at 7:35

For the company I work for I have created a completely custom module that imports data from an auto generated XML file. Since we are talking about a large amount of products the default Magento import/export profile don't get the job done.

It is generally considered as bad practice to use raw SQL queries but we decided to use them anyway bscause of the big win in performance. (Only do this if you know the way the Magento DB is structured)

PS: We operate several Magento instances with multiple websites + stores and we NEVER overwrite anything that is set on store/website specific level/scope.

  • Who says it is bad practice to use raw SQL? It's often the only way to get reasonable performance out of large batch operations... We've taken several jobs from using SOAP (12-24 hours job run time) to <2 hours using SQL calls directly...
    – Ralph Tice
    Jan 23, 2013 at 12:54
  • Is your custom module available to purchase or just for your use in-house?
    – zigojacko
    Jul 17, 2013 at 7:40

Magmi has a learning curve, but once you adjust it's hard to use anything else. It's made for developers; you've been forewarned.



We typically create a script that loads the product model, sets the data to the model, and then saves the model to the DB. If you Google "magento create product from script" you should be able to find a ton of sample code.

  • This is pretty much what default import/export does and is too slow. If you have multiple stores, it can get to more than a second per product. As people above have said, it is good for small amounts of products. Jan 23, 2013 at 8:27
  • If you optimize the script it's not that slow. We imported over 50k products across 16 stores using scripts, and it was faster than the default import/export.
    – jmspldnl
    Jan 23, 2013 at 19:25

We do use the standard dataflow profile however we convert the CSV we get and fill it up with the missing defaults. This way our customer doesn't have to enter values that they have no clue about.

The converting is done by a script, all the customer has to do is upload the CSV he has created and upload the images/PDFs that he wants to use and then the script fills the blanks. This way we stick to the standard Magento way but keep it easy for the customer.


The new Import/Export module which exists since Magento 1.5 is pretty fast. However, the CSV file needed is not in an easy format. Therefore, we wrote a custom extension which parses a (flexible) CSV format which we designed. The module then transforms that CSV into the standard Magento CSV format and then does the import. We also added a few extras like creating attribute values which do not exist, yet. It takes only a few minutes for about 10.000 products.

  • I had to do something similar to this for a project, including the ability to create extra attribute values (which I was quite surprised wasn't supported by default). The biggest issues I had with it was importing images for the products. Due to the way the replace / update behaviours work, it's difficult to keep the images upto date with the same import without creating a duplicate every time you import. Jan 23, 2013 at 9:58
  • This is the same method I have been using. I created a script to transform a 'flat' csv file into the 'multiline' format magento requires. It's good to know other people are going the same thing
    – stewrat
    Jan 23, 2013 at 22:41

There are two situations a clients needs an import:

  1. Client doesn't like the Magento interface and just wants to edit products in Excel. This is a userinterfaceproblem, to solve this I'd suggest the Mage Enanced Admin Grid module.

  2. There needs to be an automatic import that imports productinformation from a third party. In this case I'd suggest that you guys set up the import with one of the earlier mentioned modules (using https://github.com/avstudnitz/AvS_FastSimpleImport myself).

  • Point taken. We usually go with Google Docs in that situation. That means that it is easy to update some information and the spreadsheet gets imported each night for example. Dec 2, 2013 at 14:43

These are all very good technical solutions, but there is a business problem not addressed in any of the comments, Supplier Onboarding. This is the general term, and requires data to be mapped from the supplier data to Magento. Any solution from csv to api to magmi to other tools must deal with currency conversion (checkout currency to website pricing), mapping of products from one category to another, cleaning of the data, mapping of brands to single names. Once the initial data loads are done you then have pricing and inventory updates, automatically removing un-necessary products (in a way which does no 404). On top of that if you sql insert or Magmi or switch off index on save, this causes many other problems if you have products in the 10s thousands as you need to reindex constantly putting load on servers and also causing some frontend issues.

The more you want to automate this process the more complex the solution, if you are not dealing with suppliers then it is very simple as you will not have more than a few hundred products so onboarding is very simple and can be done directly. We use a solution from some multi-national consultants who adapted it for small business, this allows us to supplier onboard with mappings taking one hour (no coding) and fully automated from supplier file download to Magento import. Most do not have this so it is a rather painful process.


Magento import/export system provides an easy and powerful functionality for importing product data in csv format.

First you have to verify your excel or csv sheet in Magento importing module. Magento itself provides predefined csv sheet for this purpose.

For actual steps you can visit a userful article at here Magento Importing method


Depending on the situation there are a few options:

  • If there are very few products (less than 100), it is sometimes worth just entering them in the backend/admin section.
  • When there are a lot of products, it is usually worth it to have someone create the CSV (someone who is good a data-entry usually does this), additionally an extension is used to import (such as the one @davidalger).
  • There are some circumstances where it's useful to write your own script (for example, if you have all the product data in an XML file).

You are right, it's not a good idea to ask your client to write CSV files. The process I 've been using is the following:

  1. Ask my client to send Excel files containing their products
  2. Write VBA routines converting the Excel sheets into CSV files
  3. Use MAGMI to import products into the database from the CSV files

This works well. The advantage of using VBA routines is that you can easily adapt to the format of the spreadsheet your client sends you. You can also use it to generate HTML for your product descriptions.

In my experience, MAGMI is a great tool, fast and easy to use. Here is a nice introduction about it: http://benfrain.com/magmi-the-best-way-to-import-into-magento/

If you can read French, I've written a blog post about it:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.