FAQ

Short answers to the questions that come up most. Each links to the deeper treatment where there is one.

Why did I get zero tax back?

A zero (or empty) result almost always means the engine found no rate that matched your booking. The usual causes: the jurisdiction isn't modeled at that level, the location resolved to the wrong jurisdiction, the stay date falls outside an active rate's window, or a rule legitimately exempted the tax (a long-stay exemption, a B2B reverse charge, a bare FR rental). The response lists every rule it evaluated, so you can tell an exemption from a gap. Walk it through Troubleshooting → zero tax.

Why is occupancy / tourist tax excluded from the UBL invoice?

The e-invoice is VAT-only. EN 16931 and UBL model recoverable consumption tax (VAT/GST). Occupancy and tourist taxes are a different legal animal — they're not recoverable VAT, so putting them in the VAT breakdown would misstate the buyer's recoverable amount. TaxLens classifies them as category O (out of scope of VAT), excludes them from the VAT totals, and the document reconciles over the VAT view. They still appear in the full tax breakdown and your booking record — just not as VAT on the invoice. See VAT-only invoicing.

What's the difference between adjust and edit invoice details?

Adjust re-runs the tax engine — you're changing the booking's facts (nights, rate, guests) and you want a new calculation, which appends to the adjustment history. Edit invoice details changes only invoice metadata (buyer name and address, issuer attachment) and does not re-run the engine or touch the tax. Use adjust to fix the math; use edit invoice details to fix who the invoice is addressed to. See Bookings (API).

Can I edit an issued invoice?

No. Once a live invoice (a 380 invoice or 389 self-billed invoice) is issued it is immutable, and the underlying booking is frozen — adjust, void, refund, and edit-invoice-details all return 409. That's by design: a fiscal document with a gapless, allocated number can't change after the fact. To correct an issued invoice you issue a credit note (a 381 that reverses the original and references its number); to bill the corrected amount, create a new booking and issue against it — you cannot re-issue the same document type on the credited booking (that still 409s). See Numbering & immutability.

What is a credit note and when do I use one?

A credit note (document type 381) is the compliant way to reverse or correct an invoice you can no longer edit. It gets its own fiscal number, links to the original via its preceding invoice reference, and marks the original as credited — which frees void, refund, and edit-invoice-details on the booking. You still cannot re-issue the same document type on the credited booking; to bill a corrected amount, issue against a new booking. Use it for cancellations, refunds, and corrections to a live invoice. See The invoice lifecycle.

What is test mode?

Test mode lets you exercise the full flow — calculations, bookings, issuance — without it counting as live fiscal data. Keep experiments and integration work in test, and switch to live only when you're ready for real invoices and real fiscal numbering. See Test vs live.

Do you validate VAT IDs?

Not against a live registry yet. When you pass a business VAT ID, the engine uses its structure (and country prefix) to derive cross-border B2B status for the commission reverse-charge — but there's no live VIES lookup. If you need a verified ID, validate it upstream before calling. See Reverse charge.

How current is the tax data?

Rates and rules are time-aware: a calculation uses the rates in force on the stay date, including future changes already on file and past rates that have since expired. The dataset is refreshed on an ongoing research cycle as laws change. You can always inspect what's modeled for a place in the jurisdictions browser or the coverage reference.

Why isn't the room reverse-charged for my B2B guest?

Because a hotel room is a service connected to immovable property, so under EU rules it's taxed where the property is — with local VAT — even for a cross-border business guest. Reverse charge applies to the OTA commission line, not the room. A valid VAT ID does not change the room's treatment. See Reverse charge.

Why don't you show a single combined rate?

Because there isn't one. Each authority levies its tax independently and the amounts stack. Storing a hand-combined "17%" at the city would silently break the moment one authority changes its rate. TaxLens returns each layer as its own line and sums them — see Additive stacking.

I sent the same booking twice — did I double-charge?

Not if you sent an idempotency key. Booking creation is idempotent on (organization, idempotency_key): a retry with the same key returns the original booking instead of creating a second. Reusing a key with a different body is a conflict (409). See Errors & idempotency.

Didn't find it?

Note
Try Troubleshooting for symptom-based fixes, the Glossary for terminology, or the relevant API reference page for exact field behavior.