Skip to main content

VAT Handling

SpeyBooks handles UK VAT accounting automatically, including full support for Making Tax Digital (MTD).

VAT is treated as a first-class accounting concern: calculated per line item, posted to dedicated control accounts, and reported directly from the ledger.

VAT rates

SpeyBooks supports the standard UK VAT rates.

RatePercentageTypical use
standard20%Most goods and services
reduced5%Home energy, children's car seats
zero0%Food, books, children's clothing
exemptInsurance, education, healthcare

VAT rates are applied explicitly. Nothing is inferred or guessed.

Applying VAT to invoices

VAT is specified per line item when creating an invoice.

{
"items": [
{
"description": "Consulting services",
"quantity": 10,
"unitPrice": 50000,
"vatRate": "standard"
},
{
"description": "Training materials",
"quantity": 1,
"unitPrice": 10000,
"vatRate": "zero"
}
]
}

SpeyBooks calculates VAT deterministically:

{
"success": true,
"data": {
"subtotal": 510000,
"vatAmount": 100000,
"total": 610000
}
}
Minor units

All monetary values are expressed in minor units (pence for GBP). 510000 = £5,100.00

VAT accounting model

VAT is tracked using dedicated control accounts:

  • VAT Output (2100) — VAT charged on sales
  • VAT Input (2110) — VAT paid on purchases

Your VAT liability is calculated as:

VAT liability = VAT Output − VAT Input

These accounts are system-controlled and updated automatically.

Reverse charge VAT

For certain transactions (commonly B2B services from EU suppliers), the reverse charge applies.

When a transaction is marked as reverse charge:

  • VAT is accounted for but not charged to the supplier
  • Both VAT Output and VAT Input entries are generated
  • The net VAT impact is zero

SpeyBooks applies the correct postings automatically.

VAT reports

SpeyBooks generates MTD-compatible VAT returns directly from the ledger.

curl "https://api.speybooks.com/v1/reports/vat?from=2026-01-01&to=2026-03-31" \
-H "Authorization: Bearer sk_live_your_api_key"

Response

{
"success": true,
"data": {
"period": {
"from": "2026-01-01",
"to": "2026-03-31"
},
"boxes": {
"box1": 25000,
"box2": 0,
"box3": 25000,
"box4": 5000,
"box5": 20000,
"box6": 125000,
"box7": 25000,
"box8": 0,
"box9": 0
}
}
}

VAT reports are derived, not stored. They reflect the exact ledger state for the requested period.

Submitting to HMRC

SpeyBooks supports submission of VAT returns via the HMRC MTD API.

See VAT Returns for details on authorisation, submission, and confirmation.

Key principles

  • VAT is calculated per line item
  • VAT postings are automatic and deterministic
  • Control accounts are protected
  • Reports are generated directly from the ledger
  • MTD compliance is built in, not bolted on

VAT handling in SpeyBooks is designed to be correct, inspectable, and auditable.