Tax is worked out on the server when the sale completes, never in the browser. Setting it up is two jobs: define the rates your store charges, then say which of them apply to each product. If you skip the second job entirely, everything is taxed at your default rate and the system behaves like a plain single-rate till.
1. Define your rates
Rates live in Admin → General, in the Tax Configuration card. You need admin rights to see them.
Press Add rate and fill in:
- Name — what it is, as you would want it to read on a report: State Sales Tax, City, Excise. Names must be unique; a duplicate is refused with A tax rate with that name already exists.
- Rate (%) — type it as a percentage, so
7.25for 7.25%. Anything from 0 to 100. - Active — leave ticked. Unticking hides the rate from the product form without deleting it or disturbing sales already recorded.
- Set as the store default rate — the rate charged on any product you have not assigned rates to. Set exactly one.
The list shows every rate with its percentage, a Default chip on the default one and an Inactive chip on any you have switched off. The pencil edits a rate; the trash deletes it, and both confirm first — Products assigned only this rate will fall back to the default.
This card saves itself. It is not covered by the Save Settings button further down the page.
2. Assign rates to a product
Open the product from Products and go to its Tax tab. (The tab only becomes useful once the product is saved — a brand-new product tells you to save first.)
You get a tick box per active rate. The rule the server follows is:
- Tax-exempt is ticked → the product is never taxed, whatever else is ticked.
- One or more rates are ticked → exactly those apply, added together. A product with State 7% and City 2% is taxed at 9%.
- Nothing is ticked → the product is taxed at your default rate.
A line at the bottom of the tab spells out where the product currently stands — Default, or State (7%), City (2%), or Tax-Exempt.
Ticking Tax-exempt (never taxed) greys out and clears the rate boxes, because exempt wins. The assignment saves when you save the product.
If the tab says No tax rates configured. Add rates in Admin → Tax Configuration; this product is taxed at the store default until then, either nobody has created any yet or you are signed in without admin rights — the rate list is only readable by accounts that can manage Admin.
How the total is worked out
At checkout the order is: line discounts, then any cart discount, then the cash discount if your store offers one — and tax is then applied to what is left. So a cash discount reduces the tax as well as the price.
Each rate is applied once to the total of everything it covers and rounded to the cent at that point, rather than rounded on each line and added up. Two products taxed at the same rate can never drift a cent apart from each other.
What the screen shows during a sale is an estimate
The tax figure on the register while a cart is being built is one rate applied to the whole basket — your store's default. It does not know about per-product rates or exemptions.
The tax actually charged is worked out on the server when the sale completes, using each product's own rates. Those two numbers agree for a store that uses a single default rate for everything. They can differ for a store that assigns different rates to different products, or marks some exempt — and the server's number is the one that goes on the receipt and into your reports.
If you assign per-product rates, expect the running total on the register screen to be approximate, and read the completed sale for the real figure.