Timesheets - API Requests

This document provides information about the PurePro public API endpoints associated with timesheet operations and their objects.
Common operations;
Please select one of the options below: -

TIMESHEETS

GET

Method:
BaseURL: {{publicApiUrl}}/Timesheet/{{accountReference}}/{{businessUnitReference}}/Timesheet_REF
To retrieve details for a specific timesheet. To retrieve timesheet details, users would need to pass account and business unit reference to the base URL, along with the timesheet reference.
Account
  • Cannot be Null
  • Cannot be left blank
Business Unit
  • Cannot be Null
  • Cannot be left blank
Timesheet_REF
  • Cannot be Null
  • Cannot be left blank

Timesheet Add from Placement

Method:
Base URL: {{publicApiUrl}}/Timesheet/{{accountReference}}/{{businessUnitReference}}
To add a timesheet record from an existing placement using the public API you need to pass the account and business unit reference to the base URL with the required objects in the body. Refer to  Appendix M  containing a sample of the request body.
Account
  • Cannot be Null
  • You must select an existing Account to add a placement
Business Unit
  • Cannot be Null
  • You must select an existing Business Unit to add a placement

The key dependencies and validations are:
"PlacementReference": " string"
  • Cannot be null
  • Cannot be blank
  • You must input a placement reference
"Reference": "string"
  • Can be null
  • Cannot be blank
  • You must input a timesheet reference
"Date": "string"
  • Cannot be null
  • Cannot be blank
  • You must input a timesheet date
  • Acceptable format: "2020-06-22T00:00:00"
"WorkedPeriodId": "string"
  • Can be null
  • Can be blank
  • Can be provided as 0
"ExternalReference": "string"
  • Can be null
  • Can be blank
"SuppressNotifications" : "true"
  • Cannot be null
  • Cannot be blank
  • You must input a valid value
  • accepted values are: “true”, “false”
"Final" : "true"
  • Cannot be null
  • Cannot be blank
  • You must input a valid value; accepted values are “true”, “false”
"APIBatch" : "true"
  • Can be Null
  • Can be blank
  • Will use default value of "true" if not provided
"BackingData":"string"
Backing data records can only be added if they are enabled in the billing scheme
  • Can be null (if allowed in the billing scheme)
  • Can be blank (if allowed in the billing scheme)
  • Cannot be null (if set as required in the billing scheme)
  • Or input the following object in the body
"backingData": {
"consultantReference": "CS1000002",
"costCentre": "CS1000005",
"purchaseOrder": "CU10005A",
"industrySector": "IS0000001",
"jobClassification": "JC0000001",
"jobTitle": "JT0000001",
"HiringManagerContact": "3DD",
"WorkLocationAddress": "3DD",
"BillingAddress": "3DD",
"BillingContact": "3DD",
"externalReference": "EXT-1234",
"hasConsultantSplits": false,
"customBackingData": null
},
"timesheetRates ":"string"
Timesheet Rates records must be provided.
  • Cannot be null
  • Cannot be blank
  • Following dependencies apply when providing Timesheet rates: -
  • rateReference cannot be null or blank
  • Description can be null or blank
  • Number of units cannot be null or blank.
  • Unit reference can be null or blank
  • Pay rate cannot be null or blank
  • Pay VAT code can be null
  • If Pay VAT code is not provided, system will use the default value V0 (Zero rated VAT code)
  • Bill Rate cannot be blank or null
  • Delete cannot be blank or null; accepted values are “true”, “false”
"timesheetRates": [
{
"rateReference": "1000",
"description": null,
"numberOfUnits": 39.5,
"unitReference": "",
"payRate": 11.14,
"payVatCode": "V1",
"billRate": 0,
"billVatCode": "V1",
"delete": false
},
{
"rateReference": "1001",
"description": null,
"numberOfUnits": 0,
"unitReference": null,
"payRate": 16.71,
"payVatCode": "V1",
"billRate": 0,
"billVatCode": "V1",
"delete": false
}
],
"InheritFromPlacementRates" : "true"
  • Cannot be null
  • Cannot be blank
  • You must input a valid value;
  • accepted values are: “true”, “false”
