QuickBooks Desktop and Workday HCM integration
QuickBooks Desktop runs accounting for small and mid-sized businesses. Workday HCM handles workforce management and payroll across multiple organizations and cost centers. Connecting them keeps your chart of accounts and workforce headcount aligned, so payroll cost allocations land on valid QuickBooks accounts and your ledger reflects current employee counts. ml-connector manages the on-premises QuickBooks polling agent and the cloud Workday API integration simultaneously, ensuring accurate financial and HR data flow.
What moves between them
Worker records flow from Workday into QuickBooks Desktop, where they appear as employees. Cost centers and organizations from Workday map to expense accounts in QuickBooks so that payroll allocations reference valid GL dimensions. Accounting journals generated after each Workday payroll run are read into QuickBooks and posted to the correct chart of accounts. The main cadence is aligned with Workday's payroll calendar so that payroll GL documents post into QuickBooks on the same day the journals are generated, keeping the ledger current through the accounting close cycle.
How ml-connector handles it
ml-connector maintains two concurrent polling loops: one speaking SOAP/QBXML to the customer-hosted QuickBooks Web Connector agent, the other speaking SOAP/REST to Workday's cloud endpoints. On the QuickBooks side, it manages the session-token handshake, crafts QBXML requests with ModifiedDateRangeFilter for change detection, and handles the 60-second timeout by paginating large result sets. On the Workday side, it refreshes OAuth2 tokens on a 50-minute interval (before the 60-minute expiry) and retries HTTP 429 responses using the Retry-After value. Worker records are deduplicated by external ID across payroll cycles so a rehire does not create a duplicate entry. Cost center and GL account mappings are cached and validated before posting any payroll journal. The system tracks which QBXML version the customer's QuickBooks edition supports and adjusts the envelope accordingly, since different QB versions and regional editions use different schemas.
A real-world example
A regional construction company with 250 employees and three office locations runs QuickBooks Desktop for accounting and Workday HCM for payroll and benefits. Before the integration, the finance team manually entered payroll GL distributions into QuickBooks each week after Workday generated the payroll journals, mapping cost centers by hand to job codes in QB and occasionally posting to the wrong account during month-end crunch. With QuickBooks Desktop and Workday HCM connected, each payroll run's GL postings flow automatically into QB, mapped to the correct cost center and expense account, and new hires created in Workday appear in QuickBooks the next payroll cycle. The accounting team no longer re-keys payroll; they verify the automated postings and close the books faster.
What you can do
- Sync Workday workers into QuickBooks Desktop as employees, including hire, termination, and rehire events.
- Post Workday payroll GL journals into QuickBooks Desktop general ledger on the payroll cycle, allocated to correct cost centers and expense accounts.
- Map Workday cost centers and organizations to QuickBooks chart of accounts so payroll always lands on valid GL dimensions.
- Authenticate QuickBooks via the Web Connector session-token handshake and Workday via OAuth2 refresh token, handling token expiry and rate limits.
- Poll both systems on a configurable schedule with deduplication, paginated queries, and full audit trail on every record.
Questions
- How does ml-connector reach QuickBooks Desktop if it runs on a customer's Windows machine?
- The customer deploys the QuickBooks Web Connector (QBWC) agent on the Windows machine where QuickBooks is installed and running. QBWC is configured to poll your SOAP endpoint at a specified URL on a regular interval. ml-connector's SOAP server receives those poll requests, issues QBXML commands, and receives QBXML responses back from QuickBooks through the QBWC agent. This means QuickBooks and QBWC must be running for the integration to work.
- Which Workday API surface handles payroll GL journals that need to post into QuickBooks?
- Payroll GL journals are financial records, so they come through Workday's SOAP API (Web Services for Workday, or WWS), not the REST API. ml-connector uses Workday's SOAP endpoint with WS-Security Integration System User credentials to retrieve accounting journals after each payroll run, then translates them into QBXML and posts them into QuickBooks via the Web Connector agent.
- What happens if the customer's QuickBooks edition uses a different QBXML schema than expected?
- Different QuickBooks editions (Pro, Premier, Enterprise) and regions (US, UK, Canada, Australia) use different QBXML schemas with different field names and entities. ml-connector tracks the customer's QuickBooks version and regional edition at setup and adjusts the QBXML envelope accordingly. If the schema changes mid-integration, the system will error on the next poll so you can update the configuration before payroll records are affected.
Related integrations
More QuickBooks Desktop integrations
Other systems that connect to Workday HCM
Connect QuickBooks Desktop and Workday HCM
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started