ml-connector
Microsoft Dynamics NAVADP

Microsoft Dynamics NAV and ADP integration

Microsoft Dynamics NAV runs finance and procurement for small to mid-size companies. ADP runs payroll and HR. Connecting the two keeps your general ledger and worker headcount aligned. Payroll GL documents that ADP generates after each pay run post automatically into NAV's general ledger, allocated to cost centers, without manual re-entry. Workers hired or terminated in ADP flow into NAV so your headcount records stay current.

How Microsoft Dynamics NAV works

Microsoft Dynamics NAV (Business Central online or on-premises) exposes vendors, purchase orders, invoices, employees, general ledger accounts, dimensions, and journal entries through OData v4 REST endpoints or legacy SOAP. Cloud deployments use Microsoft Entra ID OAuth 2.0, while on-premises instances can use basic auth with web service access keys, though OAuth is recommended. NAV webhooks are available for most entities including employees, accounts, and journals, but they expire every 3 days and must be renewed; alternatively, polling is supported. Purchase orders are not in the standard webhook list, so they must be polled. GL accounts are read-only through the API.

How ADP works

ADP exposes workers, payroll, pay distributions, pay statements, general ledger documents, cost centers, and validation tables through ADP API Central, a paid add-on REST/JSON service. Every request requires OAuth 2.0 client credentials and a mutual TLS client certificate that the server validates at the TLS handshake; connections fail immediately without the certificate. ADP also sends event notifications for worker hire, termination, and rehire, as well as payroll and tax events, with retries configured at 1-minute intervals for 10 attempts, then 6-hour intervals. OData query parameters are supported. All mutations go through event endpoints, not direct API writes. GL documents are output-only; ml-connector reads them but does not write back.

What moves between them

The main flow runs from ADP into Microsoft Dynamics NAV. After each payroll cycle, ml-connector reads ADP's general ledger documents and posts the payroll GL journals into NAV's general ledger, mapped to the matching NAV GL accounts and dimensions (cost centers, departments). Worker records, including new hires, terminations, and rehires, flow from ADP into NAV on the same schedule so your NAV employee count and status match ADP. Dimensions and cost centers are aligned bidirectionally first, so every payroll line lands on a valid NAV account and cost center.

How ml-connector handles it

ml-connector stores both credential sets encrypted and presents the ADP mTLS client certificate at the TLS layer on every request to ADP, refreshing the bearer token when a call returns 401. For Microsoft Dynamics NAV, it uses Entra ID OAuth 2.0 and validates each entity against the tenant and company ID for the NAV instance. Because NAV webhooks expire every 3 days, ml-connector renews them before expiry, and also polls ADP on a schedule tied to your payroll calendar since NAV is pull-only on the ADP side. Cost centers and dimensions are mapped first so payroll GL lines reference accounts that already exist in NAV. ADP rate limits per cluster node and returns HTTP 429; ml-connector backs off and retries, and it tracks ADP certificate expiry so renewal does not cause an outage. Every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A small manufacturing business runs Microsoft Dynamics NAV for procurement and general ledger and ADP for payroll across two facilities. Before integration, the accounting team exported payroll registers from ADP each pay period, manually created journal entries in NAV for payroll GL allocations, and spent days at month-end close reconciling NAV's labor accounts against ADP's paid employees. With Microsoft Dynamics NAV and ADP connected, ADP's payroll GL documents automatically post into NAV after each pay run, allocated to the facility cost centers. Worker changes in ADP sync to NAV instantly, so the labor accounts and headcount are already reconciled when month-end close begins.

What you can do

  • Post ADP payroll general ledger documents into Microsoft Dynamics NAV's general ledger after each pay run, allocated to the correct cost centers and departments.
  • Keep NAV employee records aligned with ADP hires, terminations, and rehires in real time.
  • Map ADP cost centers and departments to NAV dimensions so payroll allocations land on valid GL accounts.
  • Authenticate ADP with OAuth 2.0 and the required mutual TLS client certificate, and Dynamics NAV with Entra ID OAuth 2.0.
  • Renew NAV webhook subscriptions before 3-day expiry and ADP certificates before they expire, with automatic retry on rate limits and a full audit trail.

Questions

How does ml-connector handle ADP's mutual TLS client certificate requirement?
ADP requires a client certificate at the TLS handshake on every call in addition to OAuth 2.0 credentials. ml-connector stores the certificate encrypted, presents it on each connection to ADP, validates every response, and tracks its expiry date so a renewal can be issued before the certificate becomes invalid and causes an outage.
Why do Microsoft Dynamics NAV webhooks need to be renewed?
NAV webhooks expire automatically every 3 days and are then deleted. ml-connector monitors the subscription lifetime and renews each subscription before it expires so payroll events and worker changes continue to flow without interruption. If manual renewal is missed, polling provides a fallback.
Which direction does data flow between Microsoft Dynamics NAV and ADP, and what happens if something fails?
The main flow is ADP to Microsoft Dynamics NAV: payroll GL documents and worker records move from ADP into NAV after each pay run, while cost centers and dimensions are aligned in both directions. Every record is tagged with a source ID and timestamp in the NAV audit trail, so if a downstream call fails, ml-connector can replay the failed record without creating duplicates.

Related integrations

Connect Microsoft Dynamics NAV and ADP

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

Get started