VirtueMart 5 is the version for Joomla 6, and it is still in beta. That is no reason to wait with your eyes closed. Running your shop on Joomla 6 with the beta – on a copy – tells you now what the real upgrade will involve. This is how we do it.
Never install a VirtueMart beta on a live shop. Everything below happens on staging.
Start from a supported base
Do this from a shop on Joomla 5.4 and VirtueMart 4.8.x. If you are still on Joomla 3 or VirtueMart 3, do step 1 of the route first – two big jumps at once make it impossible to tell what broke.
1. Build a fresh staging copy
- Copy files and database from live to a staging server running PHP 8.3+ and MySQL 8.0.13+ or MariaDB 10.4+ – Joomla 6's minimum.
- Payments in sandbox mode, outgoing email caught, search engines blocked.
- Count products, categories, orders and shoppers, so you can compare later.
2. Upgrade Joomla to 6
- Run Joomla's pre-update check for Joomla 6. Write down every extension it flags – this list is half your answer.
- Install the VirtueMart 5 beta (the 4.9.x test build from virtuemart.net) before or together with the Joomla upgrade, following the notes that come with the build.
- Upgrade Joomla to 6 and the template to its Joomla 6 version, if it has one.
3. Walk through the shop
Go through the shop as a customer, with error reporting on and the browser console open:
- Category pages, filters, search, product pages with variants and custom fields.
- Add to cart from product pages and from modules, update quantities, coupons.
- Checkout as guest and as a registered shopper, every shipping and payment method in sandbox mode.
- Account pages: orders, addresses.
- Admin: products, orders, status changes, invoices.
4. Write down what breaks, and why
VirtueMart 5 changes some internals, so expect findings in these areas:
| Area | Likely cause |
|---|---|
| Template overrides | Layouts copied from older VirtueMart versions; jQuery-dependent scripts |
| Payment and shipping plugins | No Joomla 6 / VirtueMart 5 version yet |
| One-page checkout, feeds, importers | Calls to VirtueMart functions that became static in VM 5; jQuery |
| Custom plugins and code | Legacy Joomla classes, old event style, PHP 8.3 changes |
For each finding note: the extension or file, the error, and whether a vendor update exists or is announced.
5. Turn the list into a plan
Sort findings into "update when the vendor releases", "replace", "fix ourselves" and "drop". Add rough effort. That is your Joomla 6 budget and timeline – months before you need it, instead of the week the old version goes out of support.
6. Repeat with each beta
VirtueMart publishes new test builds as VirtueMart 5 matures. Re-run the walk-through with each new build, and when the stable release lands, you will already know it works with your shop.
Status of VirtueMart 5: Does VirtueMart work on Joomla 6?
For developers: make the findings list exact
On the Joomla 6 staging copy, let Joomla tell you what's deprecated or missing instead of guessing:
# terminal – Global Configuration: maximum error reporting and the deprecation log
php cli/joomla.php config:set error_reporting=maximum
php cli/joomla.php config:set log_deprecated=true
# after the walk-through: grouped deprecations, by file
grep -v '^#' administrator/logs/deprecated.php | cut -f4- | sort | uniq -c | sort -rn | head -40
# third-party VirtueMart plugins still using removed Joomla class names
grep -rlE "\bJ(Factory|Html|Route|Text|Request)\b" plugins/vmpayment plugins/vmshipment plugins/vmcustom --include=*.php
Run the walk-through once with "Backward Compatibility 6" → Classes Aliases off. Whatever breaks then is also what will break on Joomla 7, so the same list covers both upgrades.
Want this done for your shop? We run your store on Joomla 6 with the VirtueMart 5 beta on staging and hand you the list of what has to change.
VirtueMart Joomla 6 upgrade →
