JewelTrak computes sales tax per invoice based on three rate fields stored on the order: TaxRate, SurTaxRate, and SurTaxThreshold. Understanding how they combine is important for jurisdictions like Florida that have a base state rate and a discretionary county “sur-tax” capped at a threshold per item.
How tax is calculated
The base tax applies to the entire invoice subtotal. The surtax cap is applied per item, not per line and not per invoice:
base tax = subtotal × TaxRate
per line: surtax = min(|lineExt|, qty × SurTaxThreshold) × SurTaxRate
(algebraically equivalent to giving each item its own SurTaxThreshold cap)
total tax = base tax + Σ (surtax for each line) - TaxRate — the base rate that applies to the entire subtotal (e.g. 6% state).
- SurTaxRate — an additional rate (e.g. 1% county discretionary).
- SurTaxThreshold — the dollar cap per item above which the SurTaxRate stops applying. Common in Florida ($5,000 cap).
Why per-item matters
A line of qty 3 at $3,000 each is three separate items for surtax purposes — each $3K item is under the $5K cap, so the full $9,000 line gets surtaxed:
3 × $3,000 watches in Florida (6% + 1%, $5,000 cap):
base = 9,000 × 0.06 = $540
surtax = min(9,000, 3 × 5,000) × 0.01 = $90 (full line under per-item cap)
total = $630 Contrast a single $8,000 item — only $5,000 of it gets surtaxed:
1 × $8,000 watch in Florida (6% + 1%, $5,000 cap):
base = 8,000 × 0.06 = $480
surtax = min(8,000, 1 × 5,000) × 0.01 = $50 (capped at one item × threshold)
total = $530 Service lines (StockType = ‘S’) are treated as a single item — the cap applies once to the line’s full amount.
Why this changed. Earlier versions capped surtax against the invoice subtotal as a whole, which under-collected on multi-quantity lines above the threshold. The math now matches the Florida DOR guidance (and equivalent rules in other surtax states): each item carries its own cap.
Rates are stored as decimals (0.06 = 6%) — the display layer converts to percentages.
Where the rates come from
Rates are per invoice, written at order creation time, copied from:
- The store’s default rates (Settings → Stores → [store] → Tax setup), OR
- The customer’s override (some out-of-state customers have their own tax setup).
You can edit the rates on an individual invoice if needed — the saved rate is what’s used for the calculation.
When tax is $0
A $0 tax line on an invoice means one of:
- Taxable = 0 on the order header — the customer is tax-exempt or the sale qualifies (out-of-state ship-to, resale certificate on file, etc.).
- Wholesale customer — the customer’s contact type is Wholesale or they’re a vendor; sales to wholesale don’t generally collect tax.
- TaxRate = 0 — the store has no rate configured (rare; usually a setup oversight).
The Sales Tax Liability report breaks invoices into three sections: Retail Taxable, Retail Non-Taxable, and Wholesale, so you can see which bucket a tax-free sale fell into.
Tax Liability vs Tax Collected
On the report, both columns usually show the same number — but they can diverge:
- Tax Liability = what the formula says you owe based on the invoice subtotals (the calculated amount).
- Tax Collected = what you actually charged the customer.
In the current model, these are equal — every invoice’s tax is the calculated value. The two columns exist for jurisdictions where you might collect a different amount (e.g. invoice-level tax overrides). If you don’t override, expect them to match.
$0 invoice filter
The Sales Tax Liability report has an Adjusted-to-$0 filter:
- Include (default): show invoices where line items existed but a 100% Adjustment netted them to $0.
- Exclude: hide those rows entirely. Useful when those comp invoices are noise in the report.
The dollar totals don’t change between Include and Exclude — by definition the excluded invoices contribute $0 to every money column. Only the invoice count changes.
Tips
- File the Sales Tax Liability report monthly with your state’s sales tax return.
- The Tax Collected total should match what you remit to the state (down to the rounding rules — JewelTrak rounds per-line at 2 decimals).
- For a customer who claims tax-exempt status, mark Taxable = 0 on the invoice and record their resale-certificate number on the contact record so the verification + audit trail lives in JewelTrak. See Resale Certificates for the capture + verify workflow.
- If you ship to multiple states, set up a per-customer rate override or use the customer’s default address to drive the rate.