Third Party Pay Service
Third-Party Pay Service API
The Third-Party Pay Service API enables you to import payroll summary information into UKG Pro so that your employees can view their pay summary within UKG Pro although the payroll was not processed in UKG Pro.
Overview
This document describes the methods of the service and provides examples.
The following information describes the service requirements.
Service Specifications | |
---|---|
Protocol | HTTP (REST) |
SSL Support | Required |
Signup and Licensing | |
---|---|
Account Required | UKG Pro Web Service Account |
For information regarding establishing and maintaining an UKG Pro Web Service Account, refer to the document Managing Web Service Accounts under the UKG Pro Web Services and APIs divider of the UKG Pro Technical Content section in your UKG Pro Library.
Third-Party Pay Data
Property | Required |
Min Length |
Max Length |
Notes |
---|---|---|---|---|
External Pay Header | ||||
AddressLine1 | NO | 1 | 255 | |
AddressLine2 | NO | 1 | 255 | |
AddressMunicipality | NO | 1 | 255 | |
AddressRegion | NO | 1 | 255 | |
CheckAddModeCode | NO | 1 | 1 | |
CheckNumber | NO | - | - | |
CompanyIdentifierType & Value | NO | 5 | 5 |
If provided, must be a valid Company Identifier Type: - Company Code - CompanyId - FederalId - ImportCode |
CountryCode | NO | 3 | 3 | Must be a valid ISO Country Code |
DateTimeChanged | NO | N/A | N/A | Read Only |
DateTimeCreated | NO | N/A | N/A | Read Only |
DocumentNumber | NO | 1 | 25 | |
EmployeeIdentifierType & Value | YES | 1 | 12 |
Must be a valid Employee Identifier Type: - EmployeeId - EmployeeNumber - Ssn - EmailAddress - Sin - NationalId - PersonId |
EmployeeNumber | NO | 1 | 25 | |
Id | YES | N/A | N/A |
|
IsVoided | NO | 1 | 1 | Y or N value not case sensitive. Defaults to N. |
JobCode | NO | 1 | 100 | |
LocationDescription | NO | 1 | 25 | |
NameFirst | NO | 1 | 100 | |
NameLast | NO | 1 | 100 | |
OrgLevel1 | NO | 1 | 50 | |
OrgLevel2 | NO | 1 | 50 | |
OrgLevel3 | NO | 1 | 50 | |
OrgLevel4 | NO | 1 | 50 | |
CheckAmount | NO | - | - | Allows negative amounts |
CurrentNetPay | NO | - | - | Allows negative amounts |
CurrencyCode | YES | 3 | 3 | Must be a valid 3 character currency code |
TotalCurrentDeductions | NO | - | - | Allows negative amounts |
TotalCurrentEarnings | NO | - | - | Allows negative amounts |
TotalCurrentTaxes | NO | - | - | Allows negative amounts |
TotalYtdDeductions | NO | - | - | Allows negative amounts |
TotalYtdEarnings | NO | - | - | Allows negative amounts |
TotalYtdNetPay | NO | - | - | Allows negative amounts |
TotalYtdTaxes | NO | - | - | Allows negative amounts |
PayCompanyId | NO | 5 | 5 |
If provided, must be a valid Company Identifier Type: - Company Code - CompanyId - FederalId - ImportCode |
PayDate | YES | 19 | 23 |
formatting must conform to ISO8601 example: 2014-04-01T11:21:20.069673-04:00 |
PayGroupCode | NO | 1 | 6 | |
PayrollCountryCode | YES | 3 | 3 | Must be a valid ISO Country Code |
PeriodControl | NO | 9 | 9 | |
PeriodEndDate | NO | 19 | 23 |
formatting must conform to ISO8601 example: 2014-04-01T11:21:20.069673-04:00 |
PeriodStartDate | NO | 19 | 23 |
formatting must conform to ISO8601 example: 2014-04-01T11:21:20.069673-04:00 |
PostalCode | NO | 1 | 50 | |
SourceSystem | NO | - | 10 | Defaults to an empty string |
SystemId | NO | 1 | 36 | can be used to store the unique Id of system that data originated from |
External Pay Earnings | ||||
EarningCode | NO | 1 | 25 | If only provide earning code, code displays on Third-Party Pay page |
EarningDescription | NO | 1 | 50 |
|
EarningHours | NO | - | - | |
ExcludeInTotalHours | NO | 1 | 1 | Y or N value not case sensitive |
ThirdPartyPayId | YES | N/A | N/A |
|
JobCode | NO | 1 | 100 | |
LocationDescription | NO | 1 | 25 | |
OrgLevel1 | NO | 1 | 50 | |
OrgLevel2 | NO | 1 | 50 | |
OrgLevel3 | NO | 1 | 50 | |
OrgLevel4 | NO | 1 | 50 | |
EarningCurrentAmount | NO | - | - | Allows negative amounts |
EarningPayRate | NO | - | - | |
YtdEarningAmount | NO | - | - | Allows negative amounts |
PieceCount | NO | - | - | |
PieceUnit | NO | 1 | 10 | |
Id | YES | N/A | N/A |
|
SystemId | NO | 1 | 36 | can be used to store the unique Id of system that data originated from |
YtdEarningHours | NO | - | - | |
External Pay Deductions | ||||
DeductionCode | NO | 1 | 25 | If only provide deduction code, code displays on Third-Party Pay page |
DeductionDescription | NO | 1 | 50 |
|
ThirdPartyPayId | YES | N/A | N/A |
|
EmployeeDeductionAmount | NO | - | - | Allows negative amounts |
EmployerDeductionAmount | NO | - | - | Allows negative amounts |
YtdEmployeeDeductionAmount | NO | - | - | Allows negative amounts |
YtdEmployerDeductionAmount | NO | - | - | Allows negative amounts |
Id | YES | N/A | N/A |
|
SystemId | NO | 1 | 36 | can be used to store the unique Id of system that data originated from |
External Pay Taxes | ||||
ThirdPartyPayId | YES | N/A | N/A |
|
IsEmployerTax | NO | 1 | 1 | Y or N value not case sensitive. Defaults to N. |
CurrentTaxableWages | NO | - | - | Allows negative amounts |
CurrentTaxAmount | NO | - | - | Allows negative amounts |
YtdTaxableWages | NO | - | - | Allows negative amounts |
YtdTaxAmount | NO | - | - | Allows negative amounts |
Id | YES | N/A | N/A |
|
SystemId | NO | 1 | 36 | can be used to store the unique Id of system that data originated from |
TaxCode | NO | 1 | 25 | If only provide tax code, code displays on Third-Party Pay page |
TaxDescription | NO | 1 | 50 |
- If only provide tax description, description displays
on Third-Party Pay page.
|
TypeOfTax | NO | 1 | 10 |
- If tax description and type of tax, description displays - If provide tax code and type of tax, code displays - If provide tax code and description, description displays
|
External Pay Distribution | ||||
DirectDepositAccountNumber | NO | 1 | 22 | |
ThirdPartyPayId | YES | N/A | N/A |
|
DirectDepositAmount | NO | - | - | Allows negative amounts |
Id | YES | N/A | N/A |
|
SystemId | NO | 1 | 36 | can be used to store the unique Id of system that data originated from |
Header
To initially log in to the ThirdPartyPay service, the username and password for the UKG Pro Web Service Account can be sent for basic authorization. The format is username:password (note the colon between the credentials). The credentials in this format must then be encoded using standard base64 encoding. The initial call to the service should contain a header as follows:
Basic Auth Example
Authorization: basic dXNlcm5hbWU6cGFzc3dvcmQ=
Accept: application/json; odata=verbose
Content-Type: application/json
US-Customer-Api-Key: YOUR COMPANY’S API KEY
The return from this call will contain a US-SessionId. This token should be included in the header of subsequent calls to the service.
Example
US-SessionId: 1807a7d3-1fdd-4c14-835b-59b178a323ec
Accept: application/json
Content-Type: application/json
US-Customer-Api-Key: YOUR COMPANY’S API KEY
Third-Party Pay Service
Resource | Description |
---|---|
GET | Returns all Third-Party Pay information, including: earnings, deductions, taxes and distributions. |
Resource URL: https://servername/services/payroll/v1/thirdpartypay
Sample Return from GET:
{
"d": {
"results": [
{
"__metadata": {
"id": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')",
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')",
"type": "UltimateSoftware.Foundation.Services.PayrollApi.Models.ThirdPartyPay"
},
"Deductions": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Deductions"
}
},
"Distributions": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Distributions"
}
},
"Earnings": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Earnings"
}
},
"Taxes": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Taxes"
}
},
"Id": "A7ILCE0000K0",
"AddressLine1": "TestAddressLine1",
"AddressLine2": "TestAddressLine2",
"AddressMunicipality": "TestAddressMunicipality",
"AddressRegion": "TestAddressRegion",
"CheckAddModeCode": "A",
"CheckNumber": "12345",
"CountryCode": "USA",
"DocumentNumber": "TestDocumentNumber",
"EmployeeIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.EmployeeIdentifier"
},
"Type": "EmployeeNumber",
"Value": "123456789",
"CompanyIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.CompanyIdentifier"
},
"Type": "CompanyCode",
"Value": "C0014"
}
},
"EmployeeNumber": "TestEmployeeNumber",
"IsVoided": "N",
"NameFirst": "TestNameFirst",
"NameLast": "TestNameLast",
"CheckAmount": "100.0000",
"CurrentNetPay": "100.0000",
"CurrencyCode": "USD",
"TotalCurrentDeductions": "100.0000",
"TotalCurrentEarnings": "100.0000",
"TotalCurrentTaxes": "100.0000",
"TotalYtdDeductions": "100.0000",
"TotalYtdEarnings": "100.0000",
"TotalYtdNetPay": "100.0000",
"TotalYtdTaxes": "100.0000",
"PayCompanyIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.CompanyIdentifier"
},
"Type": "CompanyCode",
"Value": "C0014"
},
"PayDate": "2014-06-20T11:21:20.07",
"PayGroupCode": "HUBW1 ",
"PayrollCountryCode": "USA",
"PeriodControl": "999999999",
"PeriodEndDate": "2014-06-20T11:21:20.07",
"PeriodStartDate": "2014-06-20T11:21:20.07",
"PostalCode": "TestPostalCode",
"SourceSystem": "TestSource",
"SystemId": "TestSystemId",
"DateTimeChanged": "2014-07-24T13:29:05.573",
"DateTimeCreated": "2014-07-24T13:29:05.573",
"JobCode": "TestJobCode",
"LocationDescription": "TestLocationDescription",
"OrgLevel1": "TestOrgLevel1",
"OrgLevel2": "TestOrgLevel2",
"OrgLevel3": "TestOrgLevel3",
"OrgLevel4": "TestOrgLevel4"
},
{
"__metadata": {
"id": "http://servername/services/payroll/v1/thirdpartypay('A7Q48V0000K0')",
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7Q48V0000K0')",
"type": "UltimateSoftware.Foundation.Services.PayrollApi.Models.ThirdPartyPay"
},
"Deductions": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7Q48V0000K0')/Deductions"
}
},
"Distributions": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7Q48V0000K0')/Distributions"
}
},
"Earnings": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7Q48V0000K0')/Earnings"
}
},
"Taxes": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7Q48V0000K0')/Taxes"
}
},
"Id": "A7Q48V0000K0",
"AddressLine1": "TestAddressLine1",
"AddressLine2": "TestAddressLine2",
"AddressMunicipality": "TestAddressMunicipality",
"AddressRegion": "TestAddressRegion",
"CheckAddModeCode": "A",
"CheckNumber": "12345",
"CountryCode": "USA",
"DocumentNumber": "TestDocumentNumber",
"EmployeeIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.EmployeeIdentifier"
},
"Type": "EmployeeNumber",
"Value": "123456789",
"CompanyIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.CompanyIdentifier"
},
"Type": "CompanyCode",
"Value": "C0014"
}
},
"EmployeeNumber": "TestEmployeeNumber",
"IsVoided": "N",
"NameFirst": "TestNameFirst",
"NameLast": "TestNameLast",
"CheckAmount": "100.0000",
"CurrentNetPay": "100.0000",
"CurrencyCode": "USD",
"TotalCurrentDeductions": "100.0000",
"TotalCurrentEarnings": "100.0000",
"TotalCurrentTaxes": "100.0000",
"TotalYtdDeductions": "100.0000",
"TotalYtdEarnings": "100.0000",
"TotalYtdNetPay": "100.0000",
"TotalYtdTaxes": "100.0000",
"PayCompanyIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.CompanyIdentifier"
},
"Type": "CompanyCode",
"Value": "C0014"
},
"PayDate": "2014-06-20T11:21:20.07",
"PayGroupCode": "HUBW1 ",
"PayrollCountryCode": "USA",
"PeriodControl": "999999999",
"PeriodEndDate": "2014-06-20T11:21:20.07",
"PeriodStartDate": "2014-06-20T11:21:20.07",
"PostalCode": "TestPostalCode",
"SourceSystem": "TestSource",
"SystemId": "TestSystemId",
"DateTimeChanged": "2014-07-28T15:00:34.533",
"DateTimeCreated": "2014-07-28T15:00:34.533",
"JobCode": "TestJobCode",
"LocationDescription": "TestLocationDescription",
"OrgLevel1": "TestOrgLevel1",
"OrgLevel2": "TestOrgLevel2",
"OrgLevel3": "TestOrgLevel3",
"OrgLevel4": "TestOrgLevel4"
}
]
}
}
Parameters | Description |
---|---|
GET with Third-Party Pay ID - optional | Filters the return to include only the Third-Party Pay record with the id number indicated as the id parameter. |
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')
Sample Return from GET:
{
"d": {
"__metadata": {
"id": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')",
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')",
"type": "UltimateSoftware.Foundation.Services.PayrollApi.Models.ThirdPartyPay"
},
"Deductions": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Deductions"
}
},
"Distributions": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Distributions"
}
},
"Earnings": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Earnings"
}
},
"Taxes": {
"__deferred": {
"uri": "http://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Taxes"
}
},
"Id": "A7ILCE0000K0",
"AddressLine1": "TestAddressLine1",
"AddressLine2": "TestAddressLine2",
"AddressMunicipality": "TestAddressMunicipality",
"AddressRegion": "TestAddressRegion",
"CheckAddModeCode": "A",
"CheckNumber": "12345",
"CountryCode": "USA",
"DocumentNumber": "TestDocumentNumber",
"EmployeeIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.EmployeeIdentifier"
},
"Type": "EmployeeNumber",
"Value": "123456789",
"CompanyIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.CompanyIdentifier"
},
"Type": "CompanyCode",
"Value": "C0014"
}
},
"EmployeeNumber": "TestEmployeeNumber",
"IsVoided": "N",
"NameFirst": "TestNameFirst",
"NameLast": "TestNameLast",
"CheckAmount": "100.0000",
"CurrentNetPay": "100.0000",
"CurrencyCode": "USD",
"TotalCurrentDeductions": "100.0000",
"TotalCurrentEarnings": "100.0000",
"TotalCurrentTaxes": "100.0000",
"TotalYtdDeductions": "100.0000",
"TotalYtdEarnings": "100.0000",
"TotalYtdNetPay": "100.0000",
"TotalYtdTaxes": "100.0000",
"PayCompanyIdentifier": {
"__metadata": {
"type": "UltimateSoftware.Foundation.Services.ApiCore.Models.CompanyIdentifier"
},
"Type": "CompanyCode",
"Value": "C0014"
},
"PayDate": "2014-06-20T11:21:20.07",
"PayGroupCode": "HUBW1 ",
"PayrollCountryCode": "USA",
"PeriodControl": "999999999",
"PeriodEndDate": "2014-06-20T11:21:20.07",
"PeriodStartDate": "2014-06-20T11:21:20.07",
"PostalCode": "TestPostalCode",
"SourceSystem": "TestSource",
"SystemId": "TestSystemId",
"DateTimeChanged": "2014-07-24T13:29:05.573",
"DateTimeCreated": "2014-07-24T13:29:05.573",
"JobCode": "TestJobCode",
"LocationDescription": "TestLocationDescription",
"OrgLevel1": "TestOrgLevel1",
"OrgLevel2": "TestOrgLevel2",
"OrgLevel3": "TestOrgLevel3",
"OrgLevel4": "TestOrgLevel4"
}
}
Parameters | Description |
---|---|
GET specific child type - optional | Filters the return to include all child records for the indicated type (Earnings, Deductions, Taxes or Distributions) |
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Deductions
Sample Return from GET:
{
"d": {
"results": [
{
"__metadata": {
"id": "http://servername/services/payroll/v1/thirdpartypay(‘A7ILCE0000K0’)/Deductions(1)",
"uri": "http://servername/services/payroll/v1/thirdpartypay(‘A7ILCE0000K0’)/Deductions(1)",
"type": "UltimateSoftware.Foundation.Services.PayrollApi.Models.Deduction"
},
"Id": 1,
"ThirdPartyPayId": "A7ILCE0000K0",
"DeductionCode": "TestDeductionCode",
"DeductionDescription": "TestDeductionDescription",
"EmployeeDeductionAmount": "100.0000",
"EmployerDeductionAmount": "100.0000",
"YtdEmployeeDeductionAmount": "100.0000",
"YtdEmployerDeductionAmount": "100.0000",
"SystemId": "TestSystemId"
},
{
"__metadata": {
"id": "http://servername/services/payroll/v1/thirdpartypay(‘A7ILCE0000K0’)/Deductions(2)",
"uri": "http://servername/services/payroll/v1/thirdpartypay(‘A7ILCE0000K0’)/Deductions(2)",
"type": "UltimateSoftware.Foundation.Services.PayrollApi.Models.Deduction"
},
"Id": 2,
"ThirdPartyPayId": "A7ILCE0000K0",
"DeductionCode": "2TestDeductionCode",
"DeductionDescription": "2TestDeductionDescription",
"EmployeeDeductionAmount": "225.0000",
"EmployerDeductionAmount": "150.0000",
"YtdEmployeeDeductionAmount": "225.0000",
"YtdEmployerDeductionAmount": "150.0000",
"SystemId": null
}
]
}
}
Parameters | Description |
---|---|
GET with child ID - optional | Filters the return to include only the child record (Earnings, Deductions, Taxes or Distributions) with the id number indicated as the id parameter. |
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Deductions(1)
Sample Return from GET:
{
"d": {
"__metadata": {
"id": "http://servername/services/payroll/v1/thirdpartypay(‘A7ILCE0000K0’)/Deductions(1)",
"uri": "http://servername/services/payroll/v1/thirdpartypay(‘A7ILCE0000K0’)/Deductions(1)",
"type": "UltimateSoftware.Foundation.Services.PayrollApi.Models.Deduction"
},
"Id": 1,
"ThirdPartyPayId": "A7ILCE0000K0",
"DeductionCode": "TestDeductionCode",
"DeductionDescription": "TestDeductionDescription",
"EmployeeDeductionAmount": "100.0000",
"EmployerDeductionAmount": "100.0000",
"YtdEmployeeDeductionAmount": "100.0000",
"YtdEmployerDeductionAmount": "100.0000",
"SystemId": "TestSystemId"
}
}
Resource | Description |
---|---|
POST | Inserts a Third-Party Pay record |
Resource URL: https://servername/services/payroll/v1/thirdpartypay
Sample POST:
{
"AddressLine1": "TestAddressLine1",
"AddressLine2": "TestAddressLine2",
"AddressMunicipality": "TestAddressMunicipality",
"AddressRegion": "TestAddressRegion",
"CheckAddModeCode": "A",
"CheckNumber": "12345",
"CountryCode": "USA",
"DocumentNumber": "TestDocumentNumber",
"EmployeeIdentifier": {
"Type": "EmployeeId",
"Value": "9MT3O30000K0",
"CompanyIdentifier": {
"Type": "CompanyCode",
"Value": "SGWSF"
}
},
"EmployeeNumber": "257082178",
"IsVoided": "N",
"CurrencyCode": "USD",
"CheckAmount": "545.27",
"CurrentNetPay": "502.43",
"TotalCurrentDeductions": "100.0",
"TotalCurrentEarnings": "100.0",
"TotalCurrentTaxes": "100.0",
"TotalYtdDeductions": "100.0",
"TotalYtdEarnings": "100.0",
"TotalYtdNetPay": "100.0",
"TotalYtdTaxes": "100.0",
"PayCompanyIdentifier": {
"Type": "CompanyCode",
"Value": "SGWSF"
},
"PayDate": "2014-05-15T11:21:20.0686729-04:00",
"PayGroupCode": "SGPWSF",
"PayrollCountryCode": "SGP",
"PeriodControl": "999999999",
"PeriodEndDate": "2013-01-31T11:21:20.069673-04:00",
"PeriodStartDate": "2013-01-01T11:21:20.069673-04:00",
"PostalCode": "TestPostalCode",
"SourceSystem": "Celergo",
"SystemId": "TestSystemId",
"JobCode": "TestJobCode",
"LocationDescription": "TestLocationDescription",
"OrgLevel1": "TestOrgLevel1",
"OrgLevel2": "TestOrgLevel2",
"OrgLevel3": "TestOrgLevel3",
"OrgLevel4": "TestOrgLevel4",
"Deductions": [
{
"DeductionCode": "TestDeductionCode",
"DeductionDescription": "TestDeductionDescription",
"EmployeeDeductionAmount": "100.0",
"EmployerDeductionAmount": "100.0",
"YtdEmployeeDeductionAmount": "100.0",
"YtdEmployerDeductionAmount": "100.0",
"SystemId": "TestSystemId"
}
],
"Distributions": [
{
"DirectDepositAccountNumber": "TestAccountNumber",
"DirectDepositAmount": "100",
"SystemId": "TestSystemId"
}
],
"Earnings": [
{
"EarningCode": "TestEarningCode",
"EarningDescription": "TestEarningDescription",
"EarningHours": "40",
"ExcludeInTotalHours": "Y",
"JobCode": "TestJobCode",
"LocationDescription": "TestLocationDescription",
"OrgLevel1": "TestOrgLevel1",
"OrgLevel2": "TestOrgLevel2",
"OrgLevel3": "TestOrgLevel3",
"OrgLevel4": "TestOrgLevel4",
"EarningCurrentAmount": "40",
"EarningPayRate": "40",
"YtdEarningAmount": "40",
"PieceCount": "1.0",
"PieceUnit": "TestPUnit",
"SystemId": "TestSystemId",
"YtdEarningHours": "100.0"
}
],
"Taxes": [
{
"IsEmployerTax": "Y",
"CurrentTaxableWages": "100.0",
"CurrentTaxAmount": "100.0",
"YtdTaxableWages": "100.0",
"YtdTaxAmount": "100.0",
"SystemId": "TestSystemId",
"TaxCode": "TestTaxCode",
"TaxDescription": "TestTaxDescription",
"TypeOfTax": "TestTaxTp"
}
]
}
Resource | Description |
---|---|
POST child only | Inserts the child record specified (Earnings, Deductions, Taxes or Distributions) and associates it to the Third-Party Pay record specified |
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Deductions
Sample POST:
{
"DeductionCode": "3TestDeductionCode",
"DeductionDescription": "3TestDeductionDescription",
"EmployeeDeductionAmount": "333.0",
"EmployerDeductionAmount": "350.0",
"YtdEmployeeDeductionAmount": "333.0",
"YtdEmployerDeductionAmount": "350.0",
"SystemId": null
}
Parameters | Description |
---|---|
PUT with Third-Party Pay ONLY | Updates the third-party pay record specified. |
NOTE: Cannot perform a PUT for a parent and a child within the same request.
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')
Sample PUT:
{
"AddressLine1": "TestAddressLine1",
"AddressLine2": "TestAddressLine2",
"AddressMunicipality": "TestAddressMunicipality",
"AddressRegion": "TestAddressRegion",
"CheckAddModeCode": "A",
"CheckNumber": "12345",
"CountryCode": "USA",
"DocumentNumber": "TestDocumentNumber",
"EmployeeIdentifier": {
"Type": "EmployeeId",
"Value": "9MT3O30000K0",
"CompanyIdentifier": {
"Type": "CompanyCode",
"Value": "SGWSF"
}
},
"EmployeeNumber": "257082178",
"IsVoided": "N",
"CurrencyCode": "USD",
"CheckAmount": "545.27",
"CurrentNetPay": "502.43",
"TotalCurrentDeductions": "100.0",
"TotalCurrentEarnings": "100.0",
"TotalCurrentTaxes": "100.0",
"TotalYtdDeductions": "100.0",
"TotalYtdEarnings": "100.0",
"TotalYtdNetPay": "100.0",
"TotalYtdTaxes": "100.0",
"PayCompanyIdentifier": {
"Type": "CompanyCode",
"Value": "SGWSF"
},
"PayDate": "2014-05-15T11:21:20.0686729-04:00",
"PayGroupCode": "SGPWSF",
"PayrollCountryCode": "SGP",
"PeriodControl": "999999999",
"PeriodEndDate": "2013-01-31T11:21:20.069673-04:00",
"PeriodStartDate": "2013-01-01T11:21:20.069673-04:00",
"PostalCode": "TestPostalCode",
"SourceSystem": "Celergo",
"SystemId": "TestSystemId",
"JobCode": "TestJobCode",
"LocationDescription": "TestLocationDescription",
"OrgLevel1": "TestOrgLevel1",
"OrgLevel2": "TestOrgLevel2",
"OrgLevel3": "TestOrgLevel3",
"OrgLevel4": "TestOrgLevel4"
}
Parameters | Description |
---|---|
PUT with Third-Party Pay and Child ID | Updates the child record specified (Earnings, Deductions, Taxes or Distributions) |
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Deductions(1)
Sample PUT:
{
"DeductionCode": "UpdateDeductionCode",
"DeductionDescription": "TestDeductionDescription",
"EmployeeDeductionAmount": "200.0000",
"EmployerDeductionAmount": "100.0000",
"YtdEmployeeDeductionAmount": "200.0000",
"YtdEmployerDeductionAmount": "100.0000",
"SystemId": "TestSystemId"
}
Parameters | Description |
---|---|
DELETE with Third-Party Pay ID | Deletes the third-party pay record |
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')
Parameters | Description |
---|---|
DELETE with Third-Party Pay and Child ID | Deletes the child record for the specified third-party pay record |
Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')/Deductions(1)
Possible Return Values
Return Code | Meaning |
---|---|
200 OK | The request has succeeded (for instance on a GET). |
201 Created | The POST was successful and a new record was created. |
204 No Content | The PUT was successful and the record was updated. * |
400 Bad Request | The request was malformed, unable to be understood or contained validation errors. ** |
401 Unauthorized | The credentials provided were not able to be authenticated. |
403 Forbidden | Access to the requested resource is denied. |
404 Not Found | The requested URI cannot be found. |
500 Internal Server Error | The server encountered an unexpected condition which prevented it from fulfilling the request. |
501 Not Implemented | The request is not supported. |
* 204 No Content (return-no-content) is the default behavior. This can be changed to return the content of the successful PUT by altering the header (return-content). The syntax for the Prefer header is as follows:
Prefer = "Prefer" ":" preference
preference = "return-no-content" | "return-content" | preference-extension
preference-extension = prefer-params *( ";" prefer-params ])prefer-params = token [ "=" ( token | quoted-string )
** 400 Bad Request validation error details will be contained in the content of the response.
Updated over 1 year ago