Nominal Codes in Accounting
How nominal codes (account codes) work in UK accounting, including typical code ranges, how they relate to the chart of accounts and practical guidance for setting up a coding structure.
Nominal codes (also called account codes or nominal ledger codes) are the numbered identifiers assigned to each account in a business’s general ledger. Every transaction recorded in the books is posted to a nominal code, which determines where it appears in the financial statements. A well-structured set of nominal codes makes bookkeeping more efficient, financial reporting more accurate and tax compliance more straightforward.
Nominal codes form the backbone of the chart of accounts , which is the master list of every account a business uses. For an introduction to the broader principles, see our guide to bookkeeping .
How nominal codes work
Each nominal code represents a specific category of financial transaction. When a bookkeeper records a purchase of office stationery, for example, the expense is posted to the nominal code for office stationery. When a customer pays an invoice, the payment is posted to the bank nominal code and the trade debtors code.
The codes are typically four-digit numbers grouped into ranges that correspond to the main sections of the financial statements.
Standard UK nominal code ranges
Most UK accounting software uses a default code structure similar to the following:
| Code range | Category | Financial statement |
|---|---|---|
| 0001-0999 | Non-current (fixed) assets | Balance sheet |
| 1001-1999 | Current assets | Balance sheet |
| 2001-2999 | Current liabilities | Balance sheet |
| 3001-3999 | Long-term liabilities and equity | Balance sheet |
| 4001-4999 | Sales and revenue | Income statement |
| 5001-5999 | Direct costs / cost of sales | Income statement |
| 6001-6999 | Overheads and expenses | Income statement |
| 7001-7999 | Other income and expenses | Income statement |
| 8001-8999 | Depreciation and amortisation | Income statement |
| 9001-9999 | Suspense, control and adjustment accounts | Various |
The exact ranges and code numbers vary between software packages. Sage, Xero, QuickBooks and FreeAgent all have their own default structures, but the general grouping principle is consistent.
Common nominal codes in UK businesses
Balance sheet codes
| Code | Account name | Type |
|---|---|---|
| 0010 | Freehold property | Fixed asset |
| 0020 | Plant and machinery | Fixed asset |
| 0030 | Office equipment | Fixed asset |
| 0040 | Motor vehicles | Fixed asset |
| 0050 | Computer equipment | Fixed asset |
| 1001 | Stock / inventory | Current asset |
| 1100 | Trade debtors | Current asset |
| 1200 | Bank current account | Current asset |
| 1210 | Bank deposit account | Current asset |
| 1230 | Petty cash | Current asset |
| 2100 | Trade creditors | Current liability |
| 2200 | VAT control account | Current liability |
| 2210 | PAYE / NIC liability | Current liability |
| 2300 | Bank loan | Non-current liability |
| 3000 | Share capital | Equity |
| 3100 | Retained earnings | Equity |
Income statement codes
| Code | Account name | Type |
|---|---|---|
| 4000 | Sales – product | Revenue |
| 4001 | Sales – services | Revenue |
| 4009 | Discounts allowed | Revenue (contra) |
| 5000 | Cost of sales – materials | Direct cost |
| 5001 | Cost of sales – labour | Direct cost |
| 5002 | Cost of sales – subcontractors | Direct cost |
| 6000 | Rent | Overhead |
| 6001 | Business rates | Overhead |
| 6002 | Light and heat | Overhead |
| 6003 | Insurance | Overhead |
| 6010 | Telephone and internet | Overhead |
| 6011 | Postage and stationery | Overhead |
| 6020 | Motor expenses | Overhead |
| 6030 | Travel and subsistence | Overhead |
| 6040 | Advertising and marketing | Overhead |
| 6050 | Accountancy fees | Overhead |
| 6060 | Legal and professional fees | Overhead |
| 6100 | Wages and salaries | Overhead |
| 6110 | Employer NIC | Overhead |
| 6120 | Employer pension contributions | Overhead |
| 7100 | Bank interest received | Other income |
| 7200 | Bank interest paid | Other expense |
| 7300 | Bad debts written off | Other expense |
| 8000 | Depreciation | Income statement |
| 8100 | Amortisation | Income statement |
Setting up nominal codes
Step 1: Start with your software defaults
Every UK accounting package comes with a default chart of accounts pre-loaded with standard nominal codes. These defaults are designed for general-purpose businesses and will cover the majority of transactions.
Step 2: Customise for your business
Review the defaults and add, remove or rename codes to match your business activities:
- A retail business might add codes for different product categories under sales and cost of sales
- A construction company might add codes for different types of subcontractor costs
- A professional services firm might add codes for different revenue streams (consulting, training, licensing)
Step 3: Keep the structure logical
Good practice is to:
- Use consistent numbering within ranges (all motor-related expenses in a block, all property costs in another)
- Avoid creating codes that are too granular – excessive detail makes bookkeeping slower without adding useful information
- Avoid codes that are too broad – lumping all expenses into one code makes analysis impossible
- Number sequentially within groups, leaving gaps for future additions (e.g. 6000, 6010, 6020 rather than 6000, 6001, 6002)
Step 4: Document the chart
Maintain a written list of all nominal codes and their descriptions. This is particularly important if more than one person records transactions, as it prevents different people from using different codes for the same type of expense.
Nominal codes and VAT
In the UK, VAT treatment is typically managed separately from the nominal code. Most accounting software allows each transaction to carry both a nominal code and a VAT code (e.g. standard rate, reduced rate, exempt, zero-rated, outside the scope).
However, some businesses create separate nominal codes for items with different VAT treatments to simplify VAT reporting. For example:
| Code | Account name | VAT treatment |
|---|---|---|
| 6002 | Utilities – gas and electricity | 5% reduced rate |
| 6003 | Insurance | Exempt |
| 6010 | Telephone | 20% standard rate |
Nominal codes and management reporting
A well-structured nominal code system directly improves the quality of management reports. When codes are set up logically:
- The profit and loss account breaks down revenue and costs into meaningful categories
- Departmental reporting can be achieved by assigning codes to cost centres or departments
- Budget vs actual comparisons are straightforward because budget lines map to specific codes
- Trend analysis is reliable because each type of transaction is consistently coded
Poor coding – where transactions are dumped into catch-all categories or miscoded – makes management information unreliable and can lead to poor decision-making.
Nominal codes and tax compliance
Accurate coding supports tax compliance in several ways:
- Corporation tax: expenses must be correctly categorised as allowable deductions, disallowable items or capital expenditure
- VAT returns: transactions must be correctly coded to identify input tax, output tax and exempt supplies
- PAYE: payroll costs must be separated from other expenses for tax and NIC purposes
- Capital allowances: capital expenditure must be coded to asset accounts (not expense accounts) to claim the correct allowances
If an expense is coded to the wrong nominal account, it may not be identified correctly for tax purposes, potentially resulting in an incorrect tax return.
Common mistakes
- Using suspense accounts permanently – suspense accounts exist for transactions that cannot be immediately classified and should be cleared promptly
- Creating too many codes – a sole trader with simple activities does not need 200 codes; start simple and add only when the detail provides genuine value
- Inconsistent coding – if one person codes courier costs to “postage” and another to “travel”, the expense analysis is meaningless
- Not reviewing the chart of accounts – business activities change over time; review annually and archive unused codes