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.
| Rate | Percentage | Typical use |
|---|---|---|
standard | 20% | Most goods and services |
reduced | 5% | Home energy, children's car seats |
zero | 0% | Food, books, children's clothing |
exempt | — | Insurance, 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
}
}
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.
What to read next
- VAT Returns — submission to HMRC
- Invoices API — VAT on sales
- Reports API — VAT report generation
- Transactions API — control account postings