ml-connector
Infor CloudSuiteUKG

Infor CloudSuite and UKG integration

Infor CloudSuite runs procurement, supply chain, and finance across the ERP. UKG runs payroll, time and attendance, and HR. Connecting the two keeps your labor costs and your general ledger in agreement. After each payroll run, UKG generates labor cost journals that need to post into Infor CloudSuite's GL without re-keying, and employee cost center allocations stay aligned across both systems. ml-connector handles the OAuth and SOAP/REST complexity on each side and moves the data on your payroll calendar.

How Infor CloudSuite works

Infor CloudSuite (M3, SyteLine, LN, FSM product lines) exposes suppliers, purchase orders, invoices, GL accounts, cost centers, items, and payment data through the ION API Gateway. Transport is primarily REST with OAuth 2.0 Resource Owner Password Credentials Grant, or SOAP/IDO for legacy SyteLine systems. The base URL and OAuth endpoints are per-customer and regional, extracted from the .ionapi credentials file. ION Desk document flows support push via BOD subscription, but most integrations poll via REST API since ION Desk setup requires manual admin configuration. Infor CloudSuite has no traditional webhooks.

How UKG works

UKG provides employee master data, compensation details, pay statements, direct deposit, cost centers, pay groups, and GL payroll journal export through REST APIs and legacy SOAP. Authentication is HTTP Basic Auth plus two custom API key headers (US-CUSTOMER-API-KEY and US-USER-API-KEY), or OAuth 2.0 client credentials with 1-hour token expiry. The platform offers webhooks via the UKG Webhooks platform with HMAC SHA-256 signatures and 14-day retention, but also supports polling via delta endpoints for zero-tolerance integrations. UKG does not expose traditional AP or ERP entities like vendors or invoices.

What moves between them

The main flow is UKG to Infor CloudSuite. After each payroll run, ml-connector reads UKG's payroll GL journal export and pay group data, extracts the GL account segments and debit/credit amounts, and posts labor cost journals into Infor CloudSuite's general ledger. Employee cost center and pay group mappings are aligned in both directions so payroll allocations land on valid Infor CloudSuite dimensions. Cost center reference data flows both directions, while GL postings are typically written only into Infor CloudSuite to avoid conflicts with the ERP's period closing process.

How ml-connector handles it

ml-connector stores OAuth credentials for both Infor CloudSuite and UKG encrypted and refreshes bearer tokens proactively before expiry. For UKG, it uses HTTP Basic Auth plus custom headers and handles the 1-hour token refresh. For Infor CloudSuite, it parses the .ionapi file to extract the per-customer base URL, tenant ID, and OAuth endpoints, then calls the ION API Gateway REST interface. Because Infor CloudSuite has no webhooks, ml-connector polls UKG's payroll journal export and changed-employee delta endpoint on a schedule tied to your payroll calendar. Cost centers and GL accounts are fetched from both systems first to validate that every journal line references a GL account and cost center that exists in Infor CloudSuite. UKG's webhook event retention is 14 days, so ml-connector also runs a secondary polling loop to ensure zero-tolerance integrations catch all records. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-market manufacturing company runs Infor CloudSuite for procurement and finance across three facilities and the head office, and uses UKG for payroll across the same locations. Before the integration, the controller exported the payroll summary report from UKG each pay period and entered labor cost totals into Infor CloudSuite by hand, splitting across three cost centers by facility. This manual re-keying consumed 3-4 hours every pay cycle and frequently introduced rounding errors that cascaded into month-end reconciliation. With Infor CloudSuite and UKG connected, each payroll GL journal flows automatically into Infor CloudSuite mapped to the correct facility cost centers, eliminating the manual entry step and ensuring the labor accounts are reconciled before month-end close begins.

What you can do

  • Post UKG payroll GL journals into Infor CloudSuite's general ledger after each pay run, allocated to the correct cost centers by facility.
  • Keep Infor CloudSuite and UKG employee cost center alignments synchronized in both directions.
  • Validate that every payroll journal line references a GL account and cost center that exists in Infor CloudSuite before posting.
  • Authenticate Infor CloudSuite via OAuth 2.0 and UKG via Basic Auth and custom API keys, with proactive token refresh.
  • Poll on a schedule tied to your payroll calendar with secondary delta-polling for zero-tolerance integrations, with full audit trail and replay.

Questions

Which direction does data move between Infor CloudSuite and UKG?
The main flow is UKG to Infor CloudSuite. Payroll GL journals and employee cost center allocations move from UKG into Infor CloudSuite, while cost center and pay group reference data is aligned in both directions. GL postings are written only into Infor CloudSuite to avoid conflicts with ERP period closing.
How does ml-connector handle Infor CloudSuite's per-customer base URL and regional differences?
ml-connector extracts the per-customer base URL, tenant ID, and OAuth endpoints from the .ionapi credentials file provided by the customer. Because Infor CloudSuite publishes no shared base URL and regions vary, the .ionapi file is the single source of truth for the ION API Gateway endpoint.
Why does ml-connector poll if UKG supports webhooks?
UKG webhooks have 14-day event retention, which is insufficient for zero-tolerance integrations. ml-connector polls UKG's delta endpoints as the primary mechanism and also runs a secondary polling loop to ensure no payroll records are missed between payroll cycles.

Related integrations

Connect Infor CloudSuite and UKG

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started