ml-connector
Workday Financial ManagementJira

Workday Financial Management and Jira integration

Workday runs your finances across accounts payable, procurement, and the general ledger. Jira tracks your work. Connecting them moves financial data into Jira's workflow so your finance and operations teams see invoices, reconciliations, and vendor records as actionable tasks that can be commented on, linked, and tracked to completion. ml-connector handles Workday's polling-only API and Jira's webhook lifecycle, so financial records flow into Jira automatically on your payment and close cycle.

How Workday Financial Management works

Workday Financial Management exposes suppliers, invoices, purchase orders, payments, GL accounts, worktags, and journal entries through two API surfaces. The SOAP interface at {hostname}.myworkday.com/ccx/service supports full CRUD operations with Integration System User authentication using WS-Security UsernameToken. The REST interface at {hostname}.workday.com/ccx/api/v1 is lighter-weight and requires OAuth2 with refresh token flow, producing a one-hour access token. Workday has no native webhooks for cloud connectors, so records must be polled with date-range filters; polling intervals of 15 to 60 minutes are recommended for transactional data, with a safe minimum of 5 minutes.

How Jira works

Jira exposes issues, projects, users, worklogs, and issue types through REST API with JSON payloads. Authentication uses OAuth2 authorization code (recommended) or Basic auth with email and API token. Jira supports webhooks via REST registration, emitting events for issue creation, updates, deletion, comments, worklogs, and project changes. Webhooks expire after 30 days from creation and must be refreshed before expiry. Webhook signatures are validated via HMAC-SHA256 in the X-Hub-Signature header. Jira has no native vendor, invoice, purchase order, or GL account entities, so financial data maps into issues as tracked workflows.

What moves between them

Workday Financial Management data flows one direction into Jira. On your payment schedule, ml-connector polls Workday for new supplier invoices, purchase orders, GL reconciliations, and payment batches. Each financial record becomes a Jira issue, tagged by type and vendor, with Workday identifiers stored as custom fields. Worktags and GL account codes map to Jira issue labels and descriptions so context is preserved. Jira's webhook subscription is maintained on a 25-day refresh cycle to prevent expiry. Updates in Workday are re-polled on the same schedule and reflected in Jira issue comments and status fields, creating an audit trail of the record's lifecycle.

How ml-connector handles it

ml-connector stores Workday ISU credentials or OAuth2 refresh tokens encrypted and polls Workday REST endpoints on your configured cadence using date-range filters to find new records since the last run. For OAuth2 refresh token expiry, ml-connector exchanges the refresh token for a fresh access token on each cycle. On the Jira side, ml-connector stores the OAuth2 client secret encrypted and registers a webhook via POST to /rest/api/3/webhook, then maintains that registration with PUT refresh calls every 25 days to prevent the mandatory 30-day expiry. Incoming Jira webhooks validate the HMAC-SHA256 signature in X-Hub-Signature before processing. Supplier invoices, POs, and GL items are mapped to Jira IssueType Custom Issue Types where available, with Workday record identifiers and key fields stored as custom field values. Because Workday has no native delta query, ml-connector preserves the last sync timestamp and queries only records modified since that mark. Payment batches and GL reconciliations are created as linked issues so your finance team can track the full lifecycle. Polling intervals as short as 5 minutes trigger Workday rate limits, so ml-connector respects your chosen cadence, typically 15 to 60 minutes for invoicing and daily for supplier reference data.

A real-world example

A mid-market B2B services firm runs Workday Financial Management across multiple departments for procurement and accounts payable. Each week, invoices from vendors arrive in Workday, and the operations team must manually track which ones have been received, approved, matched to POs, and scheduled for payment. Before the integration, the finance administrator reviewed invoices in Workday each morning and created a summary email or spreadsheet, which the operations team cross-referenced with their own issue tracker in Jira. With Workday and Jira connected, each new invoice appears automatically in Jira as an issue, linked to its PO and tagged with the vendor and amount. The approval workflow lives in Jira so teams add comments, request changes, and mark invoices ready for payment without context-switching. GL reconciliation records also surface in Jira so month-end close checklist items are never missed, and the full invoice lifecycle is auditable in both systems.

What you can do

  • Sync supplier invoices, purchase orders, and payment batches from Workday Financial Management into Jira as tracked issues.
  • Map Workday GL account codes and worktags to Jira issue labels and custom fields for financial context.
  • Authenticate Workday with ISU or OAuth2 and Jira with OAuth2, storing credentials encrypted.
  • Poll Workday on your payment cycle with date-range filters and automatically refresh Jira webhook registrations before 30-day expiry.
  • Track the full financial record lifecycle in Jira with a complete audit trail of changes, approvals, and status updates.

Questions

What financial records from Workday can flow into Jira?
Supplier invoices, purchase orders, payments, GL reconciliations, and payment batches can all be synced from Workday Financial Management into Jira as tracked issues. Workday does not expose these as native objects in Jira (which is an issue tracker, not a financial system), so ml-connector creates issues with the financial data stored in custom fields and descriptions. Worktags and GL account codes become issue labels for searching and filtering.
How does ml-connector handle Jira's 30-day webhook expiry and Workday's OAuth2 refresh token?
ml-connector maintains Jira's webhook registration by issuing a refresh call every 25 days, well before the mandatory 30-day expiry. For Workday, ml-connector stores the OAuth2 refresh token encrypted and exchanges it for a fresh access token on each polling cycle. If the refresh token itself expires, ml-connector halts and alerts so you can generate a new one in the Workday tenant without silent failures.
How does Workday's lack of webhooks affect the sync cadence?
Workday Financial Management has no native webhooks, so ml-connector polls on a schedule you define, typically 15 to 60 minutes for invoices and daily for suppliers. Because Workday tracks record modification timestamps, ml-connector queries only records changed since the last poll, minimizing API calls and cost. Polling intervals shorter than 5 minutes may trigger Workday tenant-level rate limits, so ml-connector respects your chosen cadence and documents the tradeoff between freshness and throttling.

Related integrations

Connect Workday Financial Management and Jira

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

Get started