Calculator
The Calculator runs ad-hoc tax calculations with the exact request shape your integration will send to the API. Pick a preset, fill in a stay, and read back an itemized breakdown of every tax, the components it produced, and the rules it evaluated.
Start from a preset
Open Calculator in the left navigation. A row of quick presets sits at the top — Barcelona, New York, Tokyo, Paris, Dubai, and more. Clicking one fills the form and calculates immediately, so you can see a realistic stack in a single click. Edit any field afterward to explore variations. Nothing on this screen is saved until you explicitly choose to save a booking.
The core stay fields
The required inputs describe where and what the stay is. You can either select a Managed Property at the top — which prefills the jurisdiction and its stored tax drivers — or fill the fields directly.
| Field | Type | Description |
|---|---|---|
| Jurisdictionrequired | code or address | A jurisdiction code (e.g. ES-CT-BCN) or an address to resolve to one. |
| Stay daterequired | date | Rates and rules are time-aware; the date selects the rates in force. |
| Nightsrequired | integer | Length of stay. Disabled when a per-night rate schedule is used. |
| Nightly raterequired | decimal | Room rate per night, in the booking currency. |
| Currencyrequired | ISO 4217 | The booking currency. |
| Property type | enum | Hotel, vacation rental, villa, hostel, and more — many rules key off property class. |
| Star rating | 1–5 | Drives star-banded rates where they exist. |
| Guests | integer | Guest count; per-person tourist taxes multiply by it. |
| Guest type | enum | Standard, tourist, business, or resident. |
The collapsible advanced sections
Beneath the core fields, collapsible sections cover everything else the engine can take. They stay closed until you need them so the form doesn't overwhelm.
- Guests & Booking Purpose — booking purpose (leisure, business, government, etc.) plus per-guest rows for rules that depend on nationality, age, residency, or exempt-entity type (a diplomat, for example).
- Rate Schedule — switch on per-night rates when the nightly rate varies across the stay; the engine uses each night's own rate and exposes per-night precision.
- Line Items — ancillary fees (cleaning, resort, service, commission, and more) separate from the room. Each is taxed by the rates matching its own tax category; the room base is untouched.
- Booking Channel — mark a booking as a marketplace/OTA booking and set a platform type, which channel-scoped rules key off.
- Multi-Actor Scenarios — the OTA and B2B levers (below).
Multi-actor scenarios
The Multi-Actor section exposes the fields that model who sells the stay and who the customer is. All are optional and backward-compatible — leave them blank for a plain direct hotel booking.
| Field | Type | Description |
|---|---|---|
| Merchant of record | property | platform | none | Who remits the tax. Routes each component to platform-collected or property-collected in the result. |
| Customer type | consumer | business | … | Business with a tax ID enables cross-border B2B handling (e.g. reverse charge on commission). |
| Business tax ID | string | VAT/EIN/GSTIN — shown when customer type is business. |
| Settlement currency | ISO 4217 | Project the tax into a settlement currency with an FX rate. |
| Price includes tax | boolean | Treat the rate as gross; the engine reverse-derives the base (EU consumer-law display). |
Reading the result
Press Calculate Tax and the right-hand panel fills in. Three panels make up the output:
- Calculation result — the resolved jurisdiction, the subtotal, the total tax, the effective rate, and the total with tax. When you've asked for a settlement currency or merchant of record, this panel also shows the converted tax and the collection split (who collects what).
- Tax Components — one row per tax, with its name, rate type, amount, the jurisdiction and level it came from, any legal reference, and an exempt badge (with the struck-through rate that would have applied) when a rule waived it.
- Rules Evaluated — every rule the engine considered, each tagged applied, exempted, or skipped. This is what makes the number auditable rather than a black box.
Save as a booking, or simulate a refund
Once you have a result, a Save as booking card appears. It persists the calculation as a booking you can then enrich with buyer details and issue as an invoice.
- 1Save & open bookingPersists the calculation and opens its booking detail page. In Test mode it saves to the isolated sandbox series.
- 2Simulate refundSaves the booking (if it isn't already) and opens an inline refund form — enter an amount and reason to see the per-jurisdiction tax delta the engine returns.
Try it here
The same engine that powers the dashboard calculator is embedded below. Pick a preset or edit the inputs — it runs against your live session, and nothing is saved.
Pick a preset or enter a stay, then Calculate.
Ready to call it from code? See Calculate tax (API). To understand the breakdown field-by-field, see How a calculation works.