Follow this guide to upload shift and timesheet records in bulk to Humanforce WFM using the Integration Central file import tool. This supports accurate tracking of worked hours across teams, especially in backdated or unscheduled workflows.
This task is designed for organisations managing shifts at scale or importing historical time data for payroll reconciliation and compliance.
If you're not familiar with the Integration Central file import feature, read Configure and run file import tasks in Integration Central before continuing.
For new users: All uploads are validated for formatting and field matching. The system accepts shift records for both scheduled and ad-hoc work periods.
Part 1: Prepare the timesheet file
- Go to Management > Advanced > Integration Central > Add New > File Import.
- Set the Data type to Timesheet Data.
- Click Download template to get the latest version.
- Open the newly downloaded template.
- Review the field requirements in the reference section below to ensure your data is valid and complete.
- Enter timesheet data into the file using the required headers
- Save the file locally in .CSV format.
When your file is correctly structured and saved, it's ready to upload in Integration Central
Part 2: Upload the timesheet file
- Go to Management > Advanced > Integration Central > Add New > File Import.
- Set the Data type to Timesheet Data.
- In the File section:
- For an ad-hoc upload, drag and drop your file into the upload box, or click Browse to select the file from your computer.
-
For a scheduled upload, click Humanforce SFTP import.
Note: You must have SFTP configured. To learn how, see How to setup the Humanforce SFTP folder.
- (Optional) In Task completion notification, enter an email address to be notified when the import finishes.
- Click Next.
Once your file is uploaded successfully, the system will automatically detect and display the column headers in the mapping screen.
Part 3: Configure field mappings and import the file
- Review the Field mapping screen.
- Select or update the following if required:
- Field mapping rules (checkboxes at the top)
- Source fields > target fields mapping
-
Format specifiers (e.g.
dd/MM/yyyy,hh:mm AM/PM) - Lookup types and default values
- Click Next.
- Choose one of the following:
- Save mapping & import – if you plan to reuse this setup in future.
- Import only – if this is a one-time upload.
- Once complete, you’ll see a confirmation summary including:
- Number of rows successfully imported
- Any failed rows
- For saved mappings:
- Click Got it to return to Integration Central > File Import.
- Click the three dot menu next to your file and choose View logs or History to check results.
When successful, the uploaded timesheet records will appear under Management > Timesheets > Timesheets/Daily Authorisation for the selected dates and employees.
Additional information
- Only one employee identifier (e.g. Employee Code, Payroll Code) is required per row.
- A maximum of 500 records is recommended per file for optimal performance.
- Fields left blank will not update existing data unless explicitly mapped.
- If GrossHrs is blank and no Start/End Times are provided, the row will fail validation.
- To avoid duplication, do not upload the same file more than once.
- Locations, roles, and departments must already exist in the system. New ones cannot be created through upload.
- If your file includes new event or function codes not present in WFM, the upload will fail.
- Use export codes to avoid name conflicts across entities.
- If you need to automate uploads, speak to your administrator about scheduled import options.
Reference: Timesheet Data field definitions
Field name |
Description |
Format / Rules |
|---|---|---|
| EmployeeCode | Unique code used in WFM | Max 100 characters. Required if not using Payroll Code |
| Payroll Code | Used if EmployeeCode is blank | Max 100 characters |
| DTDate | Shift start date | Required. Format: dd/mm/yyyy |
| DTStartTime | Shift start time | Optional if GrossHrs is populated. Format: hh:mm |
| DTEndTime | Shift end time | Optional if GrossHrs is populated. Format: hh:mm |
| GrossHrs | Shift length in hours including breaks | Decimal (e.g. 8.5) |
| BreakStartTime | Unpaid break start time | Optional. Format: hh:mm |
| BreakEndTime | Unpaid break end time | Optional. Format: hh:mm |
| BreakLength | Duration of unpaid break | Decimal (e.g. 0.5) |
| Location | Location name or export code | Max 100 characters |
| Department | Department name or export code | Max 50 characters |
| Role | Role name or export code | Max 60 characters |
| Period | Payroll or scheduling period name/export code | Max 60 characters |
| ShiftType | Label used to describe shift type | Optional. Max 50 characters |
| Paid | Whether shift is paid | Y or N. Defaults to Y |
| Event | Optional shift event code or name | Max 255 characters |
| Function | Optional function name | Max 150 characters |
| Area | Optional area name | Max 50 characters |
| Comments | Notes associated with the shift | Max 255 characters |
| PayDate | Date the shift is paid | Optional. Format: dd/mm/yyyy |