ml-connector
Microsoft Dynamics NAVWorkday HCM

Microsoft Dynamics NAV and Workday HCM integration

Microsoft Dynamics NAV runs finance, purchasing, and inventory for growing businesses. Workday HCM manages employees, payroll, and financial records in a single cloud platform. Connecting the two keeps your employee master and your general ledger in agreement. Payroll GL documents generated by Workday automatically post into Dynamics NAV on schedule, allocated to the correct cost centers and GL accounts, and worker changes in Workday flow back into NAV so headcount and organizational data stay aligned. ml-connector handles the different APIs and authentication surfaces on each side, and moves the data reliably with retries and a full audit trail.

How Microsoft Dynamics NAV works

Microsoft Dynamics NAV (including the online cloud variant Dynamics 365 Business Central) exposes employees, GL accounts, dimensions, general ledger entries, journals, and vendors through OData v4 REST APIs, authenticated via OAuth 2.0 to Microsoft Entra ID. On-premises deployments can also authenticate with a web service access key via Basic auth (legacy). Webhooks are available for real-time notifications on supported entities (employees, accounts, dimensions, GL entries), with a 3-day subscription lifetime. For on-premises NAV, the OData port 7048 must be opened through the firewall. GL accounts are read-only in the standard API, and once posted, GL entries are immutable.

How Workday HCM works

Workday HCM is a single-tenant cloud platform that exposes workers, positions, organizations, GL accounts, cost centers, and accounting journals through SOAP and REST APIs. REST API covers HCM and staffing data only and requires OAuth 2.0 with a 60-minute access token and non-expiring refresh token. Financial records and procurement data (suppliers, invoices, GL accounts, payments) are available only through the SOAP API with WS-Security UsernameToken authentication. Workday does not support native webhooks, so integrations must poll on a schedule. API versions release twice yearly, and integrations must track deprecations as they occur.

What moves between them

The primary flow moves worker and payroll GL records from Workday into Dynamics NAV. After each payroll run, ml-connector reads Workday's accounting journals and worker records via SOAP, validates each journal line against NAV's chart of accounts and cost centers, and posts the GL entries into Dynamics NAV's general ledger. Employee data flows from Workday into NAV to keep headcount and organizational dimensions in sync. GL accounts, cost centers, and organization units are aligned in both directions, ensuring that every payroll journal line references a valid NAV GL account and cost center. Because Workday data changes are read-only in some cases and Dynamics NAV GL entries are immutable once posted, the integration is primarily unidirectional from Workday into NAV.

How ml-connector handles it

ml-connector stores Workday OAuth credentials and SOAP authentication separately, managing the 60-minute access token expiry and refresh token lifecycle automatically. For Dynamics NAV, it uses OAuth 2.0 client credentials to acquire a token from Microsoft Entra ID for the appropriate tenant and company instance. Before posting any GL entry, ml-connector validates the account number and cost center against NAV's current chart of accounts and dimensions, rejecting invalid lines with a logged error and audit record. The integration polls Workday on a schedule tied to your payroll calendar (typically daily or per-pay-period), batching journal and worker records into single NAV posting operations. Workday rate limits return HTTP 429 with a Retry-After header, and ml-connector backs off and retries. NAV webhook subscriptions expire after 3 days, so ml-connector automatically renews subscriptions for near-real-time employee and GL account changes. Every record carries a full audit trail with source ID, timestamp, and a flag indicating whether it was successfully posted to NAV or deferred due to validation failure.

A real-world example

A mid-size services firm runs Workday for payroll, talent, and financial management across two regions and a corporate office, and uses Dynamics NAV for general ledger, AP, and AR. Before the integration, the finance team exported payroll GL reports from Workday each pay period and manually re-entered labor cost allocations into NAV by hand, spending hours on month-end close reconciling labor accounts. With Workday and Dynamics NAV connected, each payroll run's GL document automatically posts into NAV on the day payroll completes, allocated to the correct regional cost centers, and new hires and organizational changes in Workday update NAV's employee and dimension tables the same day. Month-end close now starts with verified payroll totals already in the GL, eliminating the manual entry step and reducing close cycle by two days.

What you can do

  • Post Workday payroll GL documents into Dynamics NAV's general ledger after each pay run, allocated to the correct cost centers and GL accounts.
  • Keep Dynamics NAV employee records, departments, and cost centers synchronized with Workday workers, positions, and organizations.
  • Validate GL accounts and cost center codes in Workday journal lines against Dynamics NAV's chart of accounts before posting to prevent invalid entries.
  • Authenticate Workday via SOAP with WS-Security UsernameToken for financial records, and Dynamics NAV via OAuth 2.0 to Microsoft Entra ID.
  • Poll Workday on a schedule tied to your payroll calendar, with retries, validation logging, and a full audit trail on every GL posting.

Questions

Which direction does data move between Dynamics NAV and Workday HCM?
The primary flow is Workday into Dynamics NAV. Payroll GL documents, accounting journals, and worker records move from Workday into NAV, while GL accounts and cost centers are aligned in both directions. GL postings are read-only in Workday, so ml-connector does not write financial entries back to Workday.
Why does the integration use SOAP for Workday financial records instead of REST?
Workday's REST API covers HCM and staffing data only. Financial records including GL accounts, accounting journals, and payments are available exclusively through the SOAP API with WS-Security UsernameToken authentication. The integration uses both surfaces: REST for worker and position data, and SOAP for GL and cost center records.
How does the integration handle Workday's lack of native webhooks and Dynamics NAV's 3-day webhook subscriptions?
ml-connector polls Workday on a schedule (typically daily or per-pay-period) since Workday does not support webhooks. For Dynamics NAV, it automatically renews webhook subscriptions before they expire at the 3-day boundary, allowing near-real-time awareness of account and employee changes while falling back to polling if a renewal fails.

Related integrations

Connect Microsoft Dynamics NAV and Workday HCM

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

Get started