Oracle NetSuite and Workday HCM integration
Oracle NetSuite runs your general ledger, purchasing, and inventory. Workday HCM runs your workers and payroll across multiple cost centers and organizations. Connecting them keeps your workforce master data aligned with your chart of accounts and departments. New hires and terminations in Workday reflect immediately in NetSuite headcount, and departments and cost centers stay in sync across both systems. ml-connector handles the different authentication models and moves the data on a schedule you control.
What moves between them
The main flow is Workday into Oracle NetSuite. Worker records, compensation, and cost center assignments from Workday are polled on a schedule tied to your payroll or HR cycle and written into NetSuite employee and department entities. GL accounts and cost centers are validated in both directions so every payroll allocation can post to a dimension that exists in NetSuite. Payroll GL journals generated in Workday can also be read and posted into NetSuite's general ledger. The relationship is hierarchical: Workday organizations map to NetSuite departments, Workday positions align with NetSuite employee job assignments, and Workday cost centers validate against NetSuite general ledger dimension values.
How ml-connector handles it
ml-connector stores both credential sets encrypted and manages two separate OAuth2 flows: NetSuite Client Credentials (M2M) with certificate and Workday REST with a refresh token. NetSuite tokens expire every 60 minutes, so ml-connector requests a new token before each batch of SuiteQL queries. Workday tokens refresh via the long-lived refresh token when the 60-minute access window closes. Because Workday publishes no webhooks, polling drives the schedule tied to your payroll calendar. Cost centers and organizations are synced first to establish the dimension hierarchy in NetSuite, then workers are upserted so compensation postings land on valid GL account and cost center combinations. Worker terminations in Workday trigger a deactivation in NetSuite. Workday rate limits return HTTP 429 with Retry-After, so ml-connector backs off and retries. Every record carries a full audit trail and can be replayed if a downstream write fails.
A real-world example
A mid-sized professional services firm runs Oracle NetSuite for project accounting, vendor management, and general ledger, and uses Workday HCM for staffing and payroll across multiple offices and cost centers. Before the integration, the finance team received a monthly headcount report exported from Workday and manually verified it against NetSuite's employee count and department assignments, then reconciled differences by hand. With Workday and Oracle NetSuite connected, worker hires and terminations flow automatically into NetSuite, departments and cost centers are always in sync, and the finance team stops spending days on manual headcount reconciliation. Month-end close starts with employee and cost center records already aligned.
What you can do
- Sync Workday workers into Oracle NetSuite employees and keep headcount aligned with hires, transfers, and terminations.
- Map Workday organizations and cost centers to NetSuite departments and GL dimensions so compensation postings land on valid accounts.
- Authenticate Oracle NetSuite with OAuth 2.0 Client Credentials and Workday with OAuth 2.0 refresh token on REST or WS-Security on SOAP.
- Poll Workday on a schedule tied to your payroll or HR cycle, with automatic retries and a full audit trail on every record.
- Handle both systems' token expiry and rate limiting without manual intervention or outage.
Questions
- Which direction does data move between Oracle NetSuite and Workday HCM?
- The main flow is Workday into Oracle NetSuite. Worker records, compensation, cost centers, and organizations flow from Workday into NetSuite so headcount and department assignments stay aligned with the general ledger. GL accounts and dimensions are validated in both directions so payroll postings land on valid NetSuite accounts. NetSuite's general ledger is read-only from Workday.
- How does ml-connector handle the different authentication models?
- Oracle NetSuite uses OAuth 2.0 Client Credentials with a certificate for M2M integration, with tokens expiring every 60 minutes and no refresh token. Workday REST API uses OAuth 2.0 with a long-lived refresh token. ml-connector stores both credential sets encrypted, manages token refresh separately for each system, and requests new NetSuite tokens before each batch of queries to stay current.
- Since Workday has no webhooks, how does the integration stay current?
- ml-connector polls Workday on a schedule tied to your payroll calendar, such as daily or on payroll run days. Most Workday resources support date-filtered queries for incremental pulls, so the integration only fetches new or changed records since the last poll. Workday rate limits return HTTP 429 with Retry-After, so ml-connector backs off and retries rather than skipping records.
Related integrations
More Oracle NetSuite integrations
Other systems that connect to Workday HCM
Connect Oracle NetSuite and Workday HCM
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started