Stop Charging the Wrong Tax.
Wrong tax refunds your margin, frustrates your wholesale buyers, and creates the kind of liability that only becomes visible during an audit. Tax Manager gives your Joomla ecommerce store the tools to collect the right amount — every time.
Everything Your Tax Situation Needs
Custom tax classes, geographic precision, customer group exemptions, per-variant overrides, and bulk CSV tools — all inside the J2Commerce dashboard.
Custom Tax Classes
Create as many named tax profiles as your catalog needs — one per product type, category, or jurisdiction. Assign each class to the right products and let the store take it from there.
Country · State · ZIP Matching
Match tax rates across three geographic dimensions. Catch everything with a wildcard, target a state, or nail a specific postcode or ZIP prefix. The most precise match always wins.
Customer Group Exemptions
Wholesale buyers, nonprofits, and resellers pay zero tax — automatically. Select the user groups, save the setting, and never manually adjust an exempt order again.
CSV Import & Export
Load hundreds of geographic rates from a spreadsheet in seconds. Export any class back to CSV for audit records or accountant handoff. Your spreadsheet and your store — finally in sync.
Add or Replace Rate Mode
Stack your rate on top of the store's base profile, or replace the base entirely — per class, per product type. One dropdown. Right behavior for every situation.
Billing vs Shipping Basis
Your store config says whether to tax by billing or shipping address. Tax Manager reads that setting and applies it correctly to every rate lookup — no additional configuration needed.
Rate Priority Ordering
Multiple rates can match a location. The priority field tells the store which one fires. Specific beats general. County beats state. State beats national. You set the order.
Save as Copy
One state has 8.0%, the neighbor has 8.25%. Duplicate an entire tax class — rates and all — as a starting point. Change the one thing that differs. Done in under a minute.
Debug Logging
New rate not matching? Enable the debug log. It records exactly which class fired, what location data triggered it, and what basis was used. Toggle it off when you're done.
Per-Variant Tax Overrides
A children's size 4 and a size 7 sitting on the same product page don't belong in the same tax bracket. Give any single variant its own tax profile right on the variant row — the rest of the product keeps its default, no cleanup required.
Geographic Precision — All Three Dimensions
Most ecommerce stores stop at country. Tax Manager goes further — matching tax rates by country, by state or province, and by postcode. Use a wildcard to catch everything, a prefix to catch a range, or an exact code to target a single taxing district. The most specific match wins.
- Wildcard postcodes catch all locations
- Prefix matching (e.g. 941*) covers entire ranges
- Exact postcode targets specific taxing districts
- Live zone reload when country changes — no page refresh
- Postcode suffix stripping for extended ZIP formats
Wholesale Buyers Pay Zero Tax. Every Order. Automatically.
Customer group exemptions eliminate the most tedious task in Joomla ecommerce administration: manually adjusting tax on wholesale orders. Select the groups that are exempt, save the setting, and the store handles the rest — before the order is placed, not after.
- Multi-group selection — exempt multiple account types at once
- Exemption fires at price calculation — zero tax on the checkout screen
- No manual credit memos. No after-the-fact order adjustments.
- Works for wholesale, nonprofit, reseller, staff — any Joomla user group
One Product. Nine Variants. Every One Taxed Right.
Products aren't always one flat tax situation — a kids' shoe grows from tax-free to taxable somewhere in the size run, a listing sells both a physical copy and a digital download at different rates, a grocery item flips from zero-rated to standard the moment it's sold hot. Tax Manager puts the tax profile picker right on the variant row, so every option on a product can carry its own rate instead of forcing the whole listing into one setting.
- Assign a tax profile to any single variant, right where you already edit it
- Variants left untouched automatically keep the product's default — nothing to re-save
- The correct rate follows the variant through cart, checkout, order, and invoice
- Works with every tax class you've already built — nothing new to configure
- One store-wide switch turns the whole feature on or off — no per-product busywork
Real-World Use Cases
Your Tax Rules. Your Server. No External Dependency.
Tax Manager stores your tax classes and rates in your own Joomla database — on your own server. There is no third-party rate service to subscribe to, no external API that can change its pricing or drop support, and no vendor standing between you and your tax configuration. Built on native Joomla 6 architecture, Tax Manager integrates directly into the J2Commerce dashboard and respects the access control settings you've already configured. Your rules. Your data. Your control. That is what self-hosted Joomla ecommerce is supposed to feel like.
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)
License Information
An active license entitles you to updates, downloads, and support for the duration of the license period. You may continue using this plugin indefinitely without an active license; however, support, updates, and downloads will not be available while your license is inactive.
- Developer J2Commerce
- Extension Type Apps
- 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 Fix do not only use address id only, use user id to ensure the address belongs to the user
New Feature Variant-level tax profile override: pick a different tax profile per variant (e.g. VAT on larger sizes) via a selector on each variant editor row; empty = product default
New Feature Overridden rate flows into cart, checkout, order totals, tax breakdown and stored orderitem tax profile; tax-exempt user groups still take precedence
New Feature New "Variant-Level Tax Profiles" plugin parameter (on by default) turns the variant selector and the runtime override off in one switch
Fix Fix saved variant overrides being erased on the next product save when the feature is switched off — off now means ignored, not deleted
Fix Fix a variant override pointing at a disabled or deleted tax profile being silently cleared on the next product save
Improvement Variant tax selector renders as a plain select so it works in the variant AJAX response, where fancy-select assets are not registered
Fix Fix virtual tax profile IDs colliding with real core taxprofile rows (now offset +20000)
New Feature Tax classes list/edit/toggle links now integrate into the core Tax Profiles admin screen
New Feature Publish/unpublish toggle from the Tax Profiles list works via a token-carrying GET link
Improvement Tax class list now returns disabled classes too (enabled/disabled shown, matching core)
Fix Fix CSRF check rejecting the new GET-based publish/unpublish toggle (checkToken('request'))
Improvement Toggle redirects back to the referring screen (taxprofiles list or classes screen)
New Feature Add full translations of the variant-tax strings for all 20 languages
Fix Fix virtual tax profile IDs colliding with real core taxprofile rows (now offset +20000)
New Feature Tax classes list/edit/toggle links now integrate into the core Tax Profiles admin screen
New Feature Publish/unpublish toggle from the Tax Profiles list works via a token-carrying GET link
Improvement Tax class list now returns disabled classes too (enabled/disabled shown, matching core)
Fix Fix CSRF check rejecting the new GET-based publish/unpublish toggle (checkToken('request'))
Improvement Toggle redirects back to the referring screen (taxprofiles list or classes screen)
Fix Use native usergrouplist for tax-exempt groups
Improvement Inject tax classes into tax-profile dropdowns via event 'result' key
Update Requires Joomla 6.x + J2Commerce 6.x
New Feature Tax classes with granular rates matched by country, zone and postcode (wildcards)
New Feature Honor store tax basis (billing/shipping) from J2Commerce config for rate matching
New Feature Per-class rate mode: add to, or replace, the core tax profile rate
New Feature User-group tax exemptions (zero tax for selected groups)
New Feature Native Joomla 6 admin: list view with sort, search, filter and core publish toggle
New Feature Tabbed edit form with Save / Save & Close / Save as Copy toolbar
New Feature CSV import and export of tax rates
New Feature 20-locale translations (en-US canonical)
Improvement Evolved from app_taxrate: renamed element, namespace, tables and language keys
Update Requires Joomla 6.x + J2Commerce 6.x
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.