QuickBooks Online and Paylocity integration
QuickBooks Online runs your books. Paylocity runs your payroll. Connecting the two moves payroll results into your general ledger without re-keying, keeps employee records synchronized, and allocates payroll costs to the right accounts. After each payroll run, Paylocity's earnings and deductions flow into QuickBooks Online as journal entries, and employee hires and terminations stay in sync across both systems.
What moves between them
The main flow runs from Paylocity into QuickBooks Online. After each payroll cycle, ml-connector reads Paylocity pay statements and breaks down the earnings and deductions into individual journal entry lines, maps each earning and deduction type to the corresponding QuickBooks general ledger account, and posts a balanced journal entry dated on the payroll end date. Employee records including names, hire dates, and termination dates flow from Paylocity into QuickBooks Online as employee entities so headcount remains aligned. Deduction and earning codes are pre-mapped so payroll costs land on valid GL accounts. The integration polls Paylocity's Payroll Processed events on a schedule tied to your payroll calendar, since timing is critical for month-end close.
How ml-connector handles it
ml-connector stores OAuth credentials for both systems encrypted and refreshes access tokens before they expire. On the Paylocity side it authenticates with client credentials, and on the QuickBooks side it uses the stored realm ID and handles the refresh token rotation. When a Paylocity payroll cycle completes, ml-connector fetches the full pay statement for each employee, computes the gross-to-net deductions and earning allocations, and constructs a balanced journal entry. Each line in the journal entry is mapped via a lookup table from Paylocity earning and deduction codes to QuickBooks account numbers. The journal entry is posted with the SyncToken required by QuickBooks' optimistic concurrency control. If the post fails due to a conflict or network error, ml-connector retries with exponential backoff. Every posted record is audit-logged with timestamps, account mappings, and the original Paylocity pay statement ID so it can be traced and replayed if a downstream GL reconciliation shows a difference.
A real-world example
A regional services company with 150 employees across four locations runs Paylocity for HR and biweekly payroll processing and QuickBooks Online for accounting. Before the integration, after each payroll run, the accounting manager manually exported the payroll register from Paylocity, summed the gross, taxes, and deductions by account, and typed the journal entries into QuickBooks. The process took 2 to 3 hours and was error-prone during high-change periods like open enrollment. With the integration, the journal entries post automatically within an hour of the payroll cycle completion, and the accounts are balanced by design. Month-end close now starts with payroll GL entries already complete and verified.
What you can do
- Post Paylocity payroll journal entries into QuickBooks Online, allocated to the correct GL accounts by earning and deduction code.
- Sync employee hire dates, terminations, and rehires between Paylocity and QuickBooks Online so headcount is always in agreement.
- Map Paylocity earning codes and deductions to QuickBooks account numbers via a configurable lookup table.
- Handle OAuth 2.0 token refresh and rotation for both Paylocity and QuickBooks Online, with automatic retry on token expiry.
- Audit every payroll posting with timestamps, account mappings, and the source Paylocity pay statement ID for full traceability.
Questions
- Which direction does payroll data flow between Paylocity and QuickBooks Online?
- The main flow is from Paylocity into QuickBooks Online. Pay statements, earnings, and deductions move as journal entries into the general ledger. Employee records including hires and terminations are synced from Paylocity to QuickBooks to keep the employee master list aligned. The integration reads from Paylocity and writes to QuickBooks; it does not reverse the flow.
- How does ml-connector handle the OAuth token refresh on both sides?
- ml-connector stores the OAuth credentials for Paylocity and QuickBooks Online encrypted in the database and refreshes tokens before they expire. Paylocity access tokens last 3600 seconds, and QuickBooks refresh tokens rotate every 24 to 26 hours. ml-connector handles rotation transparently and retries any call that fails due to token expiry without requiring manual re-authorization.
- How are earning and deduction codes from Paylocity mapped to QuickBooks account numbers?
- ml-connector uses a configurable lookup table that maps each Paylocity earning and deduction code to a QuickBooks general ledger account number. The mapping is set up once during initial configuration and is reused for every payroll cycle. If a code is not in the table, the posting is flagged and audited so the mapping can be corrected before the next cycle.
Related integrations
More QuickBooks Online integrations
Other systems that connect to Paylocity
Connect QuickBooks Online and Paylocity
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started