Third Party Pay Service

UKG Pro Web Services API Guide

Third-Party Pay Service API

Introduction

With UKG’s UKG Pro Web Services, you can leverage your UKG Pro data for solving business application and integration needs.

This document is intended for individuals who are familiar with software development and web service technologies.

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 a UKG Pro Service Account, refer to the Manage Service Accounts guide located in the UKG Pro Learning Center (Home > Content > System Management > Web Services).

Third-Party Pay Data

The following information describes the service data.

Table 1. External Pay Header

PropertyRequiredMin LengthMax LengthNotes
AddressLine1NO1255
AddressLine2NO1255
AddressMunicipalityNO1255
AddressRegionNO1255
CheckAddModeCodeNO11
CheckNumberNO--
CompanyIdentifierType & ValueNO55If provided, must be a valid Company Identifier Type: Company Code, CompanyId, FederalId, ImportCode
CountryCodeNO33Must be a valid ISO Country Code
DateTimeChangedNON/AN/ARead Only
DateTimeCreatedNON/AN/ARead Only
DocumentNumberNO125
EmployeeIdentifierType & ValueYES112Must be a valid Employee Identifier Type: EmployeeId, EmployeeNumber, Ssn, EmailAddress, Sin, NationalId, PersonId
EmployeeNumberNO125
IdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response
PUT: Client provides Id for resource updating (within URL), exposed on response
DELETE: Client provides Id for resource updating (within URL)
IsVoidedNO11Y or N value not case sensitive. Defaults to N.
JobCodeNO1100
LocationDescriptionNO125
NameFirstNO1100
NameLastNO1100
OrgLevel1NO150
OrgLevel2NO150
OrgLevel3NO150
OrgLevel4NO150
CheckAmountNO--Allows negative amounts
CurrentNetPayNO--Allows negative amounts
CurrencyCodeYES33Must be a valid 3 character currency code
TotalCurrentDeductionsNO--Allows negative amounts
TotalCurrentEarningsNO--Allows negative amounts
TotalCurrentTaxesNO--Allows negative amounts
TotalYtdDeductionsNO--Allows negative amounts
TotalYtdEarningsNO--Allows negative amounts
TotalYtdNetPayNO--Allows negative amounts
TotalYtdTaxesNO--Allows negative amounts
PayCompanyIdNO55If provided, must be a valid Company Identifier Type: Company Code, CompanyId, FederalId, ImportCode
PayDateYES1923Formatting must conform to ISO8601. Example: 2014-04-01T11:21:20.069673-04:00
PayGroupCodeNO16
PayrollCountryCodeYES33Must be a valid ISO Country Code
PeriodControlNO99
PeriodEndDateNO1923Formatting must conform to ISO8601. Example: 2014-04-01T11:21:20.069673-04:00
PeriodStartDateNO1923Formatting must conform to ISO8601. Example: 2014-04-01T11:21:20.069673-04:00
PostalCodeNO150
SourceSystemNO-10Defaults to an empty string
SystemIdNO136Can be used to store the unique Id of system that data originated from

Table 2. External Pay Earnings

PropertyRequiredMin LengthMax LengthNotes
EarningCodeNO125If only earning code is provided, code displays on Third-Party Pay page
EarningDescriptionNO150If only earning description is provided, description displays on Third-Party Pay page. If earning code and description are provided, description displays. If neither earning code nor description is provided, will display blank
EarningHoursNO--
ExcludeInTotalHoursNO11Y or N value not case sensitive
ThirdPartyPayIdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response. When POSTing only child entity, must provide in URL
PUT: Client provides ThirdPartyPayId for resource updating (within URL), exposed on response
DELETE: Client provides ThirdPartyPayId for resource updating (within URL)
JobCodeNO1100
LocationDescriptionNO125
OrgLevel1NO150
OrgLevel2NO150
OrgLevel3NO150
OrgLevel4NO150
EarningCurrentAmountNO--Allows negative amounts
EarningPayRateNO--
YtdEarningAmountNO--Allows negative amounts
PieceCountNO--
PieceUnitNO110
IdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response
PUT: Client provides ID for resource updating (within URL), exposed on response
DELETE: Client provides ID for resource updating (within URL)
SystemIdNO136Can be used to store the unique Id of system that data originated from
YtdEarningHoursNO--

