Six common reasons your tax code is wrong
A UK tax code is wrong when it doesn't reflect your actual circumstances. HMRC's data isn't always current — employers don't always notify HMRC of every change, and some changes (like leaving a job mid-tax-year) take time to filter through. Here are the six most common reasons.
1. Benefits in kind that HMRC has wrong
Company cars, private medical insurance, gym memberships and other benefits in kind (BiK) reduce your tax code. HMRC calculates the cash value of the benefit and subtracts it from your personal allowance, giving you a lower code.
This goes wrong when:
- You've given back the company car but HMRC still thinks you have it
- The car has changed (e.g., you've moved to a fully electric vehicle with 3% BiK instead of a petrol at 30%)
- Your private medical premium has changed and HMRC has the old figure
- A benefit ended (you left a gym, stopped a medical scheme) and HMRC hasn't been told
The signal: your tax code is significantly lower than 1257L without an obvious reason. For example, 957L instead of 1257L would indicate £3,000 of benefits being taxed — if you don't have £3,000 of benefits, the code is wrong.
The fix: log into your HMRC Personal Tax Account, check the benefits section, and update or remove anything that's no longer accurate.
2. Second job allowance allocation issue
You can only use the £12,570 personal allowance once across all your income. When you have two PAYE jobs, HMRC normally applies your full allowance to the main one (usually the higher-paid) and uses BR on the second.
This goes wrong when:
- You've left the job HMRC thought was your main one — your new (now-only) job is still on BR
- You've changed which job is higher-paid and the allowance is still on the wrong one
- A second job ended but HMRC still thinks you have two
The signal: BR on what should be your only job, or BR on what's now your higher-paid job.
The fix: confirm the job change in your Personal Tax Account — there's a "Tell HMRC about a change" service that lets you update employment status. HMRC reallocates the allowance and switches the codes accordingly.
3. Marriage Allowance miscalculation
Marriage Allowance lets a non-taxpayer or low earner transfer £1,260 of their personal allowance to a basic-rate-paying spouse. The transferring partner's code drops by 126 (to 1131N typically); the receiving partner's code rises by 126 (to 1383M typically).
This goes wrong when:
- One partner's income has changed and they're no longer eligible to transfer (e.g., they now earn above the personal allowance)
- The receiving partner has become a higher-rate taxpayer (they can no longer receive)
- The relationship ended (divorce or civil partnership dissolution)
- HMRC's records haven't been updated after any of the above
The signal: code ending in M or N when it shouldn't be, or no M/N when there should be.
The fix: confirm or cancel the Marriage Allowance arrangement via the Personal Tax Account.
4. Prior-year tax being recovered
If you underpaid tax in a previous year, HMRC can recover it through your current tax code by reducing your allowance — making your code lower than the standard 1257L for the recovery period.
This goes wrong when:
- The underpayment is for a previous tax year you've already disputed
- The recovery period was supposed to end but HMRC has continued the reduction
- You've paid the underpayment via Self Assessment but HMRC is still trying to collect via PAYE
The signal: your code dropped (e.g., 957L instead of 1257L) for what appears to be a 12-month period, with no benefits-in-kind explanation.
The fix: check your Personal Tax Account for the explanation behind the reduced code. If there's a "previous-year tax owed" entry that's been resolved separately, contact HMRC to remove it.
5. Recent retirement not yet reflected
When you retire and start drawing a private pension while still being employed somewhere (or shortly before), HMRC needs to reallocate codes between your different income sources. The wrong reallocation creates one of these problems:
- Your pension provider has BR but you're not working anymore (so your only income is the pension, and it should have 1257L)
- Your State Pension started but HMRC hasn't reduced your private-pension code to account for it (the State Pension is taxable but isn't PAYE-deducted; HMRC collects the tax via your other income's code)
The signal: your retirement income takes a noticeable drop you can't explain by your contractual pension amounts.
The fix: tell HMRC via the Personal Tax Account when you fully retire, when you start a private pension, and when your State Pension starts. Each event triggers a code recalculation.
6. HMRC using out-of-date information
The catch-all. Even when none of the above apply, HMRC's records can drift out of sync with your actual situation. Common causes:
- A previous tax-year reconciliation that hasn't fully cleared
- A job change that wasn't reported via Real Time Information
- A bonus or one-off payment that HMRC misread as a permanent salary increase
- A pension provider that closed without filing the right paperwork
The signal: your code doesn't match any of the situations above and the Personal Tax Account explanation looks contradictory or outdated.
The fix: call HMRC on 0300 200 3300 and ask for a manual review. Have your most recent payslip, P60 (if available), and Personal Tax Account information ready.
How to verify whether your code is actually wrong
Three quick checks before assuming there's a problem:
Check 1: does the code make sense for your situation?
If you have:
- One job, no taxable benefits, no second income → expect 1257L
- One job + Marriage Allowance received → expect 1383M
- One job + Marriage Allowance given → expect 1131N
- One job + small benefits in kind → expect a slightly reduced code (e.g., 1157L for £1,000 of benefits)
- Two jobs → main job 1257L, second job BR (usually)
- One job + State Pension → expect a K code (negative allowance)
- One job + bigger benefits → expect a code lower than 1257L proportional to the benefits
If none of these match your situation, the code is likely wrong.
Check 2: does your take-home match the Tax Code Checker prediction?
Enter your salary and your current tax code. The calculator shows expected monthly take-home. Compare to your actual payslip:
- Match within £5 → your code is being applied correctly (whether the code is right is a separate question)
- £20+ difference → likely a payroll issue rather than a code issue
- Closer to the 1257L expected figure than your stated code's figure → your employer is using a different code than what's on your payslip (rare, worth investigating)
Check 3: does your Personal Tax Account explanation match what you'd expect?
The Personal Tax Account at gov.uk/personal-tax-account breaks down the calculation HMRC used to derive your code. It lists each adjustment (BiK, prior-year tax, Marriage Allowance, etc.) with the cash value.
If the breakdown lists items that aren't right — a benefit you don't have, an underpayment you've already settled — those are the items to correct.
How to fix it
Most fixes are online. The fastest route:
- Open the HMRC Personal Tax Account — Government Gateway login required (10 minutes to set up if needed)
- Find "Pay As You Earn (PAYE)" in the main menu
- Check your current code and the explanation — both should be visible
- Use "Tell HMRC about a change" to update incorrect benefits, job changes, or other circumstances
- For complex issues, use the secure messaging system or call HMRC on 0300 200 3300
Online changes usually apply within 1–2 working days. HMRC then sends a P6 to your employer who applies the new code from the next pay period.
What about refunds?
If you've over-paid tax due to a wrong code, the refund is automatic.
Mid-tax-year: when your employer applies the corrected code, they recalculate your year-to-date position and the refund appears on your next payslip.
Post-tax-year-end: HMRC issues a P800 letter during the summer reconciliation cycle. Refunds typically arrive 4–8 weeks after the letter by bank transfer (if you've set up direct payment) or cheque.
You don't need to claim — both refund routes happen automatically once the code is corrected.
A reminder: only HMRC can change tax codes
Your employer can't. Your accountant can't (without acting on your behalf with HMRC). You're the only person who can trigger a tax code change, either through the Personal Tax Account or by calling HMRC directly. If you find yourself going round in circles asking your employer to "fix the code," redirect the energy — HMRC is the only address that matters.