innkept

Currency & VAT

Why prices are in pence, how VAT is applied per item and rolled up.

Innkept Quote is GBP-only today. Prices are stored as integer pence and formatted as pounds for display. VAT is per-item and rolled up into the quote total.

Why pence?

Floating point money is a bug waiting to happen — the classic 0.1 + 0.2 ≠ 0.3 problem. We store every price as an integer in the smallest currency unit (pence) and only format to pounds when rendering. The webhook payload exposes *_pence fields for the same reason — your handler should treat them as integers and divide by 100 only at the last possible moment.

Currency

Today: GBP, hardcoded. Other currencies are on the roadmap and will land alongside multi-region support. If you need to operate in EUR or USD today, email us.

VAT calculation

VAT is calculated per line item and summed:

line_vat   = round(line_total_pence × vat_rate / 100)
quote.vat  = sum(line_vat for every included line)

Rounding is half-up to the nearest pence. Calculating VAT on the rolled-up subtotal would give a different (usually 1p smaller) result thanks to per-line rounding — we use the HMRC-recommended approach.

Setting VAT rates

Each product and menu item has a vat_rate field. Defaults to 20 in the UK. Common rates:

RateUse for
20%Standard rate — most goods and services.
5%Reduced rate — children's car seats, domestic fuel.
0%Zero-rated — most food (cold takeaway, basic groceries). Hot food and on-premises catering is standard-rated.
(blank)VAT-exempt — health, education, financial services. Doesn't appear on the quote.

This is not tax advice. The rates above are general UK guidance. Catering and venue hire have specific VAT rules — check with your accountant. Innkept doesn't validate that the VAT rate you've set is correct for the item.

Showing prices inc. or ex. VAT

The configurator and proposal page show VAT-inclusive prices to guests, with a clear "includes VAT" label and a breakdown showing the VAT amount. This matches UK consumer expectations.

When you operate B2B (corporate events) some buyers prefer ex-VAT — that toggle is on the roadmap.

VAT in the webhook payload

The payload includes quote.vat_pence as a top-level number. We don't break VAT out per item in the v1 payload — your CRM probably doesn't need it, but if you do, query the Innkept API with the quote UUID for the full per-item breakdown.

Something missing or wrong? Tell us.

Updated regularly. UK English. No AI slop.