KeyPay - Employee Sync
SUMMARY
When a Contact
Record in Salesforce meets the requirement of having the Start Date At My Supports
field with a value, on Save of the Contact Record a trigger will attempt to sync the record to KeyPay.
You can see in Beyonnce’s Record below that Start Date At My Supports
has been populated, this has triggered the sync to KeyPay and has returned the Payroll ID
value to Salesforce.
Other fields to note:
Employment Type
- mandatory for KeyPay or the sync process will fail.Tax File Number
- mandatory for KeyPay or the sync process will fail.EH Sync Status
- status message returned from KeyPay.EH Last Sync Status
- the last date that the record was synced to KeyPay.EH Sync Details
- the full sync response from KeyPay, this will contain errors if the sync failed.
Although this has synced successfully you can also note that the response from KeyPay is that the 'Basic Details are incomplete'. KeyPay requires Email and Mobile to be added on the Salesforce side and PayRun Defaults to be configured on the Employment Hero side.
If the Contact
Record fails to sync, you'll see the error message in the EH Sync Details
field. In the example below the record has failed to sync because no Tax File Number
has been provided.
When an Employment End Date
is entered in Salesforce, this updates the corresponding End Date
field in KeyPay.
TECHNICAL SPECIFICATION
A data service to activate new support workers in KeyPay when they’re activated in Salesforce.
WHEN
Start_Date_at_My_Supports__c
is created/updated with a value in SalesforceTHEN create the Contact Record in KeyPay.
WHEN any of the support values are updated on the Salesforce side.
THEN update the corresponding value in KeyPay.
WHEN
End_Date__c
is entered on a Contact Record.THEN update the termination_date on the corresponding record in KeyPay.
Employment Hero Payroll API Reference: Activate Employee
Employment Hero Payroll API Reference: Create or Update Employee
Employee Object in KeyPay
{
"anniversaryDate": "date-time",
"australianResident": "boolean",
"automaticallyPayEmployee": "string",
"bankAccount1_AccountName": "string",
"bankAccount1_AccountNumber": "string",
"bankAccount1_AllocatedPercentage": "double",
"bankAccount1_BSB": "string",
"bankAccount1_FixedAmount": "double",
"bankAccount2_AccountName": "string",
"bankAccount2_AccountNumber": "string",
"bankAccount2_AllocatedPercentage": "double",
"bankAccount2_BSB": "string",
"bankAccount2_FixedAmount": "double",
"bankAccount3_AccountName": "string",
"bankAccount3_AccountNumber": "string",
"bankAccount3_AllocatedPercentage": "double",
"bankAccount3_BSB": "string",
"bankAccount3_FixedAmount": "double",
"businessAwardPackage": "string",
"claimMedicareLevyReduction": "boolean",
"claimTaxFreeThreshold": "boolean",
"closelyHeldEmployee": "boolean",
"closelyHeldReporting": "string",
"contractorABN": "string",
"dateCreated": "date-time",
"dateOfBirth": "date-time",
"dateTaxFileDeclarationReported": "date-time",
"dateTaxFileDeclarationSigned": "date-time",
"emailAddress": "string",
"emergencyContact1_Address": "string",
"emergencyContact1_AlternateContactNumber": "string",
"emergencyContact1_ContactNumber": "string",
"emergencyContact1_Name": "string",
"emergencyContact1_Relationship": "string",
"emergencyContact2_Address": "string",
"emergencyContact2_AlternateContactNumber": "string",
"emergencyContact2_ContactNumber": "string",
"emergencyContact2_Name": "string",
"emergencyContact2_Relationship": "string",
"employingEntityABN": "string",
"employingEntityId": "string",
"employmentAgreement": "string",
"employmentType": "string",
"endDate": "date-time",
"externalId": "string",
"firstName": "string",
"gender": "string",
"hasApprovedWorkingHolidayVisa": "boolean",
"hasWithholdingVariation": "boolean",
"homePhone": "string",
"hoursPerDay": "double",
"hoursPerWeek": "double",
"id": "int32",
"isEnabledForTimesheets": "string",
"isExemptFromFloodLevy": "boolean",
"isExemptFromPayrollTax": "boolean",
"isSeasonalWorker": "boolean",
"jobTitle": "string",
"leaveAccrualStartDateType": "string",
"leaveTemplate": "string",
"leaveYearStart": "date-time",
"locations": "string",
"maximumQuarterlySuperContributionsBase": "double",
"medicareLevyExemption": "string",
"medicareLevyReductionDependentCount": "int32",
"medicareLevyReductionSpouse": "boolean",
"medicareLevySurchargeWithholdingTier": "string",
"middleName": "string",
"mobilePhone": "string",
"otherTaxOffset": "boolean",
"overrideTemplateRate": "string",
"payConditionRuleSet": "string",
"payRateTemplate": "string",
"paySchedule": "string",
"paySlipNotificationType": "string",
"postalAddressIsOverseas": "boolean",
"postalAddressLine2": "string",
"postalCountry": "string",
"postalPostCode": "string",
"postalState": "string",
"postalStreetAddress": "string",
"postalSuburb": "string",
"preferredName": "string",
"previousSurname": "string",
"primaryLocation": "string",
"primaryPayCategory": "string",
"rate": "double",
"rateUnit": "string",
"reportingDimensionValues": "string",
"residentialAddressIsOverseas": "boolean",
"residentialAddressLine2": "string",
"residentialCountry": "string",
"residentialPostCode": "string",
"residentialState": "string",
"residentialStreetAddress": "string",
"residentialSuburb": "string",
"rosteringNotificationChoices": "string",
"seniorsTaxOffset": "boolean",
"singleTouchPayroll": "string",
"startDate": "date-time",
"status": "string",
"stslDebt": "boolean",
"superFund1_AllocatedPercentage": "double",
"superFund1_EmployerNominatedFund": "boolean",
"superFund1_FixedAmount": "double",
"superFund1_FundName": "string",
"superFund1_MemberNumber": "string",
"superFund1_ProductCode": "string",
"superFund2_AllocatedPercentage": "double",
"superFund2_EmployerNominatedFund": "boolean",
"superFund2_FixedAmount": "double",
"superFund2_FundName": "string",
"superFund2_MemberNumber": "string",
"superFund2_ProductCode": "string",
"superFund3_AllocatedPercentage": "double",
"superFund3_EmployerNominatedFund": "boolean",
"superFund3_FixedAmount": "double",
"superFund3_FundName": "string",
"superFund3_MemberNumber": "string",
"superFund3_ProductCode": "string",
"superThresholdAmount": "double",
"surname": "string",
"tags": "string",
"taxCategory": "string",
"taxFileNumber": "string",
"taxVariation": "double",
"terminationReason": "string",
"title": "string",
"workPhone": "string",
"workTypes": "string",
"workingHolidayVisaCountry": "string",
"workingHolidayVisaStartDate": "date-time"
}
MAPPING
KeyPay FIELD | Salesforce FIELD | NOTES |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|