Skip to main content

Data Validation for Imported Timesheets

Explains how imported timesheet data is validated and which errors and warnings can appear in the exception report.

Written by Jason
Updated over 2 months ago

When an import file is uploaded and:

  • The file format is correct, and

  • The minimum required fields have been mapped.

The file is queued for processing. The system then performs two types of validation:

  1. Job order matching – to match each row to a unique job order.

  2. General validation – to validate the rest of the data on the timesheet items.

If any item fails either job order matching or general validation, the entire timesheet that item belongs to will fail to import, and one or more exception messages will be written to the exception report. Other timesheets in the same import file can still be imported if they pass validation.

💡 Best Practice: Where possible, include Job ID fields in the import file. This reduces the risk of ambiguous matches when candidates have multiple placements.


Job Order Matching

The system tries to match each item in the import file to a single, valid job order in the system. It does this in the following order, depending on which fields are mapped:

  • Job ID fields.

  • Client fields.

  • Candidate fields.

If a valid job order cannot be uniquely identified using the available fields, the corresponding timesheet will fail to import and an exception will be recorded.

A valid job order must:

  • Have a status of Filled or Closed, and

  • Have Submit to Timesheet enabled.


Matching by Job ID Fields

If any of the following Job ID fields are mapped, they are used to match rows in the import file to job orders (based on the item date):

  • Job Order ID.

  • Job Alt No.

  • Purchase Order No.

If two or more Job ID fields are mapped, only the first one in the list above is used.
For example, if both Job Order ID and Job Alt No are provided, only Job Order ID is used for matching.


Exceptions When Matching by Job ID Fields

Condition

Exception Report Message

A row in the import file could not be matched to an existing, valid job order by any of the Job ID fields. A valid job order must have a status of either Filled or Closed and have the Submit to Timesheet box checked.

Job Order cannot be found.

A valid job has not been found for the provided Purchase Order Number. This exception occurs even if the row can be matched to a valid job order by the Job Order ID or Job Alt No fields.

Job Order Cannot Be Found for the Submitted Purchase Order Number.

A row in the import file specifies a purchase order number but there are multiple job orders with the same purchase order number and item date, so the row cannot be matched to a single job order.

Multiple matching job orders identified for specified date.

The job order has been identified by a Job ID field, but the item date for this row does not fall between the job’s start and end dates.

Specified Date Does Not Exist on the Job Order.

The job has been identified and a candidate has been identified, but this candidate is not the candidate on this order.

Specified Candidate Does Not Exist on the Job Order


Matching by Client Fields

If no Job ID fields are mapped, but any of the following Client fields are mapped, the system uses these to match rows to job orders:

  • Cost Centre No.

  • Cost Centre Code.

  • Cost Centre Name.

  • Client No.

  • Client Alternate No.

If two or more Client fields are mapped, only the first one in the list above is used.
For example, if both Cost Centre Code and Client No are mapped, only Cost Centre Code is used.

The system determines:

  • Client ID from the mapped Client fields above.

  • Candidate ID from one of these Candidate fields (if mapped):

    • Candidate ID.

    • Candidate Alt No.

    • Candidate Full Name.

    • Candidate Firstname + Candidate Surname.

Once the client is identified, Timesheet Import tries to find a job order where the specified candidate is placed with that client for the given item date.

If the candidate has multiple overlapping placements with the same client, the system may not be able to uniquely identify the job order and the timesheet will fail to import.

💡 Best Practice: If there is a chance that payees have multiple placements with the same client for the same period, include Job ID fields in the import file.

Exceptions When Matching by Client Fields

Condition

Exception Report Message

A job cannot be identified based on the combination of client and candidate identifiers. A valid job order must have a status of either Filled or Closed and have the Submit to Timesheet box checked.

Job Order Cannot Be Found.

No matching candidate is found for the candidate identifier.

Candidate Cannot be Found

The candidate can be identified from the provided information, but is not placed on a valid order for this client.

Candidate Not Placed on Valid Order for This Client and Date.

More than one order is identified; the resulting job number is not unique.

Multiple matching job orders identified for specified Candidate, Client and Date


Matching by Candidate Fields

If neither Job ID nor Client fields are mapped, the system uses the following Candidate fields to match rows to job orders:

  • Candidate ID.

  • Candidate Alt No.

  • Candidate Full Name.

  • Candidate Firstname and Candidate Surname.

If two or more Candidate fields are mapped, only the first one in the list above is used.

  • For example, if both Candidate Alt No and Candidate Full Name are mapped, only Candidate Alt No is used.

