UKG Integration / Interface Discussion

We are looking at 2 different UKG processes. 1) pull employee data from UKG - load employee data now (mainly done) and possible security updates (for some groups) and sending out emails/ work tickets to other groups (IT for new/fired employee info). Number 2 is just pushing the Daily Clock in/Clock out for payroll. Our staff wants todo all the work order/job stuff within Epicor. This way managers/supervisors don’t have too many records to look at and if a job is wrong, they only change it in one place.
If we want I am fine with moving this to another thread.

1 Like

@PaulP We were thinking of making UKG the system of record for employees, salesreps, etc. and using webhooks in the HR Actions process to drive creation & modification of records inside Kinetic. Plus it could send emails to IT/etc. about changes, requirements for hardware/software, training to be scheduled, etc.

And then we’d push time (in that summarized form) from Kinetic using the BAQSVC api call to run my query and send the result set to UKG.

What I’ve realized is that UKG has been promising Webhooks for 2+ years and not delivering. The tech support guys I spoke with regarding interfaces, said we should use these two API calls to get the equivalent of the Webhook.

  • v1/report/global/{report_id} endpoint (Where report ID is the " Master Data Changes" report)
  • v2/companies/{cid}/employees/changed
2 Likes

looking at the UKG documentation, we can see they have been spending all their time working internally and not sharing links to processes for external things to connect.
As an example, we have a good process to bring in employee transactions done on UKG to Epicor (still need to clean up some of the data). The issue with Time punch transactions is that I am not finding a good data layout to use and issues setting up the Epicor automation studio function linked to a BPM within Epicor.

1 Like

Can you elaborate? I’m curious how you are doing this.

We are using the “Time Entries” import format, in summary/hours only form, but I’ve made the detail punches version of it work as well. I wrote my query to output in this format. I’m happy to share!

Here is what we are currently doing, this is based on work with UKG Consultant for Payroll - I would need to find the notes from when this was done for all the details.

We wrote a Crystal Report to round time to a quarter hour value, which hours are calculated based on clock in and out times - we do not use the E9 Payroll module. We have unique LaborHed entries for each employee if they are not working all day, for example, if a production employee 123 works 6 hours of their shift on Monday, but takes 2.5 hours of PTO and 1.5 hours of unpaid Time Off (our production works 4x 10hour days), we will have three lines for EmpID 123 with 6, 2.5 and 1.5 hour values. If an employee works their full shift, they have one LaborHed time entry record but could have one or multiple LaborDtl time entries for Production and/or Indirect time. With UKG, we are only importing their LaborHed data which will always equal their shift total time value for regular days. Our main rule, all employees need to have 40 hours (minimum) entered each week in Epicor, an audit report will alert managers and accounting if someone does not have the minimum.

Someone in accounting runs the report once a week (after running other time entry audit reports), then they export the report to a CSV file and perform an import into UKG. All of the heavy lifting is done in the Crystal Report, lot’s of formula’s and running totals.

Each data row in the CSV consists of the following:
EmpID, PayDate, Total Hours, Time Off, Cost Center, Note

EmpID, PayDate and Total hours always have values on every row, the remainder of columns are case by case, based on the time entries for the employee - some common cases:

Time Off column is a field that lists Holiday, PTO, Unpaid Time Off, Bereavement, Jury Duty, etc.

Cost Center column is a field defined by UKG, it’s used when individuals are paid overtime or double time in certain cases.

The Note column is a Character02 field from LaborHed table, we use that to define reasons for Time Off conditions - for example, if someone calls in late or fails to show up and if they are paid or not paid.

Let me know if you need more details or any questions around our process.

2 Likes