---
title: "VirtueMart 3 to J2Commerce 6 Migrator Adapter"
description: "The VirtueMart 3 adapter adds VirtueMart 3.x as a source in J2Commerce Migrator. It moves currencies, countries, tax profiles, categories, products, customers, coupons and orders into J2Commerce 6…"
url: "https://docs.j2commerce.com/v6/apps-and-extensions/plugins/virtuemart3"
markdown_url: "https://docs.j2commerce.com/v6/apps-and-extensions/plugins/virtuemart3.md"
last_updated: "2026-11-14T13:25:50+00:00"
version: "J2Commerce 6"
breadcrumbs:
  - title: "Home"
    url: "https://docs.j2commerce.com/"
  - title: "J2Commerce 6"
    url: "https://docs.j2commerce.com/v6"
  - title: "Apps and Extensions"
    url: "https://docs.j2commerce.com/v6/apps-and-extensions"
  - title: "Plugins"
    url: "https://docs.j2commerce.com/v6/apps-and-extensions/plugins"
  - title: "VirtueMart 3 to J2Commerce 6 Migrator Adapter"
    url: "https://docs.j2commerce.com/v6/apps-and-extensions/plugins/virtuemart3"
---

# VirtueMart 3 to J2Commerce 6 Migrator Adapter

The VirtueMart 3 adapter adds VirtueMart 3.x as a source in J2Commerce Migrator. It moves currencies, countries, tax profiles, categories, products, customers, coupons and orders into J2Commerce 6.

Use it when you are replacing a VirtueMart 3 store on Joomla 3 with J2Commerce on Joomla 6.

## Requirements

- Joomla 6.0.0 or later and PHP 8.2.0 or later.
- J2Commerce 6 installed.
- J2Commerce Migrator component 6.1.10 or later.
- A VirtueMart 3.x source database that the migrator can reach.

---

## Installation

1. Install the J2Commerce Migrator component first and update it to 6.1.10 or later.
2. Go to **System** -> **Install** -> **Extensions** and upload the plugin package.
3. Go to **System** -> **Manage** -> **Plugins** and enable **J2Commerce Migrator — VirtueMart 3 Adapter**.
4. Open J2Commerce Migrator. The VirtueMart 3 card shows **Ready to migrate** with a **Start Migration** button.

---

## Settings

Open the plugin and use the **Basic Settings** tab. Use **Configure Connection** in the migrator to set up the source database connection.

| Setting | What It Does | Default | Options |
| --- | --- | --- | --- |
| VirtueMart Site Root | Absolute filesystem path to the VirtueMart 3 webroot, for example `/var/www/virtuemart`. Product images are read from `images/stories/virtuemart/product/` under this path. When blank, the migrator uses a sibling directory named `virtuemart` next to this Joomla install. | Empty | Text |
| Source Site URL | Public URL of the live VirtueMart 3 site, for example `https://oldstore.com`. Images are downloaded over HTTP when the files are not on this server. Required for remote-database migrations, and the old site must stay online. When blank, images are copied only from the local path. | Empty | URL |

---

## Migration Pages

The migrator splits the work into two pages: **Foundation Data** and **Store Data**. Migrate Foundation Data first.

### Foundation Data

- **Lookup & Probe:** **Probe Source** checks that the source database is reachable and has the expected tables. **Map Shopper Groups** assigns each VirtueMart shopper group to a Joomla user group, or to **Skip User (do not migrate)**. Click **Save Shopper Group Mapping** when done.
- **Foundation Data:** Currencies, Countries, Zones (States), Order Statuses, Tax Profiles and Manufacturers.
- **Tools:** **Clear Entire ID Map**.

### Store Data

- **Catalog Foundation:** Categories, Options and Product Options.
- **Products:** Products (with linked Joomla articles and master variants), Price Tiers and Product Images.
- **Customers:** Users and Addresses. Existing Joomla accounts are matched by email.
- **Coupons:** Coupons.
- **Orders:** Ensure Order Statuses, Orders, Order Items, Order Addresses and Order History.
- **Tools:** Clear Entire ID Map, Reset Migrated Data, Purge Trashed Items and Rebuild Assets Tree.

Each tile has **Detect**, **Migrate**, **List** and **Reset** buttons. Use the toggles **Migrate All Foundation Data** and **Migrate All Store Data** to run a whole page. A finished tile shows **Synced**. You can export a migration log.

---

## Common Setups

### Source Files on Another Server

1. Configure the connection to the remote VirtueMart database.
2. Enter the old store address in **Source Site URL**.
3. Keep the old site online while you migrate **Product Images**.

### Source Files on the Same Server

Enter the VirtueMart webroot in **VirtueMart Site Root** and leave **Source Site URL** blank.

---

## Troubleshooting

### Plugin Will Not Install

The message "This plugin needs J2Commerce Migrator 6.1.10 or later. Update the component first, then install this plugin again." means the component is missing or too old. Install or update it, then install the plugin again.

### Shopper Groups Unmapped

Orders and users need every shopper group mapped. If "No VirtueMart shopper groups found in the source database" appears, check that the connection points at a VirtueMart 3 database.

### Nested-Set or Trashed Category Errors

If saving categories or articles fails with errors such as "Out of range value for column 'lft'", back up the database and run **Rebuild Assets Tree**. If trashed categories from an earlier run cannot be emptied, run **Purge Trashed Items**. It deletes every trashed content category and article and cannot be undone.

> **Important:** Run **Clear Entire ID Map** only before you migrate. Afterward, migrated rows lose their VirtueMart link and **Reset Migrated Data** can no longer remove them.

> **Warning:** **Reset Migrated Data** deletes all migrated articles, products, categories, orders and reference data and clears the ID map. Migrated Joomla user accounts are kept.

---

## Uninstalling

Go to **System** -> **Manage** -> **Extensions**, find the plugin and click **Uninstall**. Data already migrated stays in J2Commerce.
