Beds24 tourist tax: set up city tax, fees and a clear total price
In Beds24, a tourist or city tax is an obligatory upsell item, created in (SETTINGS) BOOKING ENGINE > UPSELL ITEMS: a fixed amount per person or per adult per night, or a percentage of the price. It is never part of the offer price, and by default guests only see it after choosing a room, which is why so many discover it at check-in. Here is how to set it up for the usual local rules, what happens on Booking.com and Airbnb, and how to show the full total before anyone books.
Tourist tax, city tax, occupancy tax: what you collect
The name changes from one place to the next (tourist tax, city tax, occupancy tax, Kurtaxe, taxe de séjour), but the mechanism is usually the same: a municipality, canton or region sets the rule, the guest pays, and you collect the money and pay it over. What really differs is the basis of calculation, and that is what you need to know before you open Beds24. A few official examples show how far apart the rules are:
| Example (October 2026) | Basis | Rule |
|---|---|---|
| Geneva, Switzerland | Per person per night | CHF 4.25, CHF 2.50 on campsites, collected by the accommodation provider (ge.ch) |
| Lausanne, Switzerland | Per person per night, by category | From CHF 3.00 (apartments) to CHF 7.00 (5-star superior hotels); children under 12 can be exempted on request (lausanne.ch) |
| France | Per person per night (“au réel”) or a flat amount based on capacity (“au forfait”) | Each municipality chooses; guests under 18 are exempt (service-public.fr) |
| Berlin, Germany | Percentage of the price | 7.5% of the net price of the overnight stay, without extras such as breakfast; owed by the accommodation business (berlin.de) |
| Vienna, Austria | Percentage of the price | 5% of the price of the stay, excluding VAT and breakfast, from 1 July 2026; 8% from 1 July 2027 (wien.gv.at) |
| Brussels-Capital Region, Belgium | Per accommodation unit per night | €5 per unit at the standard 2026 rate, municipal surcharges included; declared monthly by the operator (be.brussels) |
These are examples, not rules for your property. Rates change every year or two, exemptions (children, business travellers, long stays) differ, and some places stack two levies: the canton of Bern charges a cantonal accommodation levy of one franc per night for everyone over 16, and its municipalities can add their own Kurtaxe (canton of Bern). Take your figures from your municipality or tourist office, and check them again at least once a year.
Before you touch Beds24, write your local rule in one line: amount, basis (person, adult, room or percentage), age limit, maximum number of nights. That line translates almost directly into Beds24 settings.
How Beds24 handles taxes: obligatory upsell items
Beds24 has no tourist tax field and no built-in rates. Its documentation is explicit: “Sales taxes and other taxes which are added to the price of the lodging are ‘Upsell Items’”, created in (SETTINGS) BOOKING ENGINE > UPSELL ITEMS (Beds24 wiki: Tax). An upsell item can be an optional extra, such as breakfast or parking, or an obligatory charge that the guest cannot remove. A tax is an obligatory item, and four settings matter:
- Type: “Obligatory” for a fixed amount, per night or per stay, and “Obligatory Percentage Tax” for a percentage. The list also contains Optional, Optional Quantity, Optional Percentage, Obligatory Cleaning, Obligatory Percentage and Refundable (Beds24 wiki: Upsell Items).
- Per: booking, room, person or adult. For a tax per head, choose person, or adult if children are exempt.
- Period: one time (once per stay) or daily (every night).
- VAT: each item has its own VAT field. If your room prices include VAT, the rate itself is set in (SETTINGS) PROPERTIES > DESCRIPTION (Beds24 wiki: Tax).
For a percentage, the “per” setting changes the base. Per room applies the percentage to the room price only; per booking also includes the extras already selected, such as breakfast (Beds24 wiki: Tax). Berlin and Vienna leave breakfast out of the base, so per room is the closer match there. If the official base also excludes VAT, as in Vienna, and your prices include VAT, a percentage applied to your price comes out slightly high: divide the official rate by 1 plus your VAT rate. Beds24 also lets you switch each upsell item on or off for individual daily prices and fixed prices (Beds24 wiki: Upsell Items), which one of the examples below relies on.
One detail explains most guest complaints: “Upsell Items are shown on the booking page after the guest has selected their room or rooms”, and obligatory items appear in the room section (Beds24 wiki: Upsell Items). On the first screen, the guest compares prices without the tax.
In short: in Beds24, a tourist tax is an obligatory upsell item (Per = Person or Adult, Period = Daily for a nightly rate). Guests only see it after choosing a room unless Total Price Style is set to “Total including obligatory”.
Examples: per person per night, adults only, first nights only
The settings below follow the examples in the Beds24 wiki (Upsell Items, Tax). Labels can vary slightly with the language of your account.
| Local rule | Beds24 upsell item |
|---|---|
| Fixed amount per person per night | Type = Obligatory, Amount = the rate, Per = Person, Period = Daily |
| Fixed amount per adult per night, children exempt | The same with Per = Adult, plus the children label described below |
| Fixed amount per stay | Type = Obligatory, Per = Booking or Room, Period = One time |
| Percentage of the room price | Type = Obligatory Percentage Tax, Amount = the percentage, Per = Room |
| Only the first 7 nights are taxed | Two items and two fixed prices split by length of stay |
Children under a given age exempt. Beds24 counts adults and children, not ages, so the trick is to tell guests where the line is. In (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE > DEVELOPERS, under “Custom Text”, the wiki replaces the default labels with “Children|Children under 10” and “Child|Child under 10”, then charges the tax per adult (Beds24 wiki: Tax). Older children are booked as adults and pay. Put your own limit in the label, for example 18 for a French municipality or 12 for the Lausanne exemption.
Only the first nights taxed. Some municipalities stop charging after a set number of nights. The wiki example “City tax charged for first 7 nights only” uses fixed prices:
- Create upsell item 1, obligatory: the amount per adult per night, Per = Adult, Period = Daily.
- Create upsell item 2, obligatory: the total for 7 nights as a single amount, Per = Adult, Period = One time.
- Open a fixed price with Maximum Stay = 7 and select upsell item 1 in its upsell settings.
- Open a fixed price with Minimum Stay = 8 and select upsell item 2.
Test both lengths of stay afterwards. If a length of stay is no longer covered by any price, the room disappears from your booking page, the case explained in our guide to “No price found” in Beds24.
Cleaning fees and other obligatory charges
Cleaning fees use the same mechanism. The wiki example is Type = Obligatory, Description = Cleaning Fee, Amount = 50, Per = Booking, Period = One time, with this warning: “This fee will be applied to the booking page. It will not send to OTAs.” (Beds24 wiki: Upsell Items). The type list also has a dedicated “Obligatory Cleaning” entry.
If you prefer prices that already include cleaning, Beds24 describes alternatives: a fixed price that includes the fee, or a note in the offer’s “Description 2” (Beds24 wiki). That works for cleaning, but not for a tourist tax that has to appear as its own amount: keep the tax as a separate obligatory item.
Channels are a separate job. Vrbo and HomeToGo require a cleaning fee and receive zero if none is set; fees for these channels, Booking.com and Airbnb are entered in each channel’s own settings in Beds24 (Beds24 wiki: Fees).
Why the tax is missing from the offer price, and from the API
In Beds24, the price of a stay comes from the room’s offers. The tourist tax is not part of them: it is added afterwards, as an upsell item. That has three consequences:
- On the standard Beds24 booking page, the first screen shows offer prices without the tax, unless you change the display setting described in the last section.
- Through the Beds24 API v2, the offers returned for each room type carry a price that excludes the tourist tax. Any website, widget or app that reads prices from the API shows the lower figure unless it adds the tax itself.
- On the OTAs, nothing arrives from your upsell items: the wiki states that “Upsell Items can not be exported to OTAs” (Beds24 wiki: Upsell Items). Taxes there are set up separately.
So the guest sees one price when booking and pays another at the front desk. The amount is small, but it is exactly the kind of surprise that sours the start of a stay. If you send your direct prices to Google, its Hotel Center rules also ask for taxes and fees to be shown clearly in the price breakdown of the final booking page (Google).
Booking.com, Airbnb and direct bookings: who collects what
Because Beds24 does not push upsell items to the channels, set the tax up once per sales channel, then check who collects it.
| Channel | Where the tax is set | Who collects it |
|---|---|---|
| Your Beds24 booking page | Obligatory upsell item in Beds24 | You, with the booking or at check-in |
| Booking.com | In your Booking.com content; Beds24 can send custom fees and taxes from (SETTINGS) CHANNEL MANAGER > BOOKING.COM > SPECIFIC PROPERTY CONTENT, “Custom”, if the connection is activated for content (Fees) | Depends on your Booking.com setup: check the price breakdown of a test booking |
| Airbnb | Set by Airbnb where it collects; elsewhere, custom taxes can be sent from (SETTINGS) CHANNEL MANAGER > AIRBNB > SPECIFIC CONTENT > CUSTOM (Fees) | Airbnb, which either pays it to the authority itself or passes it through to you |
| Phone and email bookings | Added by hand: Beds24 has a selector for upsell items in the booking’s “Charges and Payments” tab (Upsell Items) | You |
Airbnb publishes the list of areas where it collects and remits taxes itself (Airbnb). In France it collects the taxe de séjour on bookings in municipalities that apply the tax “au réel”, and hosts “no longer have to do anything” for those reservations (Airbnb); in Germany its list currently names only Dresden, Dortmund, Frankfurt am Main and Wiesbaden (Airbnb). Where Airbnb does not collect, Beds24 can send custom taxes, such as a tax per person per night (the TAXPERSONNIGHT parameter), which Airbnb collects and passes through to you (Beds24 wiki). With the sync type “Prices & Availability”, Beds24 does not update fees and taxes on Airbnb. Our Beds24 and Airbnb guide covers the rest of the connection.
Never collect the same tax twice: when Airbnb has already collected it for a booking, do not charge it again at check-in.
For invoices and declarations, the tax booked through Beds24 sits in the booking’s charges. For a percentage tax, the wiki says the value is added to the “Price” and “Tax” fields of the booking’s “Charges and Payments” tab; to show included VAT on the invoice, it uses the template variables [INVOICETABLEVAT] or [INVOICETABLEVAT2] (Beds24 wiki: Tax). Whether VAT applies to the tourist tax itself depends on local law and on who owes the tax, so ask your accountant before you fill in the item’s VAT field.
Show the total with tax before guests book
On the standard Beds24 booking page, one setting fixes the display. Beds24 documents that if you set Total Price Style = “Total including obligatory” in (SETTINGS) BOOKING ENGINE > PROPERTY BOOKING PAGE, “the first screen of the booking page will show the total price including all obligatory fees and taxes” (Beds24 wiki). One limitation: with this setting, you cannot use “Per Booking” fees with multi-room bookings (Beds24 wiki). Then search your own page in a private window for two adults and one child, and compare the total with your local rule. Our guide to customizing the Beds24 booking page covers the other display settings.
If you replace the standard page, the question comes back, because a page built on the Beds24 API receives offer prices without the tax. Bookpage24, a Beds24 booking engine that replaces the standard booking page without leaving Beds24, handles it on its side:
- The tax is added per person per night, and the total due is shown when the guest chooses a room, not at check-in.
- Several rates per room: the Beds24 offers of a room appear side by side, cheapest first (flexible, non-refundable, breakfast included…), and the tax is added to the one the guest picks.
- The tax line is written into the Beds24 booking, so it is there for your invoice and your declaration.
- Prices stay live: availability and prices are read from Beds24 on every search and checked again at booking time, and the booking then closes the room on all your channels through the Beds24 channel manager.
If a search or a booking fails on the Bookpage24 side, guests are offered your original Beds24 booking page, which uses your Beds24 upsell item, so keep the same amount in both places. If your municipality uses a percentage, age bands or capped nights, contact us to check your case before going live. You can see the live demo with a real hotel’s prices, or have our team set it up: city tax and deposit are part of that setup, and our guide to deposits in Beds24 explains the payment side.
Frequently asked questions
Where do I set up tourist tax in Beds24?
In (SETTINGS) BOOKING ENGINE > UPSELL ITEMS, as an obligatory upsell item: “Obligatory” for a fixed amount, “Obligatory Percentage Tax” for a percentage. Beds24 has no separate tourist tax field and no built-in rates.
Can Beds24 charge city tax per person per night?
Yes. Create an obligatory upsell item with Per = Person, or Per = Adult if children are exempt, and Period = Daily. The amount then applies to every guest counted and every night of the stay.
How do I exempt children from the tourist tax?
Charge the tax per adult, and rename the children field in the booking page’s “Custom Text” (DEVELOPERS settings) so that it shows your age limit, for example “Children under 10”. Older children are then booked as adults and pay the tax.
Why do guests only see the city tax after choosing a room?
Because Beds24 shows upsell items after room selection and offer prices exclude the tax. Set Total Price Style to “Total including obligatory” in the property booking page settings to show the total on the first screen.
Does the tourist tax appear on the Beds24 invoice?
When it is booked as an upsell item, it is part of the booking’s charges in the “Charges and Payments” tab, which is where the invoice lines come from. For bookings taken by phone or email, add the item there with the upsell selector before you send the invoice.
Beds24 is a trademark of Beds24 GmbH. We are an independent service, not affiliated with Beds24.