ml-connector
Microsoft Dynamics NAVUKG

Microsoft Dynamics NAV and UKG integration

Microsoft Dynamics NAV runs accounting and operations for small and mid-size businesses. UKG runs payroll and HR. Connecting the two keeps your general ledger and employee records in sync. New hires, terminations, and compensation changes in UKG flow into NAV's employee master. After each payroll run, UKG's GL journal automatically posts into NAV's general ledger, allocated to the correct cost centers and departments. No re-keying, no month-end reconciliation delays, no headcount mismatches.

How Microsoft Dynamics NAV works

Microsoft Dynamics NAV exposes employees, vendors, purchase orders, sales orders, purchase invoices, sales invoices, GL accounts, GL entries, dimensions, and items through OData v4 REST APIs or legacy SOAP web services. Authentication is OAuth 2.0 via Microsoft Entra ID for Business Central online, or OAuth or web service access keys for on-premises. The online platform uses a tenant-specific and company-specific URL structure; on-premises deployments are server and port specific. Webhooks are supported on a 3-day subscription that renews automatically, and the platform also supports polling.

How UKG works

UKG exposes employee profiles, compensation details, pay statements, direct deposit information, cost centers, and pay groups through REST APIs. There is also a third-party pay endpoint that includes GL account segments and debit/credit amounts for payroll journal export. Authentication is HTTP Basic Auth with two custom API key headers per tenant, or OAuth 2.0 client credentials with a 1-hour token expiry. Webhooks are available via the UKG Webhooks platform with HMAC SHA-256 signatures and 14-day event retention, and the platform supports delta polling on the employee endpoint.

What moves between them

Employee records flow from UKG into Microsoft Dynamics NAV. When a new hire is created in UKG, their profile enters NAV's employee list with the correct department and cost center. Compensation changes in UKG trigger updates in NAV. The main flow is payroll GL journals from UKG into NAV's general ledger, posted monthly or per payroll cycle. Cost centers and pay groups are aligned in both directions so payroll lines land on valid NAV GL accounts. Because NAV's GL entries are immutable once posted, ml-connector never writes back to payroll data.

How ml-connector handles it

ml-connector stores both OAuth credential sets encrypted and refreshes tokens when a call returns 401 to avoid outages. For Microsoft Dynamics NAV it manages webhook subscriptions with automatic 3-day renewal before expiry, since subscriptions cannot be queried, it tracks subscription state in its own database. For UKG, it monitors 1-hour token expiry and refreshes proactively. On the NAV side it accepts the full instance URL for on-premises or the tenant and company ID for Business Central online. Cost centers from UKG are mapped to NAV dimensions first, ensuring payroll GL journals post to accounts that already exist. UKG's third-party pay endpoint includes GL segments, so ml-connector maps those segments to NAV's account and cost center pairs. Rate limits on UKG are retried with exponential backoff. Every employee record and GL journal carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-size professional services firm runs Microsoft Dynamics NAV for accounting and project management, and uses UKG for payroll and time and attendance across two offices. Before the integration, the finance team exported employee changes and payroll registers from UKG, then manually re-entered them into NAV to keep headcount correct and post GL journals. With NAV and UKG connected, each payroll cycle's GL journal flows into NAV automatically, allocated to the correct project and office cost centers, and new hires and terminations from UKG update NAV's employee list without delay. Month-end close is faster because payroll GL is already posted and reconciled.

What you can do

  • Sync employee records from UKG into Microsoft Dynamics NAV, including new hires, terminations, and compensation changes.
  • Post UKG payroll GL journals into NAV's general ledger each cycle, allocated to the correct cost centers and accounts.
  • Map UKG cost centers and pay groups to NAV dimensions and GL accounts so payroll lines are always valid.
  • Authenticate both systems with OAuth 2.0, manage NAV webhook subscription renewal on a 3-day cycle, and refresh UKG tokens every hour.
  • Track every employee and GL record with a full audit trail and replay capability if a downstream action fails.

Questions

How does ml-connector handle Microsoft Dynamics NAV's 3-day webhook subscription expiry?
ml-connector maintains its own subscription state in a database and refreshes each subscription 1 day before expiry, before NAV can delete it. Subscriptions cannot be queried via the API, so ml-connector tracks them itself to ensure continuous delivery without gaps.
Which direction do employee and payroll records flow between Microsoft Dynamics NAV and UKG?
The main flow is UKG into Microsoft Dynamics NAV. Employee changes and payroll GL journals move from UKG into NAV. NAV GL entries are immutable once posted, so ml-connector does not write financial data back into UKG.
Does the integration require on-premises infrastructure or web service access keys?
ml-connector works with both Business Central online and on-premises NAV deployments. For online it uses OAuth 2.0 via Microsoft Entra ID. For on-premises it accepts the server URL and port and also supports OAuth 2.0, though web service access keys are still supported for legacy instances.

Related integrations

Connect Microsoft Dynamics NAV and UKG

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

Get started