Timesheets with APIBatch set as "true" will not be processed automatically for payroll & invoicing. These invoices will be added as "Pending" and can be processed from {Account → Pending Invoices}. Default is true if key is not provided.
For further information on worker transfers, please refer to our  Timesheet  guide.

Timesheet Add (Auto Create Placement)

Method:
Base URL: {{publicApiUrl}}/Timesheet/{{accountReference}}/{{businessUnitReference}}
To add a timesheet record without an existing placement using the public API you need to pass the account and business unit reference to the base URL with the required objects in the body. Refer to  Appendix N  containing a sample of the request body.
Account
  • Cannot be Null
  • You must select an existing Account to add a placement
Business Unit
  • Cannot be Null
  • You must select an existing Business Unit to add a placement
The key dependencies and validations are:
"WorkerReference" : "string"
  • Cannot be null
  • Cannot be blank
  • You must input a worker reference
"CustomerReference" : "string"
  • Cannot be null
  • Cannot be blank
  • You must input a customer reference
"Reference" : "string"
  • Cannot be null
  • Cannot be blank
  • You must input a timesheet reference
"Date" : "string"
  • Cannot be null
  • Cannot be blank
  • You must input a timesheet date
  • Acceptable format: "2020-06-22T00:00:00"
"WorkedPeriodId" : "string"
  • Cannot be null
  • Cannot be blank
  • You must input a worked period id
"ExternalReference": "string"
  • Can be null
  • Can be blank
"SuppressNotifications": 'true'
  • Cannot be null
  • Cannot be blank
  • You must input a valid value;
  • accepted values are “true”, “false”
"Final": "true"
  • Cannot be null
  • Cannot be blank
  • You must input a valid value;
  • accepted values are “true”, “false”
"APIBatch":"true"
  • Can be Null
  • Can be blank
  • Will use default value of "true" if not provided
BackingData - Backing data records can only be added if they are enabled in the billing scheme
  • Can be null (if allowed in the billing scheme)
  • Can be blank (if allowed in the billing scheme)
  • Cannot be null (if set as required in the billing scheme)
  • Or input the following object in the body
"backingData": {
"consultantReference": "CS1000002",
"costCentre": "CS1000005",
"purchaseOrder": "CU10005A",
"industrySector": "IS0000001",
"jobClassification": "JC0000001",
"jobTitle": "JT0000001",
"HiringManagerContact": "3DD",
"WorkLocationAddress": "3DD",
"BillingAddress": "3DD",
"BillingContact": "3DD",
"externalReference": "EXT-1234",
"hasConsultantSplits": false,
"customBackingData": null
},
"timesheetRates":"string"
Timesheet Rates records must be provided.
  • Cannot be null
  • Cannot be blank
  • Following dependencies apply when providing Timesheet rates: -
  • rateReference cannot be null or blank
  • Description can be null or blank
  • Number of units cannot be null or blank.
  • Unit reference can be null or blank
  • Pay rate cannot be null or blank
  • Pay VAT code cannot be null or blank; acceptable values are “V0”, “V1”, “V2”
  • Bill Rate cannot be blank or null
  • Delete cannot be blank or null; accepted values are “true”, “false”
"timesheetRates": [
{
"rateReference": "1000",
"description": null,
"numberOfUnits": 39.5,
"unitReference": "",
"payRate": 11.14,
"payVatCode": "V1",
"billRate": 0,
"billVatCode": "V1",
"delete": false
},
{
"rateReference": "1001",
"description": null,
"numberOfUnits": 0,
"unitReference": null,
"payRate": 16.71,
"payVatCode": "V1",
"billRate": 0,
"billVatCode": "V1",
"delete": false
}
],
"InheritFromPlacementRates": "true"
  • Cannot be null
  • Cannot be blank
  • You must input a valid value;
  • accepted values are “true”, “false”
Timesheets with APIBatch set as "true" will not be processed automatically for payroll & invoicing. These invoices will be added as "Pending" and can be processed from {Account → Pending Invoices}. Default is true if the key is not provided.
For further information on worker transfers, please refer to our  Timesheet  guide.

