Return to: WFM UK | HR & Payroll: Absence (Sickness)
Overview
The system supports two data imports for absence (sickness) records, providing an efficient way to load and manage absence data at scale without the need to configure each record individually through the UI.
The Absence Record Import allows one or more absence records to be created for employees in a single import. All fields available when creating an absence through the UI are supported in the import, meaning the full absence configuration can be completed without needing to return to the system to make adjustments. Where an absence is recorded in hours, the import allows a part day status and number of hours to be specified, however these values will apply uniformly across every day within the absence date range.
The Absence in Hours Update Import exists to address this limitation. Rather than creating new records, this import updates existing absence records that have been recorded in hours, allowing the number of hours and part day status to be set individually for each date within the absence. This approach was a deliberate design decision; the alternative would have been to require a separate row per day in the Absence Record Import, which would result in individual absence records being created for each day in the employee's record rather than a single continuous absence. The Absence in Hours Update Import allows the absence to be created as one record first, with the per-day hours detail applied separately. The same updates can also be made directly through the UI if preferred.
Once imported, absence records behave exactly as they would if entered through the UI, with all the same downstream processing, calculations, and reporting applying as normal. As with any imported data however, we recommend reviewing records after import to ensure everything has processed as expected.
Contents
User Permissions
Access to the Data Imports page is controlled by a single permission, with two additional permissions available to grant access to each import individually. It is worth noting that a user does not need specific absence permissions to import absence data via these imports. However, to review or manage the imported records through the UI, the relevant absence permissions will be required.
For a full breakdown of absence-related permissions, refer to WFM UK | HR & Payroll: Absence Related User Permissions & Portal Settings [UPDATE WITH PUBLISHED LINK]
To apply these permissions, go to:
- HR or Payroll Module > Users > Assign User Access > Find & Select User
- Administrators can select User Profile to edit permissions if required
- Navigate to the Data Imports section, and enable the permissions as required:
The Data Imports page, along with both absence imports, is available in both the HR and Payroll modules. Access permissions must be granted separately for each module to allow users to access them from both.
These individual permissions can also be applied to User Access Templates:
- Using the side menu, go to HR or Payroll > Users >Templates
- Create A New Template or select an existing one
- Select Assign Permissions
- Within the pop-up, select Data Imports
- Select the permissions required to be added for the template and Save
As above, the Data Imports permission is required for users to access the imports page
These templates can then be assigned to each user to update multiple permissions at once, rather than individually:
- Using the side menu, go to HR or Payroll > Users > Assign User Access > search for and select the required Employee
- Select User Profile from the top-right corner
- Select the Access Template, and click Apply
Absence Records Import
The Absence Record Import is a CSV-based import that allows absence records to be created in bulk for one or more employees. It supports all fields available when creating an absence through the UI, meaning a full absence record can be configured entirely through the import.
Where absences are recorded in hours and per-day detail is required, the Absence in Hours Update Import should be used following this import.
Downloading & Populating the CSV Template
With permissions applied, users can access the Data Imports page, and the individual imports where access is applied:
- Using the side menu, go to HR or Payroll > Administration > Data Imports
- Select an Upload Type, which in this case is Absence Records Import
- Select Download CSV Template
The CSV Template will look like this, with the following column headers and the individual field validations:
Column Header |
Description |
Validations |
Employee Number |
The employee number of the employee the Absence record(s) are being applied to |
|
Days or Hours |
Selection of if the Absence is in Day or Hours |
|
Reason for Absence |
The Absence Type being used to record the absence |
|
Absence Start Date |
The Start Date of the Absence record being imported |
|
Absence End Date |
The End Date of the Absence record being imported |
|
Doctors Certificate |
Indication of if a Doctors Certificate (aka Sick Note) date range is required or not |
|
Doctors Certificate Start Date |
The Start Date of the Doctor Certificate (Sick Note) |
|
Doctors Certificate End Date |
The End Date of the Doctor Certificate (Sick Note) |
|
Evidence Seen |
If the Absence Type requires evidence, then indicate whether this has been seen or not |
|
Notes |
A free text field to allow users to add any notes pertaining to the Absence |
|
Return to Work Completed |
Indication of if a Return to Work has been completed for this Absence |
|
Qualifying Day - Monday |
Indicates whether that day of the week is considered a qualifying day for SSP and CSP purposes across all occurrences of that day within the absence, equivalent to the Days Usually Worked selection in the UI. |
|
Qualifying Day - Tuesday | ||
Qualifying Day - Wednesday | ||
Qualifying Day - Thursday | ||
Qualifying Day - Friday | ||
Qualifying Day - Saturday | ||
Qualifying Day - Sunday | ||
Full Day or Part Day Absence |
Defines whether days within the absence are full or part days, applied uniformly across the entire date range. Individual days can be updated via the UI or the Absence in Hours Update Import afterwards. |
|
Number of Hours Per Qualifying Day |
Defines the number of hours to record for each qualifying day within the absence, applied uniformly across the entire date range. Individual days can be updated via the UI or the Absence in Hours Update Import. |
|
Send to Rota/Scheduling |
Determines whether the absence is sent through to the Rota or Scheduling module. This can be useful where absences are being backdated, for example when loading historical records from a previous system for record keeping purposes, where sending to the rota/schedule may not be appropriate. |
|
Waiting Days in Absence (For pre 6th april 2026) |
These fields are intended for use when backdating absence records that predate the removal of SSP waiting days on 6th April 2026. They allow the number of waiting days within the absence, and the number of those days spent, to be recorded accurately for historical record keeping and reporting purposes. |
|
Waiting Days Spent (used) (For pre 6th april 2026) | ||
SSP Days Paid |
For historical (or part completed) absences where SSP has already been processed, this field allows the number of SSP days already paid to be recorded. The system assumes these are the first qualifying days of the absence, continuing any further SSP calculation from that point forward. |
|
CSP Waiting Days in Absence |
Where a contract is configured with a CSP waiting period, these fields allow the number of waiting days within the absence, and the number of those days already spent, to be recorded. This ensures CSP is calculated accurately from the correct point within the absence. |
|
CSP Waiting Days Spent (used) | ||
CSP Days Paid |
For historical (or part completed) absences where CSP has already been processed, these fields allow the number of full and half days already paid to be recorded. The system will recognise these against the employee's entitlement and treat them as days already taken, continuing any further CSP calculation from that point forward. |
|
CSP Half Days Paid | ||
SSP Amount Paid |
Records the monetary value of SSP already paid for the absence. This is stored against the absence record for reference and reporting purposes. |
|
CSP Amount Paid |
Records the monetary value of CSP already paid for the absence. This is stored against the absence record for reference and reporting purposes. |
More information on wider upload validations is available in the appendix.
- Populate and save the template, ensuring it remains as a CSV file type
Absence in Days:
Absence in Hours:
Uploading the Data
- Using the side menu, go to HR or Payroll > Administration > Data Imports
- Select an Upload Type, which in this case is Absence Records Import
- Load in the template saved earlier, and select an If Validation Errors Occur option:
- Cancel Upload - even if just one error, the entire file will not upload and will be cancelled
- Continue with Upload - all successful records in the template will load into the system, whilst the rejected ones will not
- Select Upload
Once the upload has been processed, a table will be displayed within the same page, detailing the status of each change in the upload.
A successful row will show Record Processed Successfully under 'Status', and an unsuccessful row will show Record Validated with Errors, with the reason detailed under 'Error Description':
- Correct any erroneous data and reattempt the upload, noting that;
- If Continue With Upload was selected, successful records will update the data in an employee's record. When re-completing the upload, exclude successful records
- If Cancel Upload was selected, then no records will be processed, and all records, including successful ones, should be included in the re-completed upload
More information is available in the appendix around filtering the results table, especially helpful if the import features a lot of data.
Once the upload has been completed, the following data will be updated and can be found in by navigating to either of these locations:
- HR > Employees > Employee List > Find & Select Employee > Employee HR Info > Absences
- Payroll > Employees > Employee List > Find & Select Employee > Employee Info > Absences
The Absence record will be created, as per the information provided on the upload:
In the screenshot above it states 30 SSP days paid, despite 12 being entered into the upload (Fig.9). In this example, the other 18 days are paying in the current payroll, totalling 30.
Absence in Days:
Absence in Hours:
For hourly paid employees, where an absence has been imported with SSP or CSP paid status and a subsequent absence is later added, the SSP days paid total in the employee header may not display correctly. This is because the average earnings required for the calculation are not automatically carried across to the new absence record. In this scenario, the average earnings will need to be manually overridden on the employee record to ensure the SSP days paid display accurately and that any ongoing absences calculate at the correct rate. We are aware of this limitation and are looking to address it in a future update.
Absence in Hours Update Import
The Absence in Hours Update Import is a CSV-based import that allows individual days within existing hours-based absence records to be updated, providing the per-day detail that cannot be set individually through the Absence Record Import. Whilst the same changes can be made directly through the UI, this import is particularly useful for larger scale updates across multiple employees or absences, though it can equally be used for a single record if preferred.
Downloading & Populating the CSV Template
With permissions applied, users can access the Data Imports page, and the individual imports where access is applied:
- Using the side menu, go to HR or Payroll > Administration > Data Imports
- Select an Upload Type, which in this case is Absence Records Import
- Select Download CSV Template
The CSV Template will look like this, with the following column headers and the individual field validations:
Column Header |
Description |
Validations |
Employee Number |
The employee number of the employee the Absence record(s) are being applied to |
|
Date of Absence |
The date of the Absence (single day) that will have the Full/Part Day status updated, and/or the Number of Hours |
|
Full Day or Part |
Indicator of if the absence day is going to be changed to a full or part day |
|
Number of Hours |
The new number of hours for that absence day |
|
More information on wider upload validations is available in the appendix.
- Populate and save the template, ensuring it remains as a CSV file type
Uploading the Data
- Using the side menu, go to HR or Payroll > Administration > Data Imports
- Select an Upload Type, which in this case is Absence in Hours Update Import
- Load in the template saved earlier, and select an If Validation Errors Occur option:
- Cancel Upload - even if just one error, the entire file will not upload and will be cancelled
- Continue with Upload - all successful records in the template will load into the system, whilst the rejected ones will not
- Select Upload
Once the upload has been processed, a table will be displayed within the same page, detailing the status of each change in the upload.
A successful row will show Record Processed Successfully under 'Status', and an unsuccessful row will show Record Validated with Errors, with the reason detailed under 'Error Description':
- Correct any erroneous data and reattempt the upload, noting that;
- If Continue With Upload was selected, successful records will update the data in an employee's record. When re-completing the upload, exclude successful records
- If Cancel Upload was selected, then no records will be processed, and all records, including successful ones, should be included in the re-completed upload
More information is available in the appendix around filtering the results table, especially helpful if the import features a lot of data.
Once the upload has been completed, the data will be updated and can be found in by navigating to either of these locations:
- HR > Employees > Employee List > Find & Select Employee > Employee HR Info > Absences
- Payroll > Employees > Employee List > Find & Select Employee > Employee Info > Absences
- and click the Absence(s) that have been updated via this import
The Absence record(s) will be updated with the successfully imported data:
- Following from Fig.17, and looking at Fig.24 it can be seen that because a date in the absence was changed to part day, SSP is no longer payable, so has reduced from 30 qualifying days to 29.
- Using Fig.24, the import updated:
- the 15th June date in the Absence record from Full Day to Part day, and that tick is now visible, as well as reducing the number of hours
- the 16th, 17th, 18th, 19th, 22nd, 24th and 25th June dates had their number of hours adjusted also
- 20th, 21st and 23rd June (and every other date in the Absence range) were omitted from the update import so remain unchanged.
Appendix
Upload Validation
Absence Record Import
The following validation rules are applied when processing an Absence Record Import. Any records that fail validation will return an error and will not be processed.
File & Employee Validations
- Duplicate Record: The same employee number and absence reason combination appears more than once in the file, or the absence dates overlap with another record in the same file. Each absence record must be unique.
- Employee Not Found: The employee number does not exist or the employee is not current. Ensure the employee record is active before retrying.
Absence Detail Validations
- Missing Employee Number: Employee number is required on every row and cannot be left blank.
- Missing Reason for Absence: Reason for Absence is required and cannot be left blank. The value must also match a valid absence type configured in the system.
-
Missing Days or Hours: Days or Hours is required and cannot be left blank. Accepted values are
DaysorHours. -
Absence Type Mismatch: The absence type must match the Days or Hours value specified. If the absence type is configured for Days,
Hourscannot be specified, and vice versa. - Missing Absence Start Date: Absence Start Date is required and cannot be left blank.
- Missing Absence End Date: Absence End Date is required and cannot be left blank. The End Date must also be on or after the Start Date.
- Conflicting Absence Record: An absence record already exists for the employee on one or more of the absence dates.
- Conflicting Holiday: A holiday already exists for the employee on one or more of the absence dates.
- Conflicting Statutory Absence: A statutory absence already exists for the employee on one or more of the absence dates.
- Part Day Conflict: For part day absences, the combined total of existing absences and holidays already exceeds a part day on the specified date, a full day holiday already exists on that date, or the employee already has 2 or more shifts on that date.
- Consecutive Days Restriction: The absence type has a consecutive days restriction configured and the total consecutive absence days for the employee exceeds that limit.
- Invalid Data Format: A date or numeric field contains a value in an unrecognised format. Ensure all dates are in a valid format and numeric fields contain valid values.
Doctor's Certificate Validations
-
Missing Doctor's Certificate: Doctor's Certificate is required and cannot be left blank. Accepted values are
Yes,Y,1,True,No,N,0, orFalse. - Missing Doctor's Certificate Dates: Where Doctor's Certificate is set to Yes, both a Start Date and End Date must be provided. The End Date must be on or after the Start Date.
- Doctor's Certificate Dates Provided When Not Required: Where Doctor's Certificate is set to No, Doctor's Certificate Start Date and End Date must be left blank.
Qualifying Day Validations
-
Missing Qualifying Day: Each qualifying day field (Monday through Sunday) is required and cannot be left blank. Accepted values are
Yes,Y,1,True,No,N,0, orFalse. - No Qualifying Days Selected: At least one qualifying day must be set to Yes.
Hours-Specific Validations
-
Full/Part Day Not Required for Days Absences: Where Days or Hours is set to
Days, the Full/Part Day and Number of Hours Per Qualifying Day fields must be left blank. -
Missing Full/Part Day: Where Days or Hours is set to
Hours, Full/Part Day is required. Accepted values areFullorPart. -
Missing Number of Hours Per Qualifying Day: Where Days or Hours is set to
Hours, Number of Hours Per Qualifying Day is required and must not be negative. The value must also be in the configured absence hour increments.
SSP & CSP Validations
- SSP Fields on Non-SSP Absence Type: SSP Days Paid and SSP Amount Paid can only be specified where the absence type is configured as an SSP absence type.
- CSP Fields on Non-CSP Absence Type: CSP Days Paid, CSP Half Days Paid, and CSP Amount Paid can only be specified where the absence type is configured as a CSP absence type.
- SSP Days Paid Exceeds Qualifying Days: SSP Days Paid cannot exceed the total number of qualifying days within the absence period.
- CSP Days Paid Exceeds Qualifying Days: CSP Days Paid cannot exceed the total number of qualifying days within the absence period.
- CSP Half Days Paid Exceeds Qualifying Days: CSP Half Days Paid cannot exceed the total number of qualifying days within the absence period.
- Negative Paid Days or Amounts: SSP and CSP days and amounts cannot be negative.
- SSP Days and Amount Mismatch: SSP Days Paid must be greater than 0 if an SSP Amount Paid is provided, and SSP Amount Paid must be greater than 0 if SSP Days Paid is provided.
- Paid Days Exceed Qualifying Days: The total number of paid days cannot exceed the number of qualifying days available within the absence.
Waiting Days Validations
- Waiting Days Not Permitted Post 6th April 2026: Waiting days cannot be specified for absences starting on or after 6th April 2026.
- Waiting Days Exceed Maximum: Waiting Days in Absence cannot exceed 3 days.
- Waiting Days Spent Exceed Waiting Days: Waiting Days Spent cannot exceed the value entered in Waiting Days in Absence.
- CSP Waiting Days Spent Exceed CSP Waiting Days: CSP Waiting Days Spent cannot exceed the value entered in CSP Waiting Days in Absence.
Other Required Fields
- Missing Evidence Seen: Evidence Seen is required and cannot be left blank.
- Missing Return to Work Completed: Return to Work Completed is required and cannot be left blank.
- Missing Send to Rota/Scheduling: Send to Rota/Scheduling is required and cannot be left blank.
Absence in Hours Update Import
The following validation rules are applied when processing an Absence in Hours Update Import. Any records that fail validation will return an error and will not be processed.
File & Employee Validations
- Duplicate Record: The same employee number and date of absence combination appears more than once in the file. Each row must be unique.
- Missing Employee Number: Employee number is required on every row and cannot be left blank.
- Employee Not Found: The employee number does not exist or the employee is not current. Ensure the employee record is active before retrying.
- Invalid Data Format: A date or numeric field contains a value in an unrecognised format. Ensure all dates are in a valid format and numeric fields contain valid values.
Absence Date Validations
- Missing Date of Absence: Date of Absence is required and cannot be left blank.
- No Matching Absence Found: No absence record exists for the specified employee and date. Ensure the absence record has been created before attempting to update it via this import.
- Multiple Matching Absences Found: More than one absence record was found for the specified employee and date. The record cannot be updated until this is resolved.
- Absence is Days-Based: The absence on the specified date is configured as a days-based absence and cannot be updated via this import. Only hours-based absences are supported.
- Absence is Not Hours-Based: The matched absence record is not configured as an hours-based absence and cannot be updated via this import.
- Absence Day Not Found in Hours Detail: The specific day entry could not be located within the hours detail of the matched absence record.
- Absence Record Cannot Be Retrieved: The absence record for the specified employee could not be retrieved for update.
Hours & Part Day Validations
-
Missing Full Day or Part: Full Day or Part is required and cannot be left blank. Accepted values are
FullorPart. -
Invalid Full Day or Part Value: Full Day or Part must be either
FullorPart. - Missing Number of Hours: Number of Hours is required and cannot be left blank.
- Negative Number of Hours: Number of Hours cannot be a negative value.
- Invalid Hours Increment: Number of Hours must be entered in the configured absence hour increments.
Filtering the Results Table
Once an import has been processed, the results table provides filtering options within the column headers, allowing records to be narrowed down by success or failure status, as well as by specific error descriptions. The full results table can also be exported to Excel or CSV if required:
Return to: WFM UK | HR & Payroll: Absence (Sickness)
Comments
Please sign in to leave a comment.