Skip to content
Compare
WordPress ThemesWebsite Builders & TemplatesE-commerceHosting & PerformanceSecurity & BackupsPlugins & Web ToolsAI for WebsitesDesign & UXNews Compare tools
E-commerce

VirtueMart order email templates location and customization

Find where VirtueMart stores HTML order email templates and how to customize them safely using Joomla template overrides to avoid overwriting core files.

Emma Collins September 27, 2026 Updated September 27, 2026 7 min read
VirtueMart order email templates location and customization

Quick answer: VirtueMart order email templates live in view/template folders (examples: components/com_virtuemart/views/invoice/tmpl/mail_html.php or components/com_virtuemart/themes/default/templates/order_emails/confirmation_email.tpl.php depending on version). Use Joomla template overrides (copy to templates/<your_template>/html/com_virtuemart/<view>/tmpl/) to customize without touching core files; verify the exact paths on your installation and test in preproduction. Sources consulted: VirtueMart developer manual and documentation, and forum threads (consulted September 27, 2026).

Context: where email templates live and why you might modify them

VirtueMart sends order-related messages using view templates that render either HTML or plain text. Common objectives for modification are to adapt branding (logo, colors), to add or remove sections from the order summary, or to attach generated invoices. Because VirtueMart has evolved across major versions, the exact template locations and naming conventions vary; checking the installed VirtueMart version and the active Joomla template is necessary before editing.

Modifying core files in components/com_virtuemart will be overwritten by updates. The recommended path is to create an override in the Joomla template: that keeps customizations separate from the component core. The documentation and community threads consulted on September 27, 2026 repeatedly point to this workflow as the safe, maintainable approach.

Also note: sending behavior (which status triggers an email, HTML vs text) is controlled in VirtueMart configuration. Template edits change presentation; the admin settings still determine when a message is sent.

Where to look: common file locations by version

Paths differ by VirtueMart version and by theme. Examples found in the documentation and forums (consulted September 27, 2026) include components/com_virtuemart/views/invoice/tmpl/mail_html.php for invoice view rendering and components/com_virtuemart/themes/default/templates/order_emails/confirmation_email.tpl.php for older VM1 layouts. Historical manuals show components/com_virtuemart/themes/default/templates/order_emails/ as a common VM1 location, while more recent structures place templates under views/invoice/tmpl/.

If a Joomla template already contains overrides, look under templates/<your_template>/html/com_virtuemart/ for an invoice or order_emails folder. That override takes precedence over the component core. Use FTP/SSH or the Joomla admin panel (Template → Overrides) to inspect both places.

Practical verification steps: find the active Joomla template name, then inspect templates/<your_template>/html/com_virtuemart/. If present, open invoice or order-related tmpl subfolders and compare files like mail_html.php or confirmation_email.tpl.php to the component copies to confirm which is in use.

Recommended method: create a Joomla template override (step‑by‑step)

Do not edit components/com_virtuemart directly. Instead, create an override in your Joomla template. The minimal safe sequence is:

Identify the view to override (example: invoice).
Copy the corresponding tmpl folder from components/com_virtuemart/views/invoice/tmpl/ to templates/<your_template>/html/com_virtuemart/invoice/ preserving the folder structure.
Edit the copied files (mail_html.php, partials) inside templates/<your_template>/html/com_virtuemart/invoice/.
Test changes in a preproduction environment before deploying to production.

Versioning the override files is advised so you can track changes and revert if needed. The VirtueMart documentation and forum threads referenced on September 27, 2026 recommend preserving structure and filenames to ensure the override is detected correctly by Joomla.

Notes on testing: use an isolated instance or staging site. Confirm that order status transitions in the admin still trigger the expected emails and that both HTML and text modes render correctly if HTML option is enabled in configuration.

Files to know: header, footer, order details and language keys

The core email rendering is often composed of several subtemplates. The main renderer file (mail_html.php in invoice view) typically calls header and footer partials and inserts order details partials. Depending on version, typical partials include order.php or order_items.php that output the item rows and totals.

