Visitor Levy Calculator

Audit and reconcile the Visitor Levy Airbnb collected

Import your booking export and, optionally, a separate custom tax report. Compare platform-collected amounts with expected levy, investigate differences and prepare the records behind your council return.

Airbnb's custom tax guidance says the tool is available to most hosts and that custom taxes are paid to the host for onward reporting and payment. Availability and settings still need checking for each listing. Collection is separate from filing your return. Read the reconciliation guide.

What to export from Airbnb

Airbnb's host dashboard lets you download a transaction history or reservations report as a CSV. Either works, as long as it has, at minimum, a check-in date, a check-out date and an accommodation amount per row — those three are the only strictly required fields. Everything else (guest count, booking date, cleaning fee, currency) improves accuracy but isn't mandatory.

How the import actually works

  1. 1. Local parsing. The file is read and parsed entirely in your browser — it is never uploaded as a raw file to any server as part of this flow.
  2. 2. Source detection. The column headers are checked against known signatures for Airbnb's export formats (things like "Confirmation code", "Start date", "Gross earnings", "Host fee"). Two or more matching headers is enough to confidently label the file as an Airbnb export and suggest the right mapping; fewer than that, and it's treated as a generic import you map by hand.
  3. 3. Column mapping. Each column in your file is matched to one of a fixed set of canonical fields — check-in date, check-out date, accommodation amount, cleaning fee, VAT amount, and so on — with check-in, check-out and accommodation amount required before you can proceed. Columns that don't map to anything relevant (including anything that looks like a guest name, email or phone number) are simply left unmapped and discarded.
  4. 4. PII stripping. There is no canonical field a guest name, email or phone column can be mapped to at all — the schema has nowhere to put one. Only sanitised, levy-relevant fields (dates, amounts, currency) are ever sent to your account.

Gross accommodation amount vs. payout

The one thing to get right in an Airbnb export: the accommodation amount mapped for the levy has to be the gross accommodation charge, not what actually landed in your bank account after Airbnb's host service fee. If a column you've mapped to accommodation amount looks like it's already net of fees, the mapper flags it before you continue — but the underlying column headers in Airbnb's exports vary by report type, so it's worth checking which figure you're actually mapping.

Stay dates, fees, VAT and extras

Map check-in and check-out to the actual stay dates (not a payout date), and map any cleaning fee, Airbnb service fee, or other extras to their own fields. Mandatory cleaning can form part of the accommodation charge; genuinely optional services need separate treatment. Do not deduct a host commission from the original accommodation price just because it reduces the payout. If Airbnb's export shows VAT separately for a VAT-registered listing, map that too so it can be backed out of the pre-VAT accommodation base correctly.

Check your host fees and VAT position

Use our UK Airbnb host fees calculator and payout guide to estimate the platform deduction. If you are not VAT registered, check the separate levy rules before excluding a booking. See the council guidance for commission and cleaning treatment.

Preparing a return

Once mapped, every row is calculated through the same engine as the free calculator — night cap, booking cutoff, VAT treatment and bundled breakfast (where applicable) all applied consistently. Any row with a problem (a missing required field, an implausible rate, an unresolved property match) is reported individually rather than failing the whole import, so a handful of bad rows never blocks the rest of a quarter's bookings from being processed.

Try one booking first

Use the free calculator with a single Airbnb booking's figures before importing a full export.