How the Rotaready-Paycircle integration works
Rotaready is the source of truth for employee and rota data. When you make a change in Rotaready — approving an employee, updating their details, or signing off a rota — Rotaready notifies Paycircle that something has changed. Paycircle then calls Rotaready and fetches the data itself.
📌Note: Data is fetched when the event is processed, not at the moment the change was made in Rotaready. An event processed after a delay therefore picks up whatever Rotaready holds at that point.
Events are not processed instantly. Paycircle collects them on a schedule and works through them in the background. Sign-off imports for a company are handled one at a time, so two cannot overlap for the same pay period.
📌Note: Up to 500 events are processed for a company in a single cycle. If more are waiting, the oldest are taken first, and the remainder are picked up on the next cycle rather than failing.
How the integration knows who is who
⚠️Important! Once an employee is mapped, don't change the Rotaready ID. Assigning an ID already held by another Paycircle employee unmaps that other employee, without a confirmation or a warning.
The integration links employees between Rotaready and Paycircle using the Rotaready ID. This is the identifier used to match records between the two systems.
What data transfers: Event types
User Approved Event
Triggered when an employee is approved in Rotaready. This creates the employee record in Paycircle.
New starters: where the start date falls on or after the start of the current pay period and all required fields are completed, the employee is created complete and ready for payroll.
Existing employees: where the start date falls before the current pay period, the employee is created with tax details incomplete. A tax code and year-to-date values must be added manually in Paycircle before they can be paid.
📌Note: An employee will only appear in Paycircle, or on the mapping screen, where they are assigned in Rotaready to both a site and a payroll calendar that this Paycircle company is connected to. If either is missing, the employee does not appear at all.
User Updated Event
Triggered when an employee's personal or employment details change in Rotaready. Updates the employee record in Paycircle. Fields updated include: name, date of birth, gender, title, address, contact details, NI number, bank details, employment start date, employment type, and pay rate.
📌Note: Bank details are only written to Paycircle if both the sort code and account number are present. Where either is missing, the bank details fields are left unchanged in Paycircle.
Employment Deleted Event
Triggered when an employment record is deleted in Rotaready. Marks the employee as a leaver in Paycircle.
⚠️Important: Leaver holiday pay does not always transfer correctly through the integration. When an employee is leaving, check the holiday pay figure in Paycircle manually and correct it before processing the final payroll.
Sign-off Day Event
Triggered when a rota day is signed off in Rotaready. Imports hours and pay elements for that day into Paycircle. When a day is signed off, Paycircle fetches the full set of signed-off days for that employee in the current pay period and rebuilds the pay elements from scratch. It does not add to what is already there — it replaces it.
📌Note: The integration pauses when a pay period enters a Calculated state. Events continue to arrive and are queued, but are not processed until the pay period moves back out of Calculated.
What data transfers: Data types
Employee profile data
Field | Notes |
First name | Required |
Last name | Required |
Date of birth | Must be within the last 100 years |
Gender | Defaults to Female if not supplied |
Title | Defaults to Ms if not supplied |
Address | Street, town, county, postcode |
Email Address | Must be a valid email format |
NI number | Must match format AB123456C |
Bank sort code | 6 digits; only written if account number also present |
Bank account number | 8 digits; only written if sort code also present |
What does not transfer
Data | Reason |
Tax code | Assigned by HMRC; not held in Rotaready |
Year-to-date values | Paycircle-managed; not held in Rotaready |
HMRC Submission ID | Assigned by Paycircle |
Pension details | Not in scope |
Student loan details | Not in scope |
Statutory payments (SSP, SMP, etc.) | Not in scope |
Departments | Not set by the integration |
Validation rules
Field | Rule |
First name | Required |
Last name | Required |
Date of birth | Must be within the last 100 years |
Must be a valid email format | |
Postcode | Must be a valid UK postcode format |
NI number | Must match format AB123456C |
Sort code | Must be exactly 6 digits |
Account number | Must be exactly 8 digits |
What the Rotaready Updates page shows
📌Note: A Successful status means the event completed without a blocking error. It does not mean every pay element was written. Warnings are recorded against successful events where something was skipped.
Status | Meaning |
Successful | The event was processed, and data was written to Paycircle |
Failed | The event was processed, but data was not written; a message explains why |
Pending | The event is queued and has not yet been processed |
Processing | The event is currently being processed |
