Home›Shipping & Tax›Tax rules and destinations

Tax rules and destinations

Tax in TitanCart is built from three things: tax rules (a tax such as VAT or state sales tax, with its registration number and whether your prices already include it), the rates each rule charges in each rate area (a country, a state or a postcode range), and the tax class you give each product, which is simply the rule that applies to it. This article covers all three plus taxable shipping and the display settings. Tax is identical in TitanCart Lite and Pro — it is a legal requirement, not an upsell.

1. Tax rules

Go to TitanCart → Settings → Tax Rules. A fresh store has one rule, Standard Rate, with no rates yet. Click New Tax Rule (or a rule’s name) to open the editor. The General tab:

  • Name — what the shopper sees on the order (“VAT”, “Sales Tax”, “GST”).
  • Registration number — your VAT or tax registration, printed with the tax.
  • Priority — when a product falls under several rules, rules with the same priority are added together; a higher priority number runs after lower ones, which matters for compound rates.
  • Rates depend on — Shipping address or Billing address: which address picks the rate area. Goods shipped to consumers almost always use the shipping address.
  • Price includes tax — on means the prices you type into the product editor are gross and TitanCart backs the tax out of them for the order record; off means prices are net and tax is added at checkout. European stores usually turn it on; US stores leave it off.
  • Status — a disabled rule charges nothing.

Most stores need one rule per tax they collect: one “Sales Tax” rule, or “VAT” plus a “Reduced VAT” rule for products that qualify for a lower rate.

2. Rates and rate areas

On the rule’s Tax Rates tab, click Add Tax Rate. Each rate has:

  • Rate Area Name, Country Code and State / Province Code — where the rate applies. Enter a two-letter country code (US) and optionally a state (PA) and TitanCart creates the rate area for you. Leave the location blank and the rate goes into the Default rate area (all countries), which matches any address that no more specific area catches.
  • Rate Value — the percentage, for example 20 for 20%.
  • Type — Percent (standard) applies to the product price; Compound (tax on tax) applies to the price plus tax already calculated by lower-priority rules — the Canadian GST-plus-PST pattern.

When an address matches several rate areas of the same rule, the most specific wins: a postcode area beats a state area, which beats a country area, which beats the default. So a “US” rate plus a “US / CA” rate gives California its own percentage and every other state the country rate. Where there is no match at all, no tax is charged for that rule.

VAT (Standard Rate)
  Default rate area (all countries)   0 %
  GB                                  20 %
  DE                                  19 %
  FR                                  20 %

3. Assign a tax class to each product

In the product editor’s Pricing / inventory section, Tax class lists your tax rules, with Not taxable at the top. A new product starts as Not taxable, so pick a rule for every product you must charge tax on — a product left on Not taxable is never taxed, whatever rates exist.

4. Taxing shipping

If your jurisdiction taxes delivery, open each shipping method under Settings → Shipping Methods and set its tax class to the right rule; the shipping line is then taxed at that rule’s rate for the shopper’s rate area. Leave it empty and shipping is untaxed. See Shipping zones.

5. How tax is calculated and shown

At checkout TitanCart finds the rate areas matching the address, looks up each cart line’s tax class, applies that rule’s rates for those areas — same-priority rates summed, compound rates on top — and adds the lines up. Two settings shape what the shopper sees:

  • Settings → General Settings → Checkout → Tax calculation method based on — Subtotal (the default: tax is computed on the order and shown as one line at checkout) or Unit price (tax is computed per unit so tax-inclusive prices can be shown on product pages).
  • Settings → General Settings → Appearance — Display prices with taxes on category/product pages and Display prices with taxes on cart/checkout pages, which only take effect with the unit-price method, plus Estimate taxes using default address on cart/checkout to show an estimate before the shopper enters an address, using the default address set under Checkout.

Every order records the tax it charged, and Sales → Revenue Reports (Pro) shows a Tax column per period for your accountant. TitanCart calculates, displays and records tax; filing and remitting stay between you and your tax authority.

Not in this release: tax-exempt customer groups, a tax-rate CSV import and a dedicated tax report. Wholesale buyers who must not be charged tax are handled today by a separate rule with a 0% rate, or by invoicing them outside the storefront.

Troubleshooting

  • No tax at checkout. The product is still Not taxable (the default for new products), the rule has no rate for the shopper’s rate area and no default rate area, or the rule is disabled.
  • Tax is charged in the wrong amount for one state. Two rate areas at the same level cover it; make the state its own area so it wins over the country rate.
  • Prices look higher than I entered. Price includes tax is off and tax is being added on top; turn it on if your catalogue prices are gross.
  • Shipping is not taxed. The shipping method has no tax class.
  • I want VAT on EU digital sales by the buyer’s country. One rule with Rates depend on: Billing address and one rate per EU country code.

See also

Previous
Shipping zones and rate tables