Microsoft Dynamics NAV and SAP SuccessFactors integration
Microsoft Dynamics NAV runs your ERP. SAP SuccessFactors runs your HR and payroll. Connecting the two keeps your workforce data aligned across both systems. New hires and job changes in SuccessFactors flow into NAV so your chart of accounts, cost centers, and org structure stay current. Employee records and dimension changes are synced bidirectionally, and the integration works around the very different authentication and throttling rules on each side.
What moves between them
Employee and organizational data flows from SuccessFactors into Dynamics NAV. New hires, terminations, and job changes in SuccessFactors are read via push events or pull-based delta sync and mapped to NAV employee records and dimension tables. Cost centers, departments, divisions, and job codes from SuccessFactors are synced to NAV dimension values so that payroll runs and expense reports allocate costs to valid NAV cost centers and profit centers. Dimension and employee record changes in NAV can trigger an update to the mapping cache but do not write back to SuccessFactors, as the HCM system is the source of truth for HR data.
How ml-connector handles it
ml-connector stores both credential sets encrypted and maintains separate OAuth token caches, refreshing the SuccessFactors SAML Bearer token before it expires at 24 hours and the Dynamics NAV token before its expiry. It accepts pull-based delta sync from SuccessFactors using lastModifiedDateTime filters and also subscribes to SuccessFactors event notifications where configured, converting both signals into a unified sync queue. For Dynamics NAV, it uses the customer-supplied base URL (either cloud https://api.businesscentral.dynamics.com or on-premises instance URL) and works around the fact that purchase orders and some other entities do not publish webhooks by polling on a regular cadence. ml-connector maps SuccessFactors organizational entities (cost centers, departments) to NAV dimensions before syncing employee records, so every employee references a valid dimension. It backs off and retries when SuccessFactors returns HTTP 429 or 503, and it reformats SuccessFactors' non-standard OData datetime values to ISO 8601 for NAV. Every record carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A mid-sized professional services firm runs Dynamics NAV for finance and operations and SuccessFactors for HR and payroll across three offices and a remote workforce. Before the integration, the finance team manually maintained employee cost center assignments in NAV whenever SuccessFactors recorded a new hire or job change, leading to mismatches between the HR system and the billing and expense allocation in NAV. With SuccessFactors and NAV connected, each new hire flows automatically from SuccessFactors into NAV as an employee record assigned to the correct cost center and office, and job changes update the employee's org assignment without manual intervention. Month-end allocation of labor costs to projects and cost centers now starts with the correct employee roster and dimensions already in place.
What you can do
- Sync employees, job assignments, and cost centers from SAP SuccessFactors into Dynamics NAV, keeping headcount and org structure current.
- Map SuccessFactors cost centers, departments, and divisions to NAV dimensions so payroll and expense allocations land on valid cost centers.
- Read employee lifecycle events from SuccessFactors via push notifications or pull-based delta sync and record the changes in NAV.
- Handle OAuth 2.0 SAML Bearer assertion for SuccessFactors and OAuth 2.0 client credentials for Dynamics NAV, refreshing tokens before expiry.
- Back off and retry when SuccessFactors throttles at 10 concurrent threads per client, with a full audit trail on every sync.
Questions
- Which direction does data move between Dynamics NAV and SuccessFactors?
- Employee and organizational data flows from SuccessFactors into Dynamics NAV. New hires, job changes, terminations, cost centers, and departments are synced from SuccessFactors into NAV to keep org structure, cost allocation, and headcount aligned. Changes to employee or dimension records in NAV are not written back to SuccessFactors, as SuccessFactors is the system of record for HR data.
- How does the integration handle SuccessFactors throttling and non-standard datetime format?
- SuccessFactors throttles at 10 concurrent threads per client and returns HTTP 429 or 503. ml-connector respects these limits, backs off with exponential retry, and tracks throttle responses to avoid repeated failures. SuccessFactors uses a non-standard OData datetime format (/Date(milliseconds)/ in responses, datetime'2026-01-01T00:00:00' in filters), which ml-connector converts to ISO 8601 format so NAV and the audit trail read correctly.
- What happens if an employee is assigned to a cost center that does not exist in Dynamics NAV?
- ml-connector syncs cost centers, departments, and divisions from SuccessFactors to NAV dimensions before processing employee records, so every employee is assigned to a cost center that already exists in NAV. If a new cost center is added to SuccessFactors after the initial sync, the integration will map it to NAV on the next sync cycle, and any employee assigned to that cost center will reference the newly created dimension.
Related integrations
More Microsoft Dynamics NAV integrations
Other systems that connect to SAP SuccessFactors
Connect Microsoft Dynamics NAV and SAP SuccessFactors
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started