Skip to main content

Tax Rules

Tax Rules connect Tax Profiles to Tax Rates, determining which tax percentage applies based on the customer's location. Each rule defines which Tax Profile, Tax Rate, and address type to use for tax calculation.

warning

The information and examples provided are for general informational purposes only and do not constitute tax or legal advice. J2Commerce and its employees or affiliates make no representations or warranties regarding accuracy or applicability and accept no liability for VAT or tax compliance. Tax regulations, including but not limited to, US, CANADIAN tax or EU VAT rules for digital and physical goods, are complex and subject to change. Users are solely responsible for ensuring compliance and should consult a qualified tax advisor.

Requirements

  • PHP 8.3.0+
  • Joomla 6.x
  • J2Commerce 6.x
  • At least one Tax Profile created
  • At least one Tax Rate created

Accessing Tax Rules

Go to J2Commerce -> Localisation -> Tax Profiles -> Tax Rules tab

Tax Rules List View

The tax rules list displays all configured rules:

Status: Published (green) or Unpublished (grey)

Tax Profile: The tax profile this rule applies to

Tax Rate: The rate and geozone for this rule

Address Type: Billing or Shipping

ID: Internal rule ID

Filter Options

Search: Search by tax profile name or tax rate name

Tax Profile: Filter by tax profile

Address Type: Filter by Billing or Shipping

Creating a Tax Rule

  1. Click New
  2. Select the Tax Profile Name.
  3. Select the Tax Rate.
  4. Choose the Address Type.
  5. Click Save or Save & Close.

Tax Rule Fields

FieldDescriptionOptions
Tax ProfileThe tax profile this rule applies toSelect from existing profiles
Tax RateThe tax rate (percentage and geozone)Select from existing rates
Address TypeWhich address to use for geozone matchingBilling / Shipping
OrderingPriority for compound tax calculationNumeric (lower = first)

Address Type Options

Address TypeUse CaseDescription
BillingEU VAT, GSTTax calculated from where customer is billed
ShippingUS Sales TaxTax calculated from delivery destination

How Tax Rules Work

Simple Tax Scenario

For a single tax rate in one region:

  1. Product is assigned Tax Profile: Standard VAT
  2. Customer's address matches Geozone: United Kingdom
  3. Tax Rule matches: Standard VAT + UK + Billing Address
  4. Tax Rate: 20% is applied

Multiple Tax Rules (Compound Tax)

For regions with multiple taxes (e.g., federal + state tax):

PriorityTax RuleRateCalculation
1Federal Tax5%Applied to base price
2State Tax7%Applied to price + federal tax

Example:

  • Base price: [dollar]100
  • Priority 1: [dollar]100 × 5% = [dollar]5 (federal)
  • Priority 2: ([dollar]100 + [dollar]5) × 7% = [dollar]7.35 (state)
  • Total tax: [dollar]12.35

Rule Matching Logic

When J2Commerce calculates tax for a product:

  1. Get the product's Tax Profile

  2. Get the customer's address (billing or shipping based on rule)

  3. Match address to Geozone

  4. Find Tax Rules where:

    • Tax Profile matches product's profile
    • Tax Rate's geozone matches customer's location
  5. Apply matched Tax Rate(s) in priority order

Multiple Matching Rules

If multiple rules match:

  • Rules are applied in ordering sequence (lower first)
  • Each rule's tax is added to the cumulative total
  • This enables compound tax calculations

Best Practices

Naming Conventions

Use descriptive names for Tax Rates:

Good NamePoor Name
UK Standard VAT 20%Tax Rate 1
California Sales Tax 9.25%CA Tax
Swiss VAT 7%Switzerland

Rule Organization

  • Group by Tax Profile: Keep all rules for a profile together
  • Use consistent ordering: Priority 1, 2, 3 for compound taxes
  • Document address types: Note why billing vs shipping is used

Common Configurations

UK/EU VAT (Single Rate)

SettingValue
Tax ProfileStandard VAT
Tax RateUK VAT 20% (Geozone: UK)
Address TypeBilling

US Sales Tax (Single State)

SettingValue
Tax ProfileTaxable Goods
Tax RateCA Sales Tax 9.25% (Geozone: California)
Address TypeShipping

Canadian Tax (GST + PST Compound)

Rule 1 (GST):

SettingValue
Tax ProfileCanadian Tax
Tax RateCanada GST 5%
Address TypeShipping
Ordering1

Rule 2 (PST):

SettingValue
Tax ProfileCanadian Tax
Tax RateBC PST 7%
Address TypeShipping
Ordering2

Tips

  • Test with real addresses: Create test orders from different locations
  • Use geozones correctly: Ensure geozone boundaries match tax jurisdictions
  • Document your rules: Keep notes on why each rule exists
  • Check ordering: Lower priority numbers are calculated first
  • Match address types: Use Shipping for US sales tax, Billing for EU VAT

Troubleshooting

Tax Not Calculating

Cause: No matching tax rule for the customer's location.

Solution:

  1. Go to J2Commerce -> Localisation -> Geozones.
  2. Verify the geozone includes the customer's country/zone.
  3. Go to Tax Rates and check the Tax Rate is linked to the correct geozone.
  4. Go to Tax Rules and verify a rule links the product's Tax Profile to the Tax Rate.
  5. Check the product has the correct Tax Profile assigned.

Wrong Tax Rate Applied

Cause: Multiple rules matching, or incorrect address type.

Solution:

  1. Check Address Type — Should match your tax jurisdiction rules.

    • US sales tax: Use Shipping address
    • EU VAT: Use Billing address
  2. Verify the Tax Rate has the correct percentage.

  3. Check if compound tax is applying multiple rates.

Tax Calculated on a Different Address Than Expected

Cause: Address Type set incorrectly.

Solution:

  1. Edit the Tax Rule.
  2. Change Address Type to Billing or Shipping as needed.
  3. Save the rule.
  4. Test with a new order.

Customer in Exempt Location Being Charged Tax

Cause: Geozone includes areas that should be exempt.

Solution:

  1. Review geozone configuration.

  2. Either:

    • Create a separate geozone for exempt areas
    • Remove exempt areas from the geozone
  3. Or create a "No Tax" Tax Profile with 0% rate for exempt products.