Core concepts in five minutes

Four ideas explain almost everything TaxLens does: jurisdictions, additive stacking, tax categories, and rules. Learn these and the rest of the product reads naturally.

1. Jurisdictions form a hierarchy

A jurisdiction is any place that levies a tax: a country, a state or province, a county, a city, or a special district. Jurisdictions nest into a tree, and each has a hierarchical code:

  • NL — the Netherlands (country)
  • US-NY-NYC — New York City, inside New York State, inside the US
  • ES-CT-BCN — Barcelona, inside Catalonia, inside Spain

When you calculate tax for a location, TaxLens walks that location's full ancestor chain — city → region → country — and considers every tax attached anywhere along it.

2. Taxes stack additively

This is the single most important idea. Each jurisdiction in the chain levies its taxes independently, and they add together. There is no single "combined rate" stored anywhere — every layer is its own line, and they sum.

Additive stacking — a US city stay (illustrative)
Room rate (base)$600State lodging tax (6%) · state+ $36.00City occupancy tax (7%) · city+ $42.00Tourism district (1%) · district+ $6.00
Each authority's tax is its own percentage layer on the room; the guest pays the sum.

Each layer is authored as its own single-jurisdiction tax. A US state lodging tax and a city occupancy tax are two separate rows, never a hand-combined "17%" stored at the city. This mirrors how Avalara, Vertex, and Sovos model tax — and it's why TaxLens stays correct when one authority changes its rate but the others don't.

Want the deep version? See Layered & additive stacking.

3. Taxes come in categories

Not all accommodation taxes are the same kind of thing. TaxLens classifies each into a tax category, and the category determines how it's calculated:

  • VAT / GST — a percentage of the room price (and sometimes more). The recoverable, invoice-grade consumption tax.
  • Occupancy tax — a percentage or flat amount per room-night (US "hotel occupancy tax", Canadian MAT, and similar).
  • Tourist / city tax — usually a flat amount per guest per night (European taxe de séjour, imposta di soggiorno, and the like).

The distinction matters for invoicing: VAT belongs on the e-invoice as recoverable tax, while tourist and occupancy taxes are different legal animals and are handled separately. See Tax categories.

4. Rules change the outcome

A raw rate is rarely the whole story. Rules sit on top of rates and adjust them based on the booking — a long stay becomes exempt, a flat tax is capped after N nights, a reduced rate applies to a class of property, a cross-border business booking is reverse-charged. TaxLens supports five rule effects:

  • Exemption — the tax doesn't apply (and the engine shows you it was waived).
  • Override — replace the rate value (e.g. a 0% reverse-charge rate).
  • Cap — limit the tax amount or the number of taxable nights.
  • Surcharge — add an additional percentage applied to the taxable base (stacking additively).
  • Reduction — apply a percentage discount.
Note
Every calculation returns the rules it evaluated and whether each one applied, exempted, or was skipped — so the number is never a black box.

That's the whole model. Next: see a calculation end to end.