Subject lines and translatable strings are managed by language files via language keys (COM_VIRTUEMART_*). To change subjects or other translatable strings, update the appropriate language file or create language overrides rather than hardcoding text into templates. This keeps translations intact and easier to maintain across updates.

When you inspect the invoice view files for your version, you will find which variables are provided to the template. The community threads point to editing the view files and their partials directly when you need to change which order elements appear in the email; always check the actual files in your installation to identify the exact variable names and available data.

Common use cases and where to edit for each

Branding: to add a logo or brand colors, edit the header partial or the mail_html.php entrypoint inside the invoice view override. Insert image markup and inline styles in the header partial so the logo appears at the top of the HTML email.

Remove or hide prices: the order items partial controls rows and pricing output. Modify that partial in the override to omit price columns or wrap them in conditional logic checked on your installation. Because templates and partial names differ by version, locate the order items partial in your instance before changing it.

Attach a PDF invoice: forum discussions indicate this is feasible by modifying the invoice view and the mail sending routine, but the exact hook or event depends on the VirtueMart version and any invoice plugin in use. See the referenced forum thread (consulted September 27, 2026) for community examples; evaluate the approach on your version and environment.

Best practices and common pitfalls

Always keep a copy of the original core files and of any override before editing. Track the date and nature of each change so you can reconcile differences after component updates. Test email rendering on several real mailboxes to confirm images and layout behave as expected when images are blocked by mail clients.

Maintain a plain text alternative for accessibility and deliverability. Enable the HTML vs text option in VirtueMart configuration only if your templates provide a suitable HTML and a fallback text version.

Beware that major VirtueMart updates can change view structure and file names; document overrides and re-check them after each upgrade. Use version control for overrides to aid rollback and auditing.

Debug checklist: what to verify if emails don’t change or don’t send

Confirm the override path is correct: templates/<your_template>/html/com_virtuemart/invoice/ with the expected files. Check filesystem permissions so Joomla can read the files. Clear Joomla cache after deploying overrides to ensure the new templates are loaded.

In the admin, verify that the configuration for order confirmation emails and the statuses that trigger sending are set as expected. If emails fail to send at all, consult Joomla/PHP/mail logs. The documentation indicates configuration entries named like Default Order Status to send email to shopper/vendor control triggers; inspect those settings in Configuration → Order confirmation Emails as documented.

Resources and official links (consulted September 27, 2026)

Key documentation and forum threads used to prepare this guide:

VirtueMart Developer Manual — directory templates/order_emails. https://dev.virtuemart.net/attachments/download/24/VirtueMart_1.1_Developer_Manual.pdf — checked on September 27, 2026
How to overwrite plugins / templating & overrides. https://docs.virtuemart.net/tutorials/templating-layouts/how-to-overwrite-plugins — checked on September 27, 2026
Configuration — Order confirmation Emails. https://docs.virtuemart.net/manual/configuration-menu/configuration — checked on September 27, 2026
Forum thread examples on order email templates and attachments. https://forum.virtuemart.net/index.php?topic=102633.0 and https://forum.virtuemart.net/index.php?topic=136862.0 — consultés le September 27, 2026
Historical developer guide showing older template paths. https://www.manualshelf.com/manual/virtuemart/1-0/developer-s-guide-english/page-13.html — checked on September 27, 2026

Block « Before deploying » (mandatory)

Verify changes on a preproduction instance; document the date and the nature of the change; keep a copy of the core and add a version tag for the override.

What we did not establish (read before editing)

Do not assume any single absolute path is valid for all VirtueMart installations; template structure varies by VirtueMart version and active theme.
Do not assume a single hook or event exists to attach a PDF invoice in every version; the method depends on version and any invoice plugin used.
Do not use PHP variable names or placeholders quoted here unless you have inspected the files on your installation; variable names differ by version and view implementation.
Do not assert compatibility with VirtueMart 5 or any other specific version without checking the target instance.

Related guides

Emma Collins

Emma Collins

Emma covers e-commerce, website builders, design and AI tools. She compares platforms on the criteria a small business actually feels: setup time, running costs and lock-in.

Updated on September 27, 2026