Payroll and Transactional Queue Automation
The Shared Services division of a large manufacturing company is responsible for overseeing the payout of wages and salaries to their employees across a number of different plants and locations both inside and outside of the United States. The Shared Services department currently uses the web-service UltiPro to process and generate the payrolls for their different locations and pay groups. The current process involves uploading time files generated from the Kronos time-keeping software and generating payroll reports based on set templates that are dictated by the company. This process tends to be lengthy and highly repetitive as it consumes a majority of each pay-date to enter data and wait for reports to generate across the various pay groups.
To address this problem, the Accelirate team developed two automations: a Payroll Automation and a Transactional Queue automation that starts jobs in the automation orchestrator using a system that is activated by emails containing bot commands.
BOT 1: TRANSACTIONAL QUEUE BOT
- Bot Searches for Emails: The bot is run on a schedule which checks for emails sent to a specific payroll bot email address.
- Bot Reads Emails: Any new email found is read and its contents are added to a jobs queue that is later checked by Bot 2 to begin payroll jobs.
- Bot Starts Payroll: With the job queue filled, the bot begins a new Payroll Process and sends the data to the payroll job queue, where the invoked Payroll Bot reads its information.
BOT 2: PAYROLL BOT
- Bot Receives Command Signal: After a start command is received from Bot 1, the Payroll Bot checks the progress of the pay group’s payroll against the command. (Note: that if a “start” command is given for a pay group while another is already in progress the bot will not start over, the only command acceptable at this time is a “continue” or “recalculate” command).
- Payroll Begins: The bot clicks the appropriate items in UltiPro and uploads the gathered time input files from Kronos that were submitted via the shared services team.
- Checks for Exceptions: Bot checks for exceptions found in UltiPro and sends them to the business for further handling.
- Bot Generates Timeclock Files: Time clock files with employee hours, earnings, and deductions are created and validated based on the generated data.
- Bot Creates Payroll Report: Bot uses UltiPro’s native generator and the internal Business Intelligence gateway to generate a payroll report for each pay group.
- Bot Initiates Finish Procedure: Bot begins to finalize the payroll report for the specified pay group and waits until the final report generation is finished (which can take up to two hours or longer) until marking the item complete. While waiting, the bot performs other payroll jobs by repeating steps 1-5 for the other specified pay groups, that way there is not a long hold in the process while the report is generating. It will check in periodically after a certain amount of time passes to see if the status reads “complete” for the final report before continuing with the original pay group.
- Bot Sends Pay Group Reports: After the pay group report is “complete” in the previous step and the finish command is received by Bot 1, the report is added to an email and sent to the pay group’s payroll handlers. The bot will then go back to working on the next pay group it started while it was waiting for the previous report to generate and was originally postponed until the last group was “complete”.
- Bot Repeats Process: The Bot runs through the entire process from start to finish for each pay group in the queue until the queue that was set up by Bot 1 is empty
This automation was a creative solution designed to not only automate the payroll process but also automate the initialization and queue set up of the payroll process. This Automation also prevents the disruption of the payroll process by eliminating duplicate payroll processing and ensuring that each pay group is processed entirely before another is started.