Table 3. External Pay Deductions

PropertyRequiredMin LengthMax LengthNotes
DeductionCodeNO125If only deduction code is provided, code displays on Third-Party Pay page
DeductionDescriptionNO150If only deduction description is provided, description displays on Third-Party Pay page. If deduction code and description are provided, description displays. If neither deduction code nor description is provided, will display blank
ThirdPartyPayIdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response. When POSTing only child entity, must provide in URL
PUT: Client provides ThirdPartyPayId for resource updating (within URL), exposed on response
DELETE: Client provides ThirdPartyPayId for resource updating (within URL)
EmployeeDeductionAmountNO--Allows negative amounts
EmployerDeductionAmountNO--Allows negative amounts

|
YtdEmployeeDeductionAmount | NO | - | - | Allows negative amounts |
| YtdEmployerDeductionAmount | NO | - | - | Allows negative amounts |
| Id | YES | N/A | N/A | GET: Exposed
POST: Auto generated by the service, but exposed on response
PUT: Client provides Id for resource updating (within URL), exposed on response
DELETE: Client provides Id for resource updating (within URL) |
| SystemId | NO | 1 | 36 | Can be used to store the unique Id of system that data originated from |

Table 4. External Pay Taxes

PropertyRequiredMin LengthMax LengthNotes
ThirdPartyPayIdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response. When POSTing only child entity, must provide in URL
PUT: Client provides ThirdPartyPayId for resource updating (within URL), exposed on response
DELETE: Client provides ThirdPartyPayId for resource updating (within URL)
IsEmployerTaxNO11Y or N value not case sensitive. Defaults to N.
CurrentTaxableWagesNO--Allows negative amounts
CurrentTaxAmountNO--Allows negative amounts
YtdTaxableWagesNO--Allows negative amounts
YtdTaxAmountNO--Allows negative amounts
IdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response
PUT: Client provides Id for resource updating (within URL), exposed on response also
DELETE: Client provides Id for resource updating (within URL)
SystemIdNO136Can be used to store the unique Id of system that data originated from
TaxCodeNO125If only tax code is provided, code displays on Third-Party Pay page
TaxDescriptionNO150If only tax description is provided, description displays on Third-Party Pay page.
TypeOfTaxNO110If only type of tax is provided, type of tax displays on Third-Party Pay page
If tax description, code, and type of tax are provided, description displays
If tax description and type of tax are provided, description displays
If tax code and type of tax are provided, code displays
If tax code and description are provided, description displays
If neither tax description, code, or type of tax are provided, will display blank

Table 5. External Pay Distribution

PropertyRequiredMin LengthMax LengthNotes
DirectDepositAccountNumberNO122
ThirdPartyPayIdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response. When POSTing only child entity, must provide in URL
PUT: Client provides ThirdPartyPayId for resource updating (within URL), exposed on response
DELETE: Client provides ThirdPartyPayId for resource updating (within URL)
DirectDepositAmountNO--Allows negative amounts
IdYESN/AN/AGET: Exposed
POST: Auto generated by the service, but exposed on response
PUT: Client provides Id for resource updating (within URL), exposed on response
DELETE: Client provides Id for resource updating (within URL)
SystemIdNO136Can 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

Resources and Parameters

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"
            }
        ]
    }
}

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"
    }
}

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
            }
        ]
    }
}

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"
    }
}

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"
        }
    ]
}

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
}

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"
}

PUT with Third-Party Pay Only

Updates the third-party pay record specified.

Note: You 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"
}

DELETE with Third-Party Pay ID

Deletes the third-party pay record.

Resource URL: https://servername/services/payroll/v1/thirdpartypay('A7ILCE0000K0')

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

The following return values are possible.

Return CodeMeaning
200 OKThe request has succeeded (for instance on a GET).
201 CreatedThe POST was successful and a new record was created.
204 No ContentThe PUT was successful and the record was updated.
400 Bad RequestThe request was malformed, unable to be understood, or contained validation errors. **
401 UnauthorizedThe credentials provided were not able to be authenticated.
403 ForbiddenAccess to the requested resource is denied.
404 Not FoundThe requested URI cannot be found.
500 Internal Server ErrorThe server encountered an unexpected condition which prevented it from fulfilling the request.
501 Not ImplementedThe request is not supported.

Notes:

  • 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.