Why Variable-Hours Staff Keep Getting the Wrong PAYE Tax Code
If you manage a team of variable-hours workers, you've probably dealt with the fallout of a wrong tax code. Maybe a new starter's first payslip showed a suspiciously low take-home figure. Or a returning seasonal worker suddenly had hundreds deducted in extra tax mid-year. These problems aren't random. They happen because PAYE was designed for predictable earnings, and variable-hours staff are anything but predictable.
This article breaks down why PAYE tax code errors hit variable-hours teams so often, what they cost your business, and how to fix the problem at its root: your timesheets, onboarding, and rota-to-payroll workflow.
Key takeaways
Variable hours cause PAYE errors because HMRC estimates annual income from inconsistent pay periods
Emergency tax codes and Week 1/Month 1 basis are the two most common culprits for variable-hours staff
Wrong tax codes cost you admin time, staff trust, and cash flow when HMRC sends P800 demands
Accurate timesheets and proper onboarding paperwork prevent most tax code problems before they start
A connected rota-to-payroll workflow keeps HMRC's Real Time Information accurate from day one
In this article:
How PAYE tax codes work when hours fluctuate
The Pay As You Earn system (PAYE) operates on a cumulative basis. HMRC assumes your employee will earn roughly the same amount each pay period for the full tax year. That assumption works fine for salaried staff. For variable-hours workers pulling 12 hours one week and 38 the next, it falls apart quickly.
Each time you run payroll, you submit a Full Payment Submission (FPS) to HMRC through Real Time Information (RTI). This tells HMRC exactly what you paid each employee that period. When hours are consistent, the data tells a clear story. When hours fluctuate, each submission paints a different picture of projected annual earnings.
HMRC uses those projections to decide whether a tax code needs adjusting mid-year. If your worker picks up extra shifts in December, HMRC might project that higher income across the remaining months and issue a revised tax code. When hours drop back in January, the code doesn't immediately revert. The result is a lag where the worker is overtaxed or undertaxed for weeks.
The gap between HMRC's projection and the worker's actual annual earnings widens with every inconsistent pay period. This is why variable-hours teams generate more tax code queries than any other group in your workforce.
Accurate time tracking makes a measurable difference here. When your timesheets capture exact hours worked to the minute, your payroll system sends clean, precise data to HMRC via RTI. Deputy's time clock records actual start and finish times, so your FPS reflects reality rather than rounded estimates. Ensuring you pay staff for hours worked is fundamental to keeping PAYE data accurate.

Three common tax code errors with variable-hours staff
Emergency tax codes on new starters without a P45
When someone joins your team, you need their P45 from their previous employer or a completed Starter Checklist. Without either document, HMRC assigns an emergency tax code, typically 1257L W1/M1 for the 2024/25 tax year.
The problem is acute for variable-hours workers. Many come from short-term roles, agency work, or multiple jobs, so they often don't have a P45 to hand over. Seasonal and casual workers starting mid-year are almost guaranteed to land on an emergency code without intervention.
An emergency code on a non-cumulative (Week 1/Month 1) basis ignores previous earnings entirely. It treats each pay period as if it's the first of the tax year. That means your worker's tax-free Personal Allowance gets applied in isolation, without accounting for what they've already earned elsewhere. The result is usually overtaxation, and a very unhappy team member checking their first payslip.
The fix starts before day one: collect the right paperwork during onboarding, not after. If no P45 is available, a Starter Checklist tells HMRC which statement applies to the new worker, so they can assign the correct code from the start. A solid employee onboarding process helps you catch missing documents before the first payday.
Week 1/Month 1 basis stuck on returning workers
When an employee leaves and returns within the same tax year, HMRC can't always verify their previous earnings with your business. It issues a non-cumulative code (the W1 or M1 suffix) as a safeguard. This code treats every single pay period in isolation.
In practice, that means tax is calculated without reference to how much of the worker's Personal Allowance has already been used. If they've already earned enough to use up their tax-free amount, they might be undertaxed. If they haven't, they'll be overtaxed because the code doesn't carry forward unused allowance.
The catch is that employers often don't notice. The code looks normal at a glance: 1257L followed by W1 or M1. It can sit undetected for months until the worker receives a P800 from HMRC demanding repayment, or until year-end reconciliation surfaces the discrepancy.
Workers who leave for a summer break and return in autumn are most at risk. So are zero-hours staff who drop off payroll and reappear when demand picks up. If you employ returning seasonal workers, check their coding notice as soon as they rejoin and flag any W1/M1 suffix for follow-up with HMRC.
Incorrect estimated income from fluctuating RTI submissions
Each FPS you submit tells HMRC what you paid this period. HMRC uses that figure to estimate annual income and calibrate the tax code accordingly.
When your team picks up extra cover shifts (think Christmas trading or a summer festival season), the spike in hours tells HMRC the worker is earning more than expected. HMRC recalculates the annual projection upward and may issue a new code to collect more tax.
When hours drop back the following month, the code doesn't snap back immediately. There's a lag of weeks, sometimes an entire pay period, where staff are overtaxed based on outdated projections. This creates a frustrating cycle: workers see unexpected deductions, raise queries, and you spend time explaining something outside your control.
Connected timesheets remove the guesswork from your FPS. When actual hours flow directly from clock-in to payroll export, every submission reflects what genuinely happened, not a rounded estimate entered days later.
What wrong tax codes actually cost your business
Tax code errors aren't just an admin nuisance. They have real financial and operational consequences that compound over time.
Year-end cash flow pressure. When a worker has been undertaxed all year, HMRC issues a P800 demanding the shortfall. That amount gets collected through the worker's future pay via a reduced tax code the following year, cutting their take-home without warning. If multiple staff are affected, your payroll department fields a wave of complaints simultaneously.
Admin time that never ends. Chasing HMRC for code corrections, responding to staff queries about unexpected deductions, and reconciling year-end discrepancies all eat into time you could spend on operations. For businesses with high staff turnover, this becomes a recurring drain.

Staff trust erosion. Hourly workers are acutely sensitive to take-home pay. When their payslip doesn't match expectations, confidence in your payroll process takes a hit. Trust is hard to rebuild once lost, particularly with workers who have options and can move to another employer easily.
Turnover risk. The Deputy Big Shift Report 2026 notes "higher compliance requirements, increased administrative complexity and upward pressure on wages" for shift-based businesses. In that environment, payroll errors accelerate departures. Workers don't file formal grievances over a wrong tax code; they simply don't pick up shifts next week.
None of these costs appear on a single line item. They accumulate quietly across the tax year, buried in admin hours, recruitment spend, and staff dissatisfaction that's difficult to trace back to a coding notice gone wrong.
