Payroll Implementation Case Study
About The Client
Our client is one of the biggest giants in the Telecom industry and spans across 60+ countries employing 3,000 employees. Implementing payroll for such a client was an honor as well as a big challenge for the team.
The client had two work bases, one which was American and was called the domestic market and the other which was called the International market. The client was ready to implement In House payroll in Oracle for the domestic market but for the international base they wanted to go with their previous payroll vendors which were a different per country. We were implementing the international base for the client.
As the international base consisted of 60 countries and there were different payroll vendors per country, there was a need of using different technology for each integration we had from Oracle to that country-specific payroll vendor so that they can process the data that we send and pay the employees the correct amount which they were entitled to. Each of these vendors used a different file format that had a different layout and supported different modes of communication to send them the data.
Another major challenge was though many of the payroll vendors were capable of doing in house calculations there were some which were not able to do the calculations like annual to the monthly amount for various elements in their premise and therefore we had to send them the processed value that is the calculated monthly value from the annual value which we achieved by building either fast formulas on extract level or by running calculate gross earnings and triggering element level fast formulas.
Cross module data had to be sent to the payroll vendor which comprised the data from HR like promotions, demotions, terminations, data about absences, overtime data from the time, and labor and payroll.
Reconciliation was also another major problem that we knew we were going to face.
Looking at the requirement we ended up in finalizing the approach of creating specific extracts per country which followed the same layout which that country’s payroll vendor was able to digest and make the appropriate payments. All the extracts were changes only so that only the changed data for a payroll period was sent to the payroll vendor. The files which were sent again followed the specific document type of the payroll vendor and therefore were in XML, CSV, or Excel format.
Some of the renowned payroll vendors were TMF, ADP Streamline, Bottino, Ascent, etc.
Specialized integrations were created between the Oracle system and the payroll vendor system through email bursting or using FTP.
The data breach could also be a problem in such integrations where an intruder might eavesdrop on the network and can gain access to the confidential data. In order to prevent such sort of attack, we used end to end PGP encryption using our private key and the vendor’s public key.
For parallel runs and reconciliation we planned to generate extract files from the legacy system as well as the extract from the Oracle’s system and compare them by processing one (legacy extract) through the production environment of the payroll vendor and the other that is the Oracle extract on the test environment of the payroll vendor and then compare the differences.
We did this for 3 consecutive months for 3 payroll parallel runs.
We designed the data roles in such a way that the payroll manager of each country was only able to see the data of that particular country and not other countries so that the reports ran by each payroll manager showed them the data for their particular country for which they were responsible for.
By using our approach we were able to completely abolish the excel-based system which was used by the client at some places.
Just by running some mere processes, the payroll manager was able to send the data for all the employees to the payroll vendor. We were able to mitigate any security breach which could have happened previously and also establish seamless integration between the Oracle system as well as the payroll vendor’s server which was previously not present. Also, the data visibility was restricted by using country-specific payroll manager roles so that the payroll manager of a particular country would only see data for employees who work in their country and not all the other employees from other various countries