ml-connector
Microsoft Dynamics GPUKG

Microsoft Dynamics GP and UKG integration

Microsoft Dynamics GP runs your on-premises financials and payroll infrastructure. UKG runs your cloud HR and payroll processing. Connecting the two keeps your general ledger in sync with payroll results without manual re-entry. UKG payroll GL journals post directly into Microsoft Dynamics GP at the close of each pay period, allocated to the correct GL accounts and cost centers, and employee records stay aligned across both systems. ml-connector handles the very different authentication models on each side, polls on your payroll calendar, and moves the data reliably.

How Microsoft Dynamics GP works

Microsoft Dynamics GP is installed on a Windows Server with a SQL Server backend and exposes financial data through REST Service Based Architecture (SBA) at tenant-specific URLs or SOAP Web Services over the network. It authenticates using Windows Active Directory credentials tied to a domain account, with no OAuth2 or API keys available. Key entities include GL accounts, GL journal entries, vendors, payables invoices, purchase orders, customers, receivables invoices, and inventory items. Microsoft Dynamics GP does not support webhooks or push notifications, so integrations poll the system using ModifiedDate filters at customer-defined intervals, with a practical limit of 2 to 5 concurrent requests.

How UKG works

UKG is a cloud HR and payroll platform exposing employee master data, compensation details, pay statements, and payroll GL journals through REST APIs at tenant-specific hostnames, with datacenter assignments such as service.ultipro.com or servicet.ultipro.com for test environments. It authenticates via HTTP Basic Auth with two custom API key headers for core REST APIs, or OAuth 2.0 client credentials for platform APIs and Webhooks Premium, with a one-hour token expiry. Key entities include employee IDs, employee demographic details, compensation details, pay statements, direct deposit, cost centers, and third-party pay data with GL account segments. UKG supports webhooks for near real-time events with 14-day retention, but also allows polling via a delta endpoint for systems that need zero-tolerance integration.

What moves between them

The main flow is UKG into Microsoft Dynamics GP. After each payroll run, ml-connector reads UKG's payroll GL journals and posts them into Microsoft Dynamics GP's general ledger, mapped to the matching GL accounts and cost centers defined in your instance. Employee records flow the same direction so Microsoft Dynamics GP headcount reflects UKG hires, terminations, and role changes. Reference data such as cost centers and departments is read from both systems to ensure payroll allocations land on valid GL dimensions. The sync runs on a schedule tied to your payroll calendar, with polling against both systems to account for the on-premises nature of Microsoft Dynamics GP and cloud-based UKG.

How ml-connector handles it

ml-connector stores both credential sets encrypted: the Windows domain account and GP tenant URL on the Microsoft Dynamics GP side, and the OAuth2 client credentials or API keys on the UKG side. It refreshes the UKG OAuth token on a one-hour cycle and re-authenticates to Microsoft Dynamics GP with the domain account before each request batch. On the Microsoft Dynamics GP side it polls SBA REST or SOAP endpoints with ModifiedDate filters to retrieve GL journals and employee records; on the UKG side it polls the /personnel/v1/employees/changed delta endpoint or receives webhook events if Webhooks Premium is enabled. Cost centers and GL accounts are mapped first, so every payroll line references a dimension that exists in Microsoft Dynamics GP. ml-connector respects Microsoft Dynamics GP's constraint that only unposted (Work) transactions can be modified and validates that target fiscal periods are open before posting. It handles both HTTP Basic Auth and OAuth on the UKG side, presents the Windows domain credentials on each Microsoft Dynamics GP request, backs off on rate limits and network errors, and tracks every record in the audit log so failed posts can be replayed.

A real-world example

A mid-sized manufacturing company runs Microsoft Dynamics GP on a local server for financial control and UKG in the cloud for payroll and HR across three plants and a shared services center. Before the integration, the accounting team downloaded UKG's payroll GL export after each pay period and manually entered the debit and credit lines into Microsoft Dynamics GP by hand, then spent the first week of month-end chasing reconciliation between the payroll summary in UKG and the labor accounts in the ledger. With the two connected, each payroll run's GL journal flows directly into Microsoft Dynamics GP on the correct cost centers, the accounting team runs a simple audit at the start of month-end to verify the balances, and the manual re-keying and reconciliation work is gone.

What you can do

  • Post UKG payroll GL journals directly into Microsoft Dynamics GP's general ledger after every pay run, allocated to the correct GL accounts and cost centers.
  • Keep Microsoft Dynamics GP employee master data in sync with UKG hires, terminations, and role changes.
  • Map UKG cost centers and departments to Microsoft Dynamics GP GL dimensions so payroll allocations land on valid accounts.
  • Handle Windows Active Directory authentication to Microsoft Dynamics GP and OAuth 2.0 client credentials or API key authentication to UKG, with automatic token refresh and credential encryption.
  • Poll both systems on your payroll calendar with retries, fiscal period validation, and a complete audit trail on every GL posting.

Questions

Does the integration work with both SBA REST and SOAP Web Services in Microsoft Dynamics GP?
Yes. ml-connector supports both Service Based Architecture (SBA) REST and SOAP Web Services, since not all Microsoft Dynamics GP installs have SBA enabled. You specify the protocol and endpoint when you configure the integration, and ml-connector routes requests accordingly. Always test against your specific Microsoft Dynamics GP version first, since SBA entity support varies.
How does ml-connector handle the Windows domain account authentication to Microsoft Dynamics GP?
ml-connector stores the Windows domain account credentials encrypted and re-authenticates on each request batch using Negotiate or NTLM over HTTP, depending on your network and firewall configuration. The account must be created and granted appropriate roles in Microsoft Dynamics GP by your administrator before the integration starts. There is no OAuth2 or API key alternative for Microsoft Dynamics GP, so Windows auth is required.
What happens if a UKG payroll GL journal fails to post into Microsoft Dynamics GP?
ml-connector logs the failure in its audit trail with the exact error message and does not re-attempt automatically, so you can review the cause and decide on a replayable fix (e.g., opening a closed fiscal period, fixing a missing cost center mapping). Once the underlying issue is resolved, the posting can be replayed from the audit log without risk of duplicate GL entries, since ml-connector validates document numbers before posting.

Related integrations

Connect Microsoft Dynamics GP and UKG

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

Get started