Skip to end of banner
Go to start of banner

KeyPay - Time Sheet Sync

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Current »

SUMMARY

Time Sheet Records are created in Salesforce based on a configured scheduled process which runs each week or fortnight or month. This configuration can be access via the Time Sheet Settings option in the Setup Menu.

Time Sheets are currently scheduled to generate on Monday mornings.

Generated Time Sheets have Time Sheet Entry Records associated to them when workers complete a Service Appointment. Time Sheet Entry Records are usually auto generated based on the employee checking in and checking out of their appointment.

On Sunday night at 10 PM a scheduled process runs in Salesforce to sync the Time Sheets with their related Time Sheet Entries to Employment Hero. When the sync is complete, the Time Sheet Entry Records will be available in Employment Hero for approval.


Salesforce Finance Users can also sync Time Sheet Records individually from Salesforce.

From a Service Resource Record you will be able to see related Time Sheet Records.

The Contact Field on the Service Resource should be populated with a Contact who has been synced to Employment Hero, this is where we retrieve the Payroll ID of the employee to accurately assign the Time Sheet Records in Employment Hero.

Clicking into the Time Sheet Record you will see a EH Sync quick action at the top of page. Clicking this button will attempt to sync the Time Sheet to Employment Hero, the result will be returned in the EH Sync Status and EH Sync Details fields.

This process will fail if there are no related Time Sheet Entry Records related to the Time Sheet.

Clicking into the Time Sheet Entry Record, you will see sync details for each individual Time Sheet Entry as well, with the ability to sync to Employment Hero via the EH Sync quick action.


TECHNICAL SPECIFICATION

From a Time Sheet and Time Sheet Entry record in Salesforce we will trigger the creation of Time Sheet and Time Sheet Entry records in Employment Hero through the KeyPay API.

A summary of the Time Sheet data services can be found here - https://api.keypay.com.au/australia/reference/timesheets

We will use the following methods:

Method

HTTP Request

Description

Bulk Insert Timesheets

POST /api/v2/business/{businessId}/timesheet/bulk

When a Time Sheet is created in Salesforce, we will trigger the creation of the Time Sheet in Employment Hero.

Time Sheets get created in Salesforce via a scheduled service (see Time Sheet Settings in the Setup Menu) where Time Sheets for all 400-500 workers will be created.

We can run a Bulk Insert Time Sheets scheduled service after the Time Sheet creation service is run in Salesforce and trigger individual Time Sheet creation for any records that are created outside this service.

Create timesheet line

POST /api/v2/business/{businessId}/timesheet

When a TimeSheetEntry is updated or created with Status = 'Approved', then trigger the Time Sheet Line to be created in Employment Hero.

Delete timesheet line

DELETE /api/v2/business/{businessId}/timesheet/{timesheetLineId}

If a TimeSheetEntry is deleted in Salesforce, then delete the Time Sheet Line in Employment Hero.

Update timesheet line

PUT /api/v2/business/{businessId}/timesheet/{timesheetLineId}

If a TimeSheetEntry is updated in Salesforce, then update the Time Sheet Line in Employment Hero.

Update/Replace timesheets

PUT /api/v2/business/{businessId}/timesheet/bulk

If a TimeSheet is updated in Salesforce, then update the Time Sheet in Employment Hero.

TIME SHEET MAPPING

https://api.keypay.com.au/australia/reference/timesheets/au-timesheet--post?v=latest

Method

HTTP Request

Description

Bulk Insert Timesheets

POST /api/v2/business/{businessId}/timesheet/bulk

When a Time Sheet is created in Salesforce, we will trigger the creation of the Time Sheet in Employment Hero.

Time Sheets get created in Salesforce via a scheduled service (see Time Sheet Settings in the Setup Menu) where Time Sheets for all 400-500 workers will be created.

We can run a Bulk Insert Time Sheets scheduled service after the Time Sheet creation service is run in Salesforce and trigger individual Time Sheet creation for any records that are created outside this service.

Create timesheet line

POST /api/v2/business/{businessId}/timesheet

When a TimeSheetEntry is updated or created with Status = 'Approved', then trigger the Time Sheet Line to be created in Employment Hero.

Delete timesheet line

DELETE /api/v2/business/{businessId}/timesheet/{timesheetLineId}

If a TimeSheetEntry is deleted in Salesforce, then delete the Time Sheet Line in Employment Hero.

Update timesheet line

PUT /api/v2/business/{businessId}/timesheet/{timesheetLineId}

If a TimeSheetEntry is updated in Salesforce, then update the Time Sheet Line in Employment Hero.

Update/Replace timesheets

PUT /api/v2/business/{businessId}/timesheet/bulk

If a TimeSheet is updated in Salesforce, then update the Time Sheet in Employment Hero.

TIME SHEET ENTRY MAPPING

https://api.keypay.com.au/australia/reference/timesheets/au-timesheet--post-individual?v=latest

Employment Hero

Salesforce

Notes

classification

DO NOT MAP

classificationId

DO NOT MAP

comments

TimeSheet.Description

employeeId

TimeSheet.ServiceResourceId.Contact__c.Employment_Hero_ID__c

endTime

TimeSheetEntry.EndTime

externalId

TimeSheetEntry.Id

fullyQualifiedLocationName

DO NOT MAP

hiddenComments

DO NOT MAP

id

leaveCategoryId

DO NOT MAP

locationId

DO NOT MAP

locationIdDeleted

DO NOT MAP

payCategoryId

DO NOT MAP

rate

DO NOT MAP

shiftConditionIds

DO NOT MAP

shiftConditions

DO NOT MAP

source

"Salesforce"

startTime

TimeSheetEntry.StartTime

status

TimeSheetEntry.Status

units

TimeSheetEntry.EndTime - TimeSheetEntry.StartTime

Create new formula field

workType

Service_Appointment__r.WorkOrder.WorkType

workTypeId

Service_Appointment__r.WorkOrder.WorkType.Employment_Hero_Code__c

  • No labels