ml-connector
Workday Financial ManagementRippling

Workday Financial Management and Rippling integration

Workday Financial Management runs procurement, payroll accruals, and general ledger. Rippling runs HRIS, payroll, and employee benefits. Connecting the two keeps your workforce dimensions and general ledger cost allocations in sync. New hires, terminations, and compensation changes in Rippling flow into Workday's GL dimensions and supplier cost centers, so your labor accounts stay reconciled without manual entry. ml-connector handles the different authentication models and transforms payroll data into GL-ready formats.

How Workday Financial Management works

Workday Financial Management exposes suppliers, purchase orders, supplier invoices, GL accounts, worktags, payments, and journal entries through SOAP/XML and REST/JSON APIs. The primary SOAP interface at {hostname}.myworkday.com uses WS-Security UsernameToken authentication with an Integration System User account. The REST interface uses OAuth2 refresh-token flow with manually generated refresh tokens exchanged for 1-hour access tokens. Workday has no native webhooks for financial entities, so connectors must poll with date-range filters on Get operations, with recommended intervals of 15 to 60 minutes for transactional records and daily for reference data. Polling faster than 5 minutes risks tenant-level rate throttling.

How Rippling works

Rippling provides employee records, payroll runs, compensation, benefits, departments, legal entities, accounting dimensions, and work locations through REST APIs in JSON. Authentication uses OAuth2 bearer tokens (for App Shop integrations) or API key tokens (for direct server-to-server calls). Employee lifecycle events such as creation, termination, rehire, and department or manager changes are available via webhooks for App Shop integrations, or can be polled via the GET /platform/api/employees endpoint with an updated_at filter. Compensation data may be redacted based on entitlements. Employees can be created and updated only with App Shop OAuth credentials and the employees:write scope; the base API is read-only for employee writes. Time entries support Idempotency-Key headers for safe retries.

What moves between them

The primary data flow runs from Rippling into Workday Financial Management. Employee records, department assignments, and compensation data move from Rippling to Workday, mapped to worktags and GL cost centers so payroll allocations land on valid accounts. Compensation changes such as salary adjustments and job changes trigger GL dimension updates in Workday, so accrual accounts reflect the current headcount. The integration polls Rippling employee records and payroll runs on a schedule tied to your pay cycle, typically weekly or biweekly, and transforms payroll liabilities into GL entries for accrual matching.

How ml-connector handles it

ml-connector stores both OAuth2 credential sets encrypted and handles refresh-token cycles on both sides, requesting new access tokens from Rippling and Workday when a call returns 401. It accepts the Rippling API key or OAuth2 credentials and uses either polling or webhooks (if App Shop OAuth is enabled) to capture employee lifecycle changes. For Workday, it uses the SOAP interface for complex GL dimension writes and REST for lighter reads, applying both ISU UsernameToken and OAuth2 refresh tokens as needed. Employee records are normalized first: departments and compensation fields are extracted from Rippling, mapped to Workday worktags and cost centers, and validated against Workday's GL account list before any write. Because Workday has no webhooks, the integration polls Rippling on a weekly or biweekly schedule aligned to your payroll calendar, and it deduplicates repeated polls using the updated_at timestamp on Rippling employees to avoid re-writing unchanged records. Compensation changes trigger GL accrual entries only when thresholds are met, so minor adjustments do not flood the ledger. Every transformed record carries a full audit trail, tracking the source employee ID, the mapped GL account, and the journal entry ID in Workday, so payroll can be replayed or corrected if a downstream write fails.

A real-world example

A mid-market professional services firm runs Workday Financial Management for procurement and general ledger, and Rippling for payroll, HRIS, and benefits across four regional offices. Before the integration, the finance team received a CSV of active employees and compensation from Rippling each month, manually updated cost center and compensation worktags in Workday, and ran a reconciliation step to verify that every payroll accrual GL account matched the current headcount and salaries in Rippling. With Workday and Rippling connected, employee hires and terminations flow automatically into Workday's workforce dimensions, salary changes trigger GL accrual updates on the same day, and month-end close starts with the payroll accrual accounts pre-reconciled. The manual worktag maintenance step is eliminated, and discrepancies between HR headcount and GL balances are caught immediately.

What you can do

  • Sync employee hires, terminations, rehires, and department changes from Rippling into Workday worktags and GL cost centers.
  • Update GL accrual accounts and payroll liability dimensions when compensation changes in Rippling, with validation against Workday's active GL account list.
  • Map Rippling departments and job titles to Workday cost centers so payroll allocations land on valid GL dimensions.
  • Handle OAuth2 refresh cycles and ISU authentication on both sides, with encrypted credential storage and automatic token refresh on 401 responses.
  • Poll Rippling on a schedule tied to your pay cycle, deduplicate repeated polls using timestamps, and maintain a full audit trail on every GL entry.

Questions

How does ml-connector handle Workday's lack of webhooks and Rippling's webhook restriction?
ml-connector polls Rippling's employee records and compensation on a schedule aligned to your payroll cycle, typically weekly or biweekly. It uses the updated_at timestamp on Rippling employees to avoid re-writing unchanged records, and it validates every GL dimension against Workday before writing to avoid duplicate accounts. If your Rippling instance is an App Shop integration with webhooks enabled, ml-connector can listen for real-time employee lifecycle events instead, but the default is polling.
What happens when Rippling compensation data is redacted or Workday GL accounts are missing?
Rippling may redact compensation data based on entitlements, in which case ml-connector skips compensation-based GL updates for that employee and flags the record in the audit log. If a Workday GL account or cost center does not exist, ml-connector halts the write, logs the mismatch, and alerts the finance team so the missing account can be added to Workday before the next sync cycle. No partial writes are applied.
Does ml-connector write back employee or compensation data from Workday into Rippling?
No. Rippling is the authoritative employee and payroll system, and Workday is the authoritative GL system. ml-connector reads employees and compensation from Rippling and writes GL dimensions and accrual allocations into Workday. Rippling employees can only be updated via the Rippling API with the employees:write scope, which is outside this integration's scope.

Related integrations

Connect Workday Financial Management and Rippling

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started