Everything you wanted to know about RTI Payroll IDs but were afraid to ask

Whilst appearing deceptively simple, HMRC RTI Payroll IDs are actually quite complex! This article attempts to explain how they work and how to avoid any issues.

Most employees only have a single job and if this were the case, RTI payroll IDs might have never existed. However:

  • Employees can have more than one job with the same employer and
  • HMRC treats the tax records of anyone re-employed separately for each “employment” in a tax year.

RTI payroll IDs are not merely text labels – instead, HMRC uses them to track each job or employment. The easiest way to think about payroll IDs is to think about each payroll ID meaning one employment:

Payroll ID = Employment

Manually entered or automatically generated?

Each payroll software handles payroll IDs differently. Some systems require the payroll administrator to enter these manually, potentially this can be the company Works ID. Other systems automatically generate the payroll ID. It is important to understand how your system generates the payroll ID i.e. what is sent to HMRC in each FPS (Full Payment Submission).

A Payroll ID can be 35 characters long (any alphanumeric). Even if you don’t send a payroll ID, then HMRC assumes the default – we call this the None payroll ID. Each payroll ID must be unique for each employment. This also means you must know which previous Payroll IDs were used, and when they were used, in case you re-employ someone.

How HMRC process YTD figures and payroll IDs

Every time HMRC receive an FPS with YTD (Year To Date) totals for an employee, they update the employment record with new YTD figures. As long as you always send the same payroll ID (or never use a payroll ID ie. the None one), everything will be dandy as HMRC will have a single employment record which is successively updated. Here is a simple example before assuming 7,000 YTD and after an FPS with a new 1,000 payment and 8,000 YTD:

EmployeePayroll IDYTD
John SmithNone7,000
Before FPS Sent
EmployeePayroll IDYTD
John SmithNone8,000
After FPS sent

Now, if HMRC receives a new Payroll ID for this employee in an FPS, their system is programmed to add a 2nd employment record. This record has the new payroll ID and the new YTD figure. Below is an example, where a new Payroll ID is sent with the label ‘2’:

EmployeePayroll IDYTD
John SmithNone7,000
John Smith28,000
Incorrect Payroll ID in FPS

The system now assumes that the employee has been re-employed or they have a 2nd job. Note how all figures are incorrect! Tax codes and your PAYE bill will then be calculated based on the two employments. If this was intended, then life is good. However, if the 2nd payroll ID was sent in error, then life becomes not so good.

Changing payroll software

If you change payroll software or take over payroll from someone else, you really need to understand payroll IDs. If you inadvertently make a mistake, every payroll record will be duplicated and your PAYE bill will almost certainly be wrong. Because RTI is an entirely automated system, it may take many phone calls, corrective submissions and a lot of pain and misery to resolve!

If you operate parallel runs, and the new payroll software uses different payroll IDs, then you need to ensure that the first live run changes the payroll ID.

Changing Payroll IDs

HMRC provide a fully automated way to change payroll IDs in the FPS. If used correctly this will avoid any issues. If you want to send a new payroll ID, your payroll software must send ‘Yes’ in a ‘Payroll ID changed indicator’ for each employee. The HMRC system will then automatically keep the original employment record but simply change (update) the payroll ID label from the old to the new.

If an employee has more than one job, then you must also send the Old payroll ID. This is because HMRC must know which one you are changing. If you do not supply it, and they have more than one job, then you are back to the duplicate payroll IDs, incorrect PAYE bill and weeks of pain and misery. Below is an example of a payroll ID changed from ‘2’ to ‘ABCDE’:

EmployeeOld payroll ID[new] payroll IDYTD
John SmithNoneNone7,000
John Smith2ABCDE1,000
Correctly updated payroll ID in FPS


Having completed multiple payroll imports, we came to one clear conclusion. If you want to avoid the issues in getting payroll IDs wrong, the only option is to select payroll software that automates payroll IDs. Here is our paiyroll® checklist to use when selecting payroll software to handle payroll IDs:

  1. Select a payroll package that automatically generates payroll IDs. As well as one less data field to enter, you can’t make a payroll error and reuse an old payroll ID. When you add a new starter or make someone a re-starter, the system will automatically send the correct payroll ID.
  2. Select a payroll package that can import all payroll IDs from your old software.
  3. Check that the payroll software can automatically change imported payroll IDs and send the new payroll IDs together with the Payroll ID changed indicators. This must be after all parallel runs have been completed and in the first live FPS for each employee (these may be different).
  4. Ensure that the software lets you use a separate works ID for your own purposes. This might be for reporting (company ID) or for integration with other systems like Time and Attendance (T&A). This separates the complexity of HMRC RTI payroll IDs from your own works ID. For example, some companies have a policy that re-starters always use the same works ID – which of course would conflict with HMRC who require different payroll IDs for each employment.
  5. Because payroll IDs are critical, you should know the payroll ID is. The system should also provide a clear indication in the infrequent case that a Payroll ID changes.

Automated payroll IDs mean that duplicated records and incorrect PAYE bills are a thing of the past.

Further reading – HMRC guidance

  • If you change payroll software you must send a ‘Payroll ID changed indicator’ for every employee see here.
  • If an employee has more than one job, you must supply the old payroll ID
  • Use a different ID if you re-employ someone – see Giving your employee a payroll ID
  • HMRC video on Payroll IDs

Addendum November 2023

Please see the table below that shows the various scenarios to consider when changing payroll IDs:

Old payroll IDNew Payroll IDYear to date financial data cumulates Effect
Old payroll ID for the employment SubmittedSubmittedExplicit instruction to HMRC to change the Payroll ID
Was never used – the “None” Payroll ID which cannot be submittedSubmittedYesExplicit instruction to HMRC to change Payroll ID
An Old payroll ID was used, but not submittedSubmittedNoDuplicates possible
Multiple Old Payroll IDs were usedSubmittedDuplicates possible

As can be seen, the only sure way to affect a change of payroll ID, and have no chance of duplicates is to send the old payroll ID and the new payroll ID and ensure the Year-to-date financial data cumulates i.e. new pay added to the previous FPS YTD equals the new FPS YTD. The only other case is when the “None” payroll ID was being used, and therefore cannot be sent – again ensure that the year-to-date financial data cumulates.

If there were multiple old payroll IDs in use which are not submitted with a Payroll ID changed indicator and/or the year-to-date financial data does not accumulate you are likely to be in trouble.

More information here