QuickBooks Online and Dayforce integration
QuickBooks Online tracks employees and expense categories for your accounting. Dayforce manages payroll and HR for those same people. Connecting them keeps your employee roster, departments, and cost allocation aligned across both systems. When you add an employee to QuickBooks Online, they appear in Dayforce with the right department. When departments change in accounting, payroll sees the update. ml-connector bridges the two platforms and moves the data on a schedule you control.
What moves between them
Employee and department reference data flows from QuickBooks Online into Dayforce. When new employees are created in QuickBooks Online (via the Employee entity) or departments change (via the Department entity), ml-connector reads those records and pushes matching employee and organization unit records into Dayforce on a configurable schedule. The sync is one-way: QuickBooks Online is the source of truth for employee and department structure; Dayforce receives and maintains those records for payroll and HR processing. Departments in QuickBooks Online map to organization units in Dayforce.
How ml-connector handles it
ml-connector stores OAuth credentials for both systems encrypted in a secure vault. On the QuickBooks Online side, it uses the client-specific realm ID and either webhooks (if enabled) or polling via the CDC endpoint to detect employee and department changes, refreshing the OAuth 2.0 access token before the 1-hour expiry. For Dayforce, it retrieves the client-specific API endpoint URL once per day, authenticates using ROPC with the Dayforce username and password, and polls the employee and org unit endpoints with date-range filters to detect updates. Because both systems have one-hour token expiry, ml-connector refreshes both tokens proactively and caches the Dayforce client URL to avoid redirect overhead. Employee names, IDs, and department assignments are mapped from QuickBooks Online entities to Dayforce employee and organization unit fields. The sync is idempotent: re-running the same record produces no duplicate. Failed syncs are retried with exponential backoff, and every record carries a full audit trail for compliance and debugging.
A real-world example
A mid-market services firm runs QuickBooks Online for accounting and Dayforce for payroll and HR across three offices and remote workers. The accounting team manages the employee roster in QuickBooks Online for billing allocation and expense tracking, while the HR team maintains payroll schedules and deductions in Dayforce. Before the integration, new hires required manual entry in both systems, and office relocations or department changes had to be synced by hand, leading to duplicate employees, missed payroll allocations, and month-end reconciliation delays. With QuickBooks Online and Dayforce connected, employees added in accounting automatically appear in Dayforce with the correct department and cost center, eliminating duplicate entry and keeping payroll allocations accurate without manual intervention.
What you can do
- Sync employees from QuickBooks Online to Dayforce, including name, ID, and department assignment.
- Detect employee and department changes in QuickBooks Online via webhooks or polling and propagate them to Dayforce on schedule.
- Map QuickBooks Online departments to Dayforce organization units so payroll allocations land on the correct cost center.
- Refresh OAuth 2.0 tokens on both sides before expiry, managing QuickBooks Online's 1-hour access token and Dayforce's one-hour Bearer JWT.
- Maintain a full audit trail of every sync, with retry logic and idempotent record handling for compliance and recovery.
Questions
- Does this integration sync payroll data back from Dayforce to QuickBooks Online?
- No. The sync is one-way: QuickBooks Online to Dayforce only. Dayforce is the source of truth for payroll, benefits, and HR; QuickBooks Online maintains the accounting records. Payroll journal entries generated by Dayforce are not synced back into QuickBooks Online accounting.
- How does ml-connector handle the one-hour token expiry on both systems?
- ml-connector proactively refreshes both OAuth 2.0 access tokens before expiry. QuickBooks Online tokens expire in 1 hour; Dayforce Bearer JWTs expire in 1 hour as well. The system tracks expiry and requests fresh tokens on a timer, so a stale token never causes an outage.
- What happens if an employee exists in both systems with different names or departments?
- The sync respects QuickBooks Online as the source of truth. If an employee record differs between systems, the QuickBooks Online version is pushed to Dayforce and overwrites the Dayforce record. A full audit log tracks the change, so you can review and reconcile discrepancies before the next sync.
Related integrations
More QuickBooks Online integrations
Other systems that connect to Dayforce
Connect QuickBooks Online and Dayforce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started