Once the candidate is identified, Timesheet Import tries to find a job order where the candidate is placed for the corresponding item date.

  • If the candidate is placed in multiple jobs (for the same or different clients) for overlapping periods, the system may not be able to uniquely identify the job order and the timesheet will fail to import.


If payees may have multiple placements over the same period, include Job ID fields in the import file to reduce ambiguity.


Exceptions When Matching by Candidate Fields

Condition

Exception Report Message

No matching candidate is found for the candidate identifier.

Candidate Cannot Be Found.

The candidate can be determined from the identifiers, but is not placed on a valid order for this date.

Candidate Not Placed on Valid Order For This Date.

The candidate can be identified, but is placed on more than one valid order on this date.

Candidate Placed on Multiple Orders for this Date.

More than one candidate matches both the candidate information used (e.g. Candidate No, Candidate Alt No, etc.) and the date.

Multiple Candidates Identified.


General Validation

Once an item in the import file has been matched to a unique job order, Timesheet Import performs general validation to check that the item data is correct.

Unless stated otherwise, if an item fails general validation:

  • The entire timesheet that item belongs to will fail to import, and

  • An exception will be written to the exception report.

Some conditions are warnings only and do not prevent the timesheet from being created.

General Validation Exceptions and Warnings

Condition

Exception Report Message

An attendance/absence/reimbursement item in the import file has no import code/item name.

Attendance/Absence/Reimbursement Item has no Import Code/Name.

The import code/item name of an attendance/absence/reimbursement item in the import file does not match any existing attendance/absence/reimbursement item within the system.

Attendance/Absence/Reimbursement Item Import Code/Name does not exist in the system.

A job order number has been provided in the import file but the corresponding job order does not exist in the system.

Job Order cannot be found.

Data has already been keyed and saved on the target timesheet in Time and Attendance and no Adjustment Reason is provided.

The timesheet item has been keyed so may be a duplicate. If this is an Adjustment Timesheet, a valid Adjustment Reason must be assigned to the timesheet for an Adjustment Timesheet to be created.

The Adjustment Reason assigned is not valid. This can include validity dates not intersecting with today’s date; code does not exist; or the reason’s country does not match the job’s timesheet country.

Adjustment Reason is not valid. Either the reason provided does not exist; the validity is not compatible with today’s date; the country of the reason is not compatible with the country of the timesheet.

The Adjustment Target Timesheet cannot be identified in Interpreter Review.

The Adjustment Timesheet’s target timesheet cannot be identified in Interpreter Review.

There is an absence item included in the Adjustment Timesheet data.

Absence items cannot be adjusted in Adjustment Timesheets. This can be done in the Interpreter or Pay Process.

An absence item in the import file is linked to a Leave Type that is pending. Status must be Released.

An Absence item in the import file is linked to a Leave Type that has a Pending Status. Status must be Released.

The absence item has a Project Code.

Absence items must not include a Project Code.

An absence item in the import file has date(s) that conflict with an approved leave request item.

An Absence item in the import file has date(s)/ time(s) that conflict with an approved Leave Request. Either cancel the request or remove the item from the import.

An attendance item in the import file has a date that clashes with the date of an approved leave request item. On import the attendance item will overwrite the leave request item. However, unless a leave approver cancels the leave request, it will remain in the system and will be paid in a pay batch if not cancelled. This is a warning only and will not prevent the timesheet from being imported and created within FastTrack360.

Warning: an attendance item for <date > overlaps an existing leave request item and will overwrite the existing leave request.

An additional item in the import file has a date that clashes with the date of an approved leave request item. On import the additional item will overwrite the leave request item. However, unless a leave approver cancels the leave request, it will remain in the system and will be paid in a pay batch if not cancelled. This is a warning only and will not prevent the timesheet from being imported and created within FastTrack360.

Warning: an additional item for <date> overlaps an existing leave request item and will overwrite the existing leave request.

The Job ID field has been mapped but a job order number has not been specified for the item.

The job order number is mandatory.

The Timesheet Code Required option is enabled on the job order to which a timesheet belongs but a timesheet code is not specified for the timesheet in the import file.

Timesheet code is required.

The timesheet code specified on a timesheet is not unique.

Timesheet code already exists.

Standard rates have been applied to the job order to which the timesheet belongs but no standard rate items exist on the timesheet.

Timesheet is assigned standard rates but has no additional items specified.

The start date of an attendance/absence/reimbursement item on a timesheet falls outside the date range of the timesheet.

Attendance/Absence/Reimbursement item start date must fall within the timesheet header date range.

