Oracle HCM Cloud – Payroll Sync with the Oracle Integration Cloud

fusion home

The most common use case I come across with Oracle HCM Cloud is Payroll Integration. Most organizations use 3rd party Payroll providers. Many of those have multiple payroll providers if they operate in multiple countries. This means that there are several different requirements for each of those providers.

With the Oracle Integration Cloud, we can provide and automated framework to manage the Integration with all Payroll providers and with ERP also (the bigger end to end process also touches ERP)

This post will show a sample implementation of this.

Create HCM Extract

First things first – We need to define an HCM Extract. This is the extract that contains all the required data to be sent to the Payroll providers. This is definitely not the job of the integration developer/architect, but we need to have this in place.

There are some options on how to do this:

1: One extract for all payrolls – OIC will do the proper mapping for each payroll.

2: Multiple extracts, one for each payroll – OIC will do minimum mapping.

That is a design decision for the HCM folks 🙂

Be aware that in Oracle HCM not all roles have the above options – so double check that if the Data Exchange is not visible.

Select Extract Definitions and create a new one. Or Import from an existing template.

Its fundamental to add a delivery option for WebCenter.

This is how we make sure OIC can get the file.

Make note of the Integration Name as this will be required later.

Note: I am skipping the Design part which is where we define the attributes to be extracted. I used an xml schema, but this should be provided by the HCM team.

Once you submit the extract, it should appear in the Webcenter portal: https://<hcminstanceurl>/cs

Integration

Now to the core of this exercise. Let’s create a Scheduled Integration, where we drag the Oracle HCM Adapter, and select the option Receive Files from HCM Cloud.

This step is critical – we need to populate this field with the exact name we provided in the Webcenter Delivery Option for the attribute Integration Name.

The next step is to Read File in Segments – This needs to be done for files bigger than 10MB.

We can do this with the Stage Activity – Read File in Segments and simply point to the HCM Response file reference.

Then we iterate over the extract results using a For-Each, and point to the repetitive element which is Employee.

The idea is to write the employee data into a Payroll structure. For that we use another Stage Activity, this time with Operation Write File.

We provide OIC with the schema that defines the desired format.

This is a simple schema and does not reflect a real live payroll structure.

For every employee with Map it to the Payroll file structure

Save to FTP

Finally we save all of that into an FTP file.

That can be accomplished with the Stage ActivityOperation -> Zip Files.

Complete Integration

At the end this is the Integration – it follows a happy day scenario which is the only one I will test 🙂 Obviously, in a real implementation one would need to create error handling strategies.

Conclusion

Once this is executed we can refer to the monitoring page to see the details of execution including payloads and iterations. The end state of this is an FTP file ready to be send/picked to the Payroll providers. Typically this is the use case, but if those providers have API’s or their own FTP server then we can still make an extra step in the process.