Free download · no email required
CSV: every Xero UK tax rate with the five CanApplyTo flags showing which account classes it is valid on.
Download the tax-rate list (CSV)If you have ever applied a VAT code in Xero and been told “invalid tax code”, this reference explains exactly why, and which codes are actually valid on which accounts. It lists every UK Xero tax rate with the five flags Xero uses to decide where a rate can be applied, so you can see at a glance why a code is accepted on one account and refused on another.
The rule behind “invalid tax code”
It is not the individual account that decides which codes it accepts. It is the account’s class, checked against flags on each tax rate. Every Xero tax rate carries five booleans:
CanApplyToAssetsCanApplyToEquityCanApplyToExpensesCanApplyToLiabilitiesCanApplyToRevenue
Each account rolls up to one of those classes (Direct Costs, Overhead, and Expense accounts are Expenses; Sales, Revenue, and Other Income are Revenue; Bank and Fixed Asset accounts are Assets, and so on). A tax rate is valid on an account only where its flag for that class is set. If it is not, Xero refuses it as an invalid tax code. The download shows the full Yes/No grid for every UK rate.
Why a sales code is refused on an expense account
This is the split that catches everyone. 20% (VAT on Income) has CanApplyToRevenue set and CanApplyToExpenses clear, so it only works on revenue accounts. 20% (VAT on Expenses) is the mirror image and only works on cost accounts. Xero names the standard rate twice for exactly this reason: to route the right one to the right side of the VAT return. The flags turn that into a hard rule, which is why you cannot put an input rate on a sales line.
The codes, and where they apply
- 20% (VAT on Income) and 20% (VAT on Expenses): standard rate, revenue side and expense side.
- 5% (VAT on Expenses): reduced rate, expense side.
- Zero Rated Income / Zero Rated Expenses: 0%, reported on the return.
- Exempt Income / Exempt Expenses: no VAT, and no input recovery on related costs.
- No VAT: outside scope, valid on every class.
- Reverse Charge Expenses (20%): overseas B2B services, expense side.
- Domestic Reverse Charge @ 20%: construction subcontractor work under CIS, with income and expense variants.
An account has one default, but many valid codes
The account stores a single default tax rate, which prefills the transaction line. But across transactions, an account legitimately uses several codes, any that are valid for its class. A travel account sees zero-rated rail and standard-rated hotels; an advertising account sees standard UK spend and the reverse charge on overseas platforms. The default is the common case; the actual code is chosen per line by place of supply, end-user status, and where the supplier is. That is why the chart of accounts pairs a default with the other codes used on each account.
This is a reference, not an import
Unlike the chart of accounts, Xero has no CSV import for tax rates. They arrive as your organisation’s defaults plus any custom rates you add manually or via the API. So this file is a reference for which codes are valid where, and a handy aid when migrating between systems or building an integration. The flag values shown are Xero’s standard UK defaults; confirm against your own organisation, which may have custom rates.
How to use it
- When a code is refused, check the account’s class and the rate’s flag for that class in the grid.
- On a revenue account use an income-side rate; on a cost account use an expenses-side rate.
- Pair this with the UK chart of accounts for Xero, which sets a sensible default per account and lists the other valid codes.
ExpenseFlow applies the correct, valid code for each supply as it reads a receipt or bill and posts it into Xero, so you never hit an invalid-tax-code error at the line. On QuickBooks? See the UK QuickBooks VAT codes reference.