Your Entire Store. Ready. In a Weekend.
Keep Your Joomla Website. Level Up Everything Else.
You want modern payment gateways, live shipping rates, subscription products, and an ecommerce platform that keeps pace with how you actually sell. You do not want to leave Joomla. You don't have to. The VirtueMart 3 Migrator moves everything — catalog, orders, customers, passwords and all — from VirtueMart 3 to J2Commerce 6. Your Joomla site stays exactly where it is.
Everything That Makes Your Store Work — Migrated
Two pages of migration tiles. Foundation data first, store data second. Every section in the right order so every relationship resolves correctly on arrival.
Legacy Passwords — No Resets
Every customer logs in on day one with their existing password. Verified silently on first login, upgraded to a modern hash in the background. Zero support tickets. Zero launch-day bounce. Zero reason to apologize for the move.
Full Order Archive
Orders migrate with totals, line items, billing and shipping address snapshots, customer notes, and full status history. When a customer calls about an order from three years ago, you have the record.
Products, Options, and Price Tiers
Products arrive with their description, SKU, stock settings, and dimensions. Cart-attribute custom fields become product options. Shopper-group price tiers survive intact for your wholesale and VIP customers.
Shopper Group Mapping
VirtueMart shopper groups map to Joomla user groups via a guided interface with smart defaults pre-filled. Your wholesale buyers land in the right group before you run the customer migration.
Category Tree Preserved
VirtueMart product categories migrate as Joomla categories, nested correctly under your new shop tree. Customers find products exactly the way they always did.
Resumable Batching — Stop and Pick Up
Every tile runs in 500-row batches with a 20-second time budget. Stop it, close the browser, come back tomorrow. Already-migrated rows are tracked and skipped automatically. Run it five times — the fifth run does zero extra work.
Tax Profiles — Your Accountant's Work Survives
VirtueMart tax calculation rules migrate as J2Commerce tax profiles with rates. The tax setup your accountant configured migrates in one tile. You do not rebuild it from memory.
Remote Migration — Keep VirtueMart Live
Remote PDO connection mode lets you migrate from a live VirtueMart database on a separate server — with optional SSL. Your old store stays live the entire time. You switch when you're ready.
Coupons Still Work
VirtueMart coupon records migrate to J2Commerce. The promo codes you already have keep working on your new store. That's either very convenient or very embarrassing — your call either way.
The Feature That Protects Your Customer Relationships
Forced password resets on a platform launch are the silent customer killer. People who can't log in don't file support tickets — they just stop buying from you. The VirtueMart 3 Migrator eliminates this risk completely. Every customer logs in on day one with the password they already had. Accounts from a decade ago. Accounts with older hash formats. All of them.
On first login, the stored legacy hash is verified against what the customer types. If it matches, the account is silently upgraded to a modern secure hash in the background. The customer experiences nothing unusual except a store that works exactly as expected.
- Zero forced password resets on launch day
- Zero "I can't log in" support tickets
- Handles multiple legacy hash formats including older Joomla-era formats
- Upgrade happens silently in the background — invisible to the customer
Your customer relationship survives the move. That is not a small thing.
B2B Pricing Tiers — The Feature Stores Forget to Ask About
Not everyone pays the same price in your store. The shopper-group mapping tile lets you assign each VirtueMart shopper group to the correct Joomla user group — and the price tier migration carries over every per-product price your wholesale buyers, VIP customers, and contractors expect to see.
This is the first thing B2B store owners discover is missing after a manual migration — usually when an angry contractor calls to ask why their discount is gone. It's not missing here.
- Guided shopper group mapping UI with smart defaults
- Per-product shopper-group pricing migrates as J2Commerce price tiers
- Wholesale, VIP, contractor, and custom groups all handled
- Option to skip groups that don't belong in the new install
Your wholesale buyers see the right price on day one. Or you'll be hearing about it.
Built for Big Stores That Can't Afford a Timeout
If you have 10,000 orders and your migration tool times out at 3,000, you do not have a migration tool. You have a problem. Every tile runs in 500-row batches with a 20-second time budget per request. Every committed row is tracked in a unique ID map. Stop the migration at any point — connection drop, browser close, you went to bed — and resume exactly where you left off.
Run it on Friday evening. Check the progress. Run it again Saturday morning. Come back Sunday. The migrator is patient. Your data isn't going anywhere until you say it is.
- 500-row batches — no timeout kills your migration
- ID map tracking ensures zero duplicate rows on resume
- Run it five times — the fifth run does zero extra work
- Reset tools for clean staging runs before go-live
78,000 orders. Run it over three evenings. Every one arrives.
Real-World Use Cases
You've Been Meaning to Do This for Two Years.
Your catalog crosses over. Your orders cross over. Your customers keep their passwords and never know a thing changed. The only question is whether you do it this weekend or next year. The migrator doesn't care. It'll be waiting.
Translated In The Following Languages
Arabic Unitag (ar-AA), Chinese, Traditional (zh-TW), Danish (da-DK), Dutch (nl-NL), English (en-GB), English, USA (en-US), Finnish (fi-FI), French (fr-FR), German (de-DE), Greek (el-GR), Hebrew (he-IL), Italian (it-IT), Japanese (ja-JP), Norwegian Bokmål (nb-NO), Persian Farsi (fa-IR), Polish (pl-PL), Portuguese, Brazil (pt-BR), Portuguese, Portugal (pt-PT), Russian (ru-RU), Spanish (es-ES), Swedish (sv-SE), Turkish (tr-TR)
- Developer J2Commerce
- Extension Type Migration
- J2Commerce Version 6.x
- Joomla Version 6.x
Arabic Unitag
Chinese, Traditional
Danish
Dutch
English
English, USA
Finnish
French
German
Greek
Hebrew
Italian
Japanese
Norwegian Bokmål
Persian Farsi
Polish
Portuguese, Brazil
Portuguese, Portugal
Russian
Spanish
Swedish
TurkishFix Write the VirtueMart password straight into the account, so migrated shoppers sign in unchanged
Fix Validate product image filenames from the source store against an allow-list before copying them
Fix Collapse interior dots in the saved filename so an allow-listed extension cannot carry an executable one
Fix Verify that a source image decodes as an image before it is written
Fix Validate the source host and database name before opening the source connection
Fix Give migrated orders a unique order token instead of an empty one
Fix Product option value links self-heal stale idmap targets by real VM value name instead of writing dangling references that render blank option labels
Fix Product Options re-runs purge orphaned option generations left by out-of-band option deletions instead of stacking duplicate rows
Fix Assets rebuild reparents orphaned asset rows to root so the nested-set rebuild covers every row
New Feature Options and Product Options tiles now support dashboard Reset (removes migrator-created rows and idmap entries, preserves manually created options)
New Feature Idmap helper gains per-entity target-id listing and per-entity clearing
Improvement has_options recomputed when a product ends a re-link with no remaining option links
Improvement Complete missing UI language strings across all 18 non-English locales
Update Purge Trashed Items and Rebuild Assets Tree tool labels were previously untranslated outside English
New Feature Rebuild Assets Tree tool recomputes the assets nested set from parent_id
Fix Repairs lft/rgt corruption left by migration asset backfills that broke category saves
New Feature Post-rebuild integrity checks verify row count and lft uniqueness before reporting success
New Feature Confirm prompt warns to back up the database before rebuilding
Improvement Replace deprecated Table getError with exception handling in the rebuild tool
Improvement Code-style normalization across adapter, transforms, and legacy password library
Update Back up your database before running the assets rebuild
Fix category integrity fixes, image OOM guard, purge-trashed tool
Update Requires Joomla 6.x, J2Commerce 6.x and com_j2commercemigrator
New Feature VirtueMart 3 (Joomla 3) to J2Commerce 6 migration adapter
New Feature Migrate products, categories, manufacturers, customers, coupons, orders
New Feature Migrate currencies, countries, zones, order statuses and order history
New Feature Tiered migration with persistent source-to-J2C ID mapping
New Feature Legacy password verification and rehash to bcrypt on first login
New Feature Category nested-set rebuild and product cart-attribute options
New Feature Product price tiers, product images, and linked content articles
New Feature Order item attributes plus billing/shipping (BT+ST) info merge
New Feature Product/category param transforms + product image-path rewriting
New Feature Migration dashboard card with per-tile source row counts
New Feature Customer scope limited to actual VirtueMart vmusers (excludes spam)
Improvement Native Joomla 6 MVC adapter, namespaced, SubscriberInterface events
New Feature 21-locale language coverage
Update Deferred: stockable-variant fan-out, multi-language tables, method credentials
Update Requires Joomla 6.x + J2Commerce 6.x + J2Commerce Migrator tool
You may also be interested in these products
Stay Updated
Subscribe for free and be the first to know about the latest features, updates, and new additions.