Vm2Mage allows you to migrate from VirtueMart to Magento, and uses various extensions in both Joomla! as Magento to do so. This tutorial lays down all the steps.

Installing the Vm2Mage component for Joomla!

The Joomla! extension for Vm2Mage can be purchased for a small price through our Yireo Shop. Just add the Vm2Mage product to your shopping cart and checkout. Alternatively you can also choose one of the commercial variations if you want to get support from us as well.

In all cases, after ordering the Vm2Mage product, the Vm2Mage component for Joomla! will be available as a downloadable product under your account. On the Yireo site, login using one of the links in the top right, then navigate to My Acccount. This will open up a new page with a menu on the left. The link Downloads will allow you to download the Vm2Mage component for Joomla!. You will still need to get the Vm2Mage extension for Magento separately.

Once downloaded, install the Vm2Mage component in the Joomla! Administrator just like any other extension. After installation you should be able to navigate to the page Components > Vm2Mage.

Installing the Vm2Mage extension for Magento

The Vm2Mage extension for Magento is not available as a download from our site, but can be installed using the Magento Downloader program.

Beta software

The current Vm2Mage version is classified as "beta". This probably means you have to configure your Magento Downloader to support "beta" extensions. Click on the tab "Settings" and configure there the preferred state "beta".

Login to your Magento Downloader application and use the following extension key to download the Vm2Mage extension to your Magento site:


You will need to install a second extension as well, which holds the old VirtueMart orders:


After the extensions are installed, you can check if the installation was successful, by logging in through the Magento Admin Panel and browsing to System > Configuration > Advanced > Advanced > Disable Modules Output. Make sure the two extensions Yireo_Vm2Mage and Yireo_VmOrder are listed in the bottom.

Setting up the Magento API user

Vm2Mage migrates data from Joomla! to Magento using an API, and this API needs to be configured properly. Within the Magento Admin Panel you will need to add a new API Role and then a new API User that uses that role. Please note that this is NOT the same as setting up a regular role and a regular user.

First, browse to System > Web Services > Roles and add a new Role. The name of this role is irrelevant, but it is important to select the right Resources for this role. The easiest is just to select all permissions, but alternatively you could also select only those permissions related to Vm2Mage. We recommend to deinstall Vm2Mage (but not VmOrder) before going live anyway, so this shouldn't matter much.

After adding the role, browse to System > Web Services > Users and add a new User. For this new user, you will need to define a fake first name, fake last name and fake email-address (because it is not a physical user). Make sure the User Name (referred to later as the API username) and the API key are harder to guess. Write down these credentials, because you will need them in the next steps.

Configuring the API settings

To actually start using Vm2Mage, browse within the Joomla! Administrator to Components >Vm2Mage. There are various options that allow you to migrate data, but none of these have effect until the API is up and running. Hit the button Parameters in the toolbar. This will open up a popup window. Make sure you first configure the following values:

  • API host: The hostname of the Magento website
  • API protocol: Either HTTP or HTTPS
  • API user: The API username configured earlier in Magento
  • API key: The API key configured earlier in Magento

Before continuing to the other settings, hit the button Save. If the API settings are correct, the Vm2Mage component should be able to contact the Magento API which makes configuring the other settings a lot easier.

Configuring the other settings

Hit the button Parameters again. This should take some time, during which Vm2Mage tries to contact Magento through the API. If this fails, you will get some errors. Refer to the FAQ for more information how to solve these problems. If this succeeds, the regular input-fields are replaced with easy drop-down boxes, which make it really easy to configure the right Magento settings.

  • Items per batch: How many items (products, categories, users) to migrate with every API-call made to Magento
  • Default currency: With older VirtueMart installations, sometimes the currency indicator is missing. This default currency will be used in those rare cases, and can be set to something like "EUR" or "USD".
  • Store ID: The Magento Store in which to place new products and categories
  • Product Tax Class ID: The Magento Product Tax Class which should be applied to migrated products
  • Customer Group: The Magento Customer Group to which new customers should be assigned

Configure these settings as needed. It is vital to configure things properly in Magento before migrating things.

Use the Vm2Mage System Check

Once you are done with setting up the above, browse to the Vm2Mage System Check page. Within the Joomla backend, go to the Vm2Mage component and select the System Check tab. Within the Magento backend, browse to System > Tools > Vm2Mage System Check.

If there are any errors (red icon with white cross), make to resolve them before trying to migrate. If there are any warnings (yellow triangle) make sure to review them and take note of them. If you have any questions regarding these warnings and errors, feel free to post on our Yireo Forum.

Setting up Magento

Make sure Magento works and works properly. Make sure caching is enabled. Make sure logging is enabled. Do not enable the Flat Catalog for either products or categories - this will only slow down migration, consider enabling them only once migration is finished.

What is your migration strategy?

Migrating things with Vm2Mage is as easy as hitting a button, but this doesn't mean you should hit the button without thinking things over. Vm2Mage is very flexible and there for allows you to migrate different parts of VirtueMart to different parts of Magento. Before the actual migration, you should determine your migration strategy.

Removing Vm2Mage

Once the migration is finished, you can deinstall Vm2Mage. Within Joomla! Administrator, remove the Vm2Mage component. Within the Magento Admin Panel, use the Magento Downloader to remove the Yireo_Vm2Mage extension. Do not remove the additional Yireo_VmOrder extension - this makes older order-records available to your Magento customers. 

Posted on January 4, 2010

About the author

Author Jisse Reitsma

Jisse Reitsma is the founder of Yireo, extension developer, developer trainer and 3x Magento Master. His passion is for technology and open source. And he loves talking as well.

Sponsor Yireo

Looking for a training in-house?

Let's get to it!

We don't write too commercial stuff, we focus on the technology (which we love) and we regularly come up with innovative solutions. Via our newsletter, you can keep yourself up to date on all of this coolness. Subscribing only takes seconds.

Do not miss out on what we say

This will be the most interesting spam you have ever read

We don't write too commercial stuff, we focus on the technology (which we love) and we regularly come up with innovative solutions. Via our newsletter, you can keep yourself up to date on all of this coolness. Subscribing only takes seconds.