Microsoft Dynamics 365 F&O and Paylocity integration
Microsoft Dynamics 365 F&O runs finance, procurement, and the general ledger. Paylocity runs payroll, HR, and benefits. Connecting the two keeps the workforce and the ledger in agreement without re-keying. After each Paylocity payroll run, the earnings, tax, and deduction totals post into D365 F&O as general journal entries against the matching main accounts and financial dimensions, and new hires and terminations in Paylocity keep D365 worker data current. ml-connector handles the very different APIs on each side and moves the data on a schedule tied to your payroll calendar.
What moves between them
The flow runs from Paylocity into Microsoft Dynamics 365 F&O. After each payroll run, ml-connector reads the Paylocity pay statement totals and posts the gross earnings, taxes, and deductions into D365 as general journal entries, each mapped to the matching D365 main account and financial dimensions. Worker records flow the same direction so D365 reflects Paylocity new hires, terminations, and rehires. Reference data such as departments, work locations, and cost dimensions is aligned so payroll allocations land on valid D365 dimensions. Paylocity holds no general ledger, so ml-connector never writes financial entries back into payroll.
How ml-connector handles it
ml-connector stores both credential sets encrypted and obtains an OAuth2 bearer token from each side, refreshing the Paylocity token and the D365 Entra ID token before they expire and re-requesting when a call returns 401. On the D365 side it accepts the tenant environment host per customer, since D365 publishes no shared base URL, and writes journal lines with fully specified entity keys, dataAreaId, and a correctly formatted financial dimension display string, which must be configured first or the write fails silently. Paylocity sends a Payroll Processed webhook on the process date, so ml-connector treats that as the trigger, then reads the full pay statement totals from the API rather than trusting the lightweight payload. New Hire and Termination webhooks drive the worker sync the same way. Paylocity deduction, earning, and tax codes are mapped to D365 main accounts and dimensions before any posting. Both sides return HTTP 429 under load, so ml-connector backs off and retries with the Retry-After hint, deduplicates webhooks that fire more than once per change, and keeps a full audit trail with error replay on every record.
A real-world example
A mid-sized US manufacturer with about 600 employees across three plants runs Microsoft Dynamics 365 F&O for finance and procurement and uses Paylocity for payroll and HR. Before the integration, the accounting team exported a payroll register from Paylocity every pay period and manually entered the labor, tax, and benefit totals into D365 as a journal, then spent the first days of month-end close chasing differences between the headcount in HR and the labor accounts in the ledger. With the two systems connected, each payroll run posts into D365 automatically, split across the right main accounts and dimensions per plant, and worker changes keep both systems aligned. Close starts with the labor accounts already reconciled and the re-keying step is gone.
What you can do
- Post Paylocity payroll totals into Microsoft Dynamics 365 F&O as general journal entries after every pay run.
- Map Paylocity earning, deduction, and tax codes to D365 main accounts and financial dimensions so payroll lands on valid accounts.
- Keep D365 worker records aligned with Paylocity new hires, terminations, and rehires.
- Bridge Paylocity OAuth2 client credentials and the D365 Entra ID client-credentials token, refreshing each before it expires.
- React to Paylocity Payroll Processed and employee webhooks on a schedule tied to your payroll calendar, with retries, a full audit trail, and error replay.
Questions
- Which direction does data move between Microsoft Dynamics 365 F&O and Paylocity?
- The flow is Paylocity into Microsoft Dynamics 365 F&O. Pay statement totals and worker records move from Paylocity into D365, while departments and dimensions are aligned so postings stay valid. Paylocity has no general ledger, so ml-connector does not write financial entries back into payroll.
- Does Paylocity provide invoices or GL accounts to post into D365?
- No. Paylocity is a payroll and HCM platform and has no invoice, purchase order, or GL account objects. What it provides is pay statement totals, deduction and earning data, and employee records, and ml-connector maps the payroll totals into D365 as general journal lines against the main accounts and financial dimensions you configure.
- How does the integration handle Paylocity webhooks and D365 authentication?
- Paylocity sends a lightweight Payroll Processed webhook on the process date, so ml-connector uses it as a trigger and then reads the full pay statement totals from the API. It authenticates D365 with an OAuth2 client-credentials token from Microsoft Entra ID against the tenant environment host, refreshing the hourly token and retrying on a 429 with the Retry-After hint.
Related integrations
More Microsoft Dynamics 365 F&O integrations
Other systems that connect to Paylocity
Connect Microsoft Dynamics 365 F&O and Paylocity
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started