VAT-only invoices
The e-invoice carries VAT and only VAT. Occupancy and tourist taxes are deliberately excluded — not because they don't matter, but because the EN 16931 standard can't represent them, and putting them on the invoice would misclassify them as recoverable VAT.
Why occupancy and tourist taxes are left off
A stay can attract several taxes — VAT on the room, plus a per-night tourist tax or a US hotel occupancy tax. Those are different legal animals. VAT is a recoverable consumption tax that EN 16931 is built to express. A tourist tax is a local levy with no VAT category — there is simply nowhere in the standard to put it that wouldn't claim it's VAT.
So TaxLens splits the booking's taxes by a VAT allow-list (is_vat_category, the same classifier the serializer uses). VAT categories go on the invoice; everything else is classified as EN 16931 category O ("not subject to VAT") and surfaced as a warning, to be remitted separately. Learn the underlying split in Tax categories.
What's on the invoice vs flagged
Totals reconcile over the VAT view
Because the tourist tax is off the invoice, the invoice totals are computed over the VAT lines only. This is what makes the issued document match its UBL PayableAmount exactly — there's no hidden levy throwing off the arithmetic. The excluded amount is still reported so you don't lose sight of it: the document carries an excluded_tax_total and a total_paid_including_excluded alongside the VAT-only payable total.
{
"tax_breakdown": [
{ "category_code": "S", "rate_percent": 10, "taxable_amount": 600.00, "tax_amount": 60.00 }
],
"totals": {
"lines_net_total": 600.00,
"tax_total": 60.00,
"grand_total": 660.00, // ← matches UBL PayableAmount
"currency": "EUR",
"excluded_tax_total": 30.00,
"total_paid_including_excluded": 690.00
}
}Next
When a single invoice does carry more than one VAT rate (room 10% + breakfast 20%), see Multi-rate VAT invoices. For how the same allow-list classifies categories across the engine, see Tax categories and the category reference.