← STR Occupancy Tax Calculator
This calculator vs. tracking occupancy tax in a spreadsheet
Occupancy tax is arithmetic, and a spreadsheet can do arithmetic. What a hand-built sheet usually misses is not the rate math but which layer of it a platform's collection agreement actually covers.
Where a hand-built spreadsheet usually goes wrong
| Question | Common spreadsheet shortcut | What this calculator does |
|---|---|---|
| Tax owed | One blended rate cell, or one row per authority with only a rate column. | Up to four named layers, each with its own rate, plus a flat per-night fee some jurisdictions charge separately. |
| Who already remitted it | Usually not modeled at all — a layer entered at a rate looks the same whether or not the platform withholds it. | A per-layer "platform collects" percentage, splitting every layer into what is already covered and what is left for the host. |
| The taxable base | Often just the nightly total, with the cleaning fee tracked separately and left out of the tax math. | Nightly rate times nights plus the cleaning fee, since most jurisdictions tax both. |
| Does anything I type get uploaded anywhere? | N/A | No. The calculation runs entirely in your browser; nothing you enter is sent to a server. |
What the missing distinction costs, on the calculator's own worked example
The stay this calculator opens with is $250 a night for four nights plus a $150 cleaning fee, for a $1,150.00 taxable base. A 6% state sales tax layer and a 5% county tourist-development tax layer together owe $126.50. A spreadsheet tracking only that blended 11% total shows the same figure and stops there.
The platform's collection agreement covers the state layer in full — $69.00 — and none of the county layer. That leaves $57.50 that never appears on a payout statement and is not withheld anywhere. A host reading only the blended total has no way to see that gap; a host reading a per-layer split sees exactly which $57.50 is theirs to file, on every stay, all year.
This tool needs no account and no sign-in: it is a static page, the arithmetic runs in your browser, and once it has loaded it keeps working with the connection off.
Open the STR Occupancy Tax Calculator to work your own stay, or compare payout fees across platforms with the STR host payout calculator.
Common questions
Isn't occupancy tax just a total rate I can put in a spreadsheet?
The arithmetic is simple — a percentage of a taxable base — and a spreadsheet handles that fine. What it does not do on its own is track each tax layer's remittance status separately: a state sales tax a platform collects automatically sitting next to a county tourist tax it does not. A single blended rate cell answers "what is owed" and stays silent on "who already paid it", which is the question that actually determines whether a host has a filing to do.
What does missing that distinction actually cost?
On the worked example this calculator opens with — a $1,150.00 taxable base, a 6% state layer the platform fully collects, and a 5% county layer it does not — the total tax is $126.50. A spreadsheet tracking only the blended 11% rate shows that figure and nothing else. The host still owes $57.50 in county tax with no reminder that it was never withheld, because the sheet never modeled the platform's collection agreement as a separate fact from the tax rate itself.
Why not just add a column for what the platform collects?
You can, and a correctly built sheet gets the same split this calculator does — it is the same arithmetic either way. What a spreadsheet will not do unprompted is flag the case worth flagging: a layer entered at a rate but never marked as either fully covered or fully uncovered, which looks in a cell exactly like a layer already handled. This calculator raises that flag on every stay; a spreadsheet only raises it if someone remembered to build the check.