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 calculator — inputs on the left, the live result on the right.

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.

FieldTypeDescription
Jurisdictionrequiredcode or addressA jurisdiction code (e.g. ES-CT-BCN) or an address to resolve to one.
Stay daterequireddateRates and rules are time-aware; the date selects the rates in force.
NightsrequiredintegerLength of stay. Disabled when a per-night rate schedule is used.
Nightly raterequireddecimalRoom rate per night, in the booking currency.
CurrencyrequiredISO 4217The booking currency.
Property typeenumHotel, vacation rental, villa, hostel, and more — many rules key off property class.
Star rating1–5Drives star-banded rates where they exist.
GuestsintegerGuest count; per-person tourist taxes multiply by it.
Guest typeenumStandard, 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.

FieldTypeDescription
Merchant of recordproperty | platform | noneWho remits the tax. Routes each component to platform-collected or property-collected in the result.
Customer typeconsumer | business | …Business with a tax ID enables cross-border B2B handling (e.g. reverse charge on commission).
Business tax IDstringVAT/EIN/GSTIN — shown when customer type is business.
Settlement currencyISO 4217Project the tax into a settlement currency with an FX rate.
Price includes taxbooleanTreat the rate as gross; the engine reverse-derives the base (EU consumer-law display).
Detail
These map onto the same request fields the API accepts. For the full scenario-to-field map, see Channels & merchant of record, Reverse charge, and the scenario-fields reference.

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.

  1. 1
    Save & open booking
    Persists the calculation and opens its booking detail page. In Test mode it saves to the isolated sandbox series.
  2. 2
    Simulate refund
    Saves 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.
Heads up
The booking inherits the active Test/Live mode at save time. Check the header switch before saving so a sandbox dry-run doesn't land on your live ledger.

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.

Live calculatorRuns against your session · nothing saved
Sign in to calculate

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.