An attendance/absence item on a timesheet has a start or end time that overlaps another attendance/absence item.

Attendance/Absence item overlaps another attendance item.

An attendance/absence item on a timesheet has an attendance type that does not match any attendance type defined in Maintain Attendance / Absence in Recruitment Maintenance.

Attendance/Absence Item Import Code/Name does not exist in the system

An unpaid break during an attendance/absence on a timesheet has a start time that falls outside the attendance/absence start or end time.

Attendance/Absence Item with work date <date><time> has a Break Item that starts or ends outside of the Attendance/Absence time.

An unpaid break during an attendance/absence on a timesheet has an end time that falls outside the attendance/absence start or end time.

Attendance/Absence Item with work date <date><time> has a Break Item that starts or ends outside of the Attendance time.

An unpaid break during an attendance/absence on a timesheet has a duration that is equal to or greater than the duration of the attendance/absence itself.

Attendance/Absence Item with work date <date><time> has a Break Item total equal to or greater than Attendance/Absence item duration.

An unpaid break during an attendance/absence on a timesheet has a start or end time that clashes with another unpaid break.

Attendance/Absence Item with work date <date><time> has a break item that overlaps another break item.

The start or end time of a project item on a timesheet overlaps that of another project item.

Attendance/Absence Item with work date <date> <time> has a project item that overlaps another attendance item.

The Enforce Project Codes option has been enabled on the job order to which a timesheet belongs but a project item on the timesheet does not have a project code.

Project Item total time for attendance item with work date <date><time>must equal attendance time.

The Enforce Project Code Selection option has been enabled on the job order to which a timesheet belongs but the project code of a project item on the timesheet does not match any of the project codes defined as valid for the job order.

Attendance Item with work date <date><time> has a Project Item with a Project Code that does not exist in the available pick list.

A timesheet includes an unpaid break during an absence and the start time of the unpaid break falls outside the start or end time of the absence.

Break item start time must fall within the absence item duration.

A timesheet includes an unpaid break during an absence and the duration of the unpaid break is equal to or greater than the duration of the absence.

Break item end time must fall within the absence item duration.

A timesheet includes an additional item that is not valid on the date on which it occurs on the timesheet.

Additional item not available for this timesheet date.

A timesheet includes an additional item for which a pay rate must be specified (direct valuation item) on the timesheet but no pay rate has been specified.

Direct valuation item must have a pay rate.

A timesheet includes an additional item for which a pay rate cannot be specified (non-direct valuation) on the timesheet but a pay rate has been specified.

Additional item rate cannot be supplied.

An attendance item and an additional item are specified in a single row of the import file.

Attendance and manual/additional items cannot be specified in the same row.

The Enforce Project Codes option has been enabled on the job order to which a timesheet belongs but a project item for an additional item on the timesheet does not have a project code.

Additional item Project Code required.

The Enforce Project Code Selection option has been enabled on the job order to which a timesheet belongs but the project code of a project item for an additional item on the timesheet does not match any of the project codes defined as valid for the job order.

Additional item Project Code must exist in available pick list.

A pay code name in the import file is not found in the system.

There is no Pay Code with this Name

A pay code name in the import file is not unique.

There are multiple pay codes with this name in the system.

A pay code import code has been provided in the import file but there are multiple pay codes with the same import code in the system.

Manual Item Import Code duplicates found.

An unpaid break during an attendance on a timesheet has a start or end time that clashes with another unpaid break.

Attendance Item with work date <date><time> has a break Item that overlaps another break Item.

A pay code import code in the import file is not found in the system.

Manual Item Import Code/Name does not exist in the system.

A pay code name in the import file is not found in the system.

Manual Item Import Code/Name does not exist in the system.

The Pay Code Import Code field is used in the field mappings but no item code is supplied in the import file.

Item code not supplied.

Currency Code provided is not configured or there is no valid exchange rate for the code.

Currency Code must be configured and a valid exchange rate must exist.

A row contains at least one value (in addition to Item Date) for a reimbursement, but one or more other required values are missing (tax value can be zero or null).

Reimbursement item is missing one or more values (Tax value can be zero or null).

Pay Code value provided is not the correct type, i.e. Pay Code Name / Pay Code Import Code value should not be of type ‘Reimbursement’ and Reimbursement Name / Reimbursement Code value should be of type ‘Reimbursement’.

Value provided for Pay Code Name / Pay Code Import Code cannot be Pay Code Type ‘Reimbursement’. Value provided for Reimbursement Name / Reimbursement Import Code must be Pay Code Type 'Reimbursement’.

Did this answer your question?