Overview

Alight offers pre-packaged configuration-only integrations with Oracle HCM, Workday, SAP SuccessFactors, and SAP HCM. This integration allows replication of employee master data to Alight's Global Payroll.  

If a different system is used to store employee master data, then the HRIS Exchange API enables a client to build an integration of master data to the Alight Payroll Exchange using a modern REST API with OAuth 2.0 security.  

We follow HR Open standards, using this approach, any existing HR or CRM system can provide Alight Payroll with demographic data for all life cycle events.

Additionally, an implementation guide which further explains the data model is available upon request. To obtain it, please email integrationcenter@alight.com and use HRIS Integration Implementation Guide as the subject. Kindly provide your company name and your role.

The HRIS Exchange API integration offers your organization the ability to:

  • Leverage models built using HR Open industry standards, with relevant fields and structure for the data interface.

  • Add life cycle events triggered by demographic changes and other master data that includes address changes, bank accounts, salary, earnings, and deductions.

  • Validate the accuracy of key fields like pay element and cost center codes, bank account numbers and address formats are verified against strict payroll controls.

  • Use sample input for 30 of the most common transactions and API endpoints along with the ability to validate them during development.

Technical Tutorial

Connect any HRIS with Alight by leveraging our sets of APIs through the following steps

  1. Perform OAuth 2.0 Authentication.

    Returns a Bearer-Token that needs to be passed on with every subsequent request upon successful authentication.  

  2. Perform a REST POST call to {{baseUrl}}/bod/submit per employee by passing on the Base64 encoded XML payload in HR-XML format 

    Returns a unique message ID called BODID, which is an acknowledgement of the request. There is a single endpoint for all Alight Input.  

  3. Check the status periodically using {{baseUrl}}/bods/:bodId/gccs/:gcc/payroll-status 

    Returns the processing result of a successfully processed record or a failure with an error message if input was rejected by the payroll engine.  

Picture

The payload in step 2 should adhere to the HR-XML structure as explained in the implementation guide.  

The data to be sent should only contain changes compared to the previous feed and must carry an action code to indicate how to process the data: insert, change, or delete. 

The XML structure varies per input type (e.g. hire, termination, change of address, insert of pay element)  

For each scenario reference, HR-XML data is provided for a visual check prior to sending. 

The APIs provided have mock responses available for testing client development against it. This performs XSD validations and checks on provided dates and/or client identifiers.  

Error Handling 

The following errors can be expected if the BOD fails primary validations on matching the XML input against the XSD schema or fails on logical checks.

  • Error message: BOD contains invalid LCC 

    Solution: Invalid GCC or wrong LCC. Ensure it matches the pre-agreed list. 

  • Error message: Validation of the data against the data model has failed. Please review the error: 'XXXXX' is not a valid value of union type 'FormattedDateTimeType' 

    Solution: The provided field (e.g. date) is not matching the XSD. Consult the XSD and correct the formatting of the source data 

For errors on data (e.g. unknown person or salary out of range) this is seen as a logical data error and not a technical one. The logical data errors can be seen in Alight Payroll Exchange.  

Limitations 

The following limitations applies:

The sender must send the employee input using one call per employee in a serialized order. No parallel processing is allowed to prevent out of sequence processing. 

The sender must be able to resend failed calls in the original order.