Timesheet Update

Method:
Base URL: {{publicApiUrl}}/Timesheet/{{accountReference}}/{{businessUnitReference}}
To update a timesheet record using the public API you need to pass the account and business unit reference to the base URL with the required objects in the body. Refer to  Appendix O  containing a sample of the request body.
Account
  • Cannot be Null
  • You must select an existing Account to add a placement
Business Unit
  • Cannot be Null
  • You must select an existing Business Unit to add a placement
The key dependencies and validations are:
"Reference": "string"
  • Cannot be null
  • Cannot be blank
  • You must input a timesheet reference
"Date": "string"
  • Cannot be null
  • Cannot be blank
  • You must input a timesheet date
"WorkedPeriodId": "string"
  • Cannot be null
  • Cannot be blank
  • You must input a worked period id
"SuppressNotifications": "true"
  • Cannot be null
  • Cannot be blank
  • You must input a valid value;
  • accepted values are “true”, “false”
"APIBatch" : "true"
  • Can be Null
  • Can be blank
  • Will use default value of "true" if not provided
"BackingData":"string"
Backing data records can only be added if they are enabled in the billing scheme
  • Can be null (if allowed in the billing scheme)
  • Can be blank (if allowed in the billing scheme)
  • Cannot be null (if set as required in the billing scheme)
  • Or input the following object in the body
"backingData": {
"consultantReference": "CS1000002",
"costCentre": "CS1000005",
"purchaseOrder": "CU10005A",
"industrySector": "IS0000001",
"jobClassification": "JC0000001",
"jobTitle": "JT0000001",
"HiringManagerContact": "3DD",
"WorkLocationAddress": "3DD",
"BillingAddress": "3DD",
"BillingContact": "3DD",
"externalReference": "EXT-1234",
"hasConsultantSplits": false,
"customBackingData": null
},
"timesheetRates":"string"
  • Can be null
  • Cannot be blank
  • Following dependencies apply when providing Timesheet rates: -
  • rateReference cannot be null or blank
  • Description can be null or blank
  • Number of units cannot be null or blank.
  • Unit reference can be null or blank
  • Pay rate cannot be null or blank
  • Pay VAT code cannot be null or blank; acceptable values are “V0”, “V1”, “V2”
  • Bill Rate cannot be blank or null
"timesheetRates": [
{
"Description": "Basic Payz",
"rateReference": "1000",
"numberOfUnits": 14.00,
"payVatCode": "V1",
"payRate": 14.57,
"billVatCode": "V1",
"billRate": 99,
"UnitReference": "Hour"
}]
Timesheets with APIBatch set as "true" will not be processed automatically for payroll & invoicing. These invoices will be added as "Pending" and can be processed from {Account → Pending Invoices}.

Timesheet Batch Delete

Method:
Base URL: {{publicApiUrl}}/Timesheet/{{accountReference}}/{{businessUnitReference}}/DeleteTimesheets
To delete multiple timesheets simultaneously within the current payroll cycle. To delete timesheets, users would need to pass account and business unit reference to the base url,
Account
  • Cannot be Null
  • Cannot be left blank
Business Unit
  • Cannot be Null
  • Cannot be left blank
The key dependencies and validations are:
"AccountReference": " string"
  • Cannot be null
  • Cannot be blank
  • You must provide an account reference
"BusinessUnitReference": " string"
  • Cannot be null
  • Cannot be blank
  • You must provide a business unit reference
"PeriodID": " string"
  • Cannot be null
  • Cannot be blank
  • You must provide the current period id
"TimesheetReference": " string"
  • Cannot be null
  • Cannot be blank
  • You must provide at least one valid timesheet reference
  • When providing multiple timesheet references, use "," to separate each timesheet reference


The contents of this document, along with any associated documents, are the property of PurePro Solutions Ltd. and are shared in strict confidence with the intended recipient. These materials may not be reproduced, shared, or used in any manner without prior written consent from PurePro Solutions Ltd. Unauthorized use or distribution is prohibited.