Solidshop uses a three-layer tax system: tax classes group products by tax treatment, tax zones define where taxes apply, and tax rates set the percentage.
A fresh install comes with a sample setup to match the sample store in Springfield, Illinois: a Standard class (the store default), an Illinois zone and a 6.25% Illinois sales tax rate, with the sample products in the Standard class. A test order shipped to an Illinois address shows the tax line; one shipped anywhere else shows none. Replace all three with your own on the store’s Tax tab before you take real orders.
Tax in the setup wizard
The setup wizard replaces the sample for you, as long as the store’s tax is still exactly the sample one. It removes the Illinois zone and rate and then, depending on your answer:
- I don’t charge tax — nothing else. The setup checklist marks tax as not needed.
- One rate for my country — creates a zone named after your store’s country, covering the whole country, and one rate on the store’s default class with the name and percentage you give. Add regional rates, reduced rates or other countries on the Tax tab afterwards.
- I’ll set this up later — nothing else. The checklist keeps tax open until you add a rate.
With one rate, the wizard also asks whether your prices already include tax, and sets Tax price input type (below) from the answer. That setting applies to the whole site, so the question is shown only to users who may change Solidshop’s Options; everyone else sees the current setting instead.
Go to your store’s edit page and open the Tax tab. Create a tax class such as “Standard Goods” or “Digital Products”. You can mark one class as the default — products without an explicit tax class will use it automatically. If no class is marked as the default, those products are not taxed.
A tax zone is a geographic area. Add territories (countries and/or states) to define where the zone applies. For example, a “EU VAT” zone might include all 27 EU member states, while a “California” zone includes only the state of California.
A rate is charged only where its zone applies. At checkout, the shopper’s shipping address decides: a territory with a state covers that state, and a territory with only a country covers the whole country. Prices shown before checkout — on product pages, listings and the cart — are calculated at your store’s own address until the shopper enters one. When an address falls inside several zones (a country-wide zone and a state zone, say), the rates of all of them apply. A shopper whose address is outside every zone pays no tax.
A tax rate connects a zone to a class. For each rate you set:
- Name — the display label (e.g. “VAT”, “GST”, “Sales Tax”)
- Rate — the percentage (e.g. 20 for 20%)
- Compound — whether this rate is calculated on top of other taxes
- Applies to shipping — whether shipping costs are also taxed
- Priority — order of calculation when multiple rates apply
Tax display settings
In the Joomla admin, go to Solidshop → Config (or System → Global Configuration → Solidshop) to configure how prices and taxes are handled globally:
- Tax price input type — whether the prices you enter in the product form are exclusive of tax (you enter the net price, tax is added at checkout) or inclusive (you enter the gross price, tax is extracted at checkout)
- Tax price display — whether customers see prices including or excluding tax on the storefront
For EU/UK stores: set input type to “inclusive” and display to “including”. Customers see the final price; Solidshop calculates the tax component internally. For US/CA stores: use “exclusive” and “excluding” — tax is added at checkout, which is the expected experience.
Discounts and tax
Discounts reduce the taxable base of the order lines they apply to. Tax is calculated on what the customer actually pays for each line — not on the price before the discount — so a product given away by a promotion (a free item, or a 100% discount) carries no tax at all, and a 10% discount reduces each affected line’s tax by exactly 10%. This works the same in both tax modes: with exclusive pricing the tax is added on top of the discounted net amount, and with inclusive pricing the tax portion is extracted from the discounted gross amount.