Applies to Joomla 5.4 + VirtueMart 4.8 → Joomla 6 + VirtueMart 5 beta (4.9.x) · staging only Updated 16 Oct 2026

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

  1. Run Joomla's pre-update check for Joomla 6. Write down every extension it flags – this list is half your answer.
  2. 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.
  3. 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:

AreaLikely cause
Template overridesLayouts copied from older VirtueMart versions; jQuery-dependent scripts
Payment and shipping pluginsNo Joomla 6 / VirtueMart 5 version yet
One-page checkout, feeds, importersCalls to VirtueMart functions that became static in VM 5; jQuery
Custom plugins and codeLegacy 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 →