ml-connector
Workday Financial ManagementSPS Commerce

Workday Financial Management and SPS Commerce integration

Workday Financial Management handles procurement and financial transactions. SPS Commerce manages the EDI network connecting you to retail trading partners like Walmart and Target. When these two are connected, purchase orders flow from retail partners through SPS into Workday's procurement module, and your supplier invoices and shipments flow back out to trading partners through SPS, all without manual file drops or re-keying. ml-connector translates between Workday's API schema and SPS's RSX JSON envelope format, keeping both sides in sync on your schedule.

How Workday Financial Management works

Workday Financial Management exposes suppliers, purchase orders, supplier invoices, payments, general ledger accounts, and worktags through both SOAP and REST APIs. SOAP operations run against {hostname}.myworkday.com/ccx/service/{tenant}/Financial_Management, while REST endpoints run against {hostname}.workday.com/ccx/api/v1/{tenant}. Authentication uses either an Integration System User with WS-Security UsernameToken (SOAP) or OAuth2 refresh-token flow (REST). Workday has no native webhooks or change-data-capture mechanisms, so inbound documents are read by polling with date-range filters at intervals of 15 to 60 minutes for transactional data. The ISU account and required security group assignments must be configured before integration can connect.

How SPS Commerce works

SPS Commerce exposes purchase orders, invoices, advance ship notices, inventory advice, and warehouse documents via REST/JSON at https://api.spscommerce.com, all wrapped in RSX envelope format version 7.7.7. Authentication uses OAuth2 client credentials, with tokens requested from https://api.spscommerce.net/authorization/v1/token (note the domain difference). All documents include trading partner identifiers that must be provisioned during onboarding; these cannot be discovered via API. SPS uses cursor-based pagination, and rate limits are not publicly documented. No vendor-defined idempotency is provided, so application-layer deduplication by document identifier (purchaseOrderNumber, invoiceNumber) is required.

What moves between them

Inbound EDI documents flow from trading partners through SPS Commerce into Workday. ml-connector polls SPS for new purchase orders and shipment notices at configurable intervals (5 to 15 minutes), unwraps the RSX envelope, and creates or updates purchase orders and goods receipts in Workday, mapped to the correct suppliers and GL cost centers. Outbound documents flow the other direction: when supplier invoices are posted in Workday, ml-connector wraps them in RSX format and pushes them to SPS Commerce for delivery to the trading partner, along with shipment confirmations and payment advices. The polling cadence is configurable per document type and trading partner.

How ml-connector handles it

ml-connector maintains two credential stores: a Workday refresh token (manually generated by the customer and stored encrypted) and SPS OAuth2 client credentials. For Workday, it refreshes the access token when needed and routes SOAP requests to the tenant-specific endpoint provided by the customer (since Workday publishes no shared base URL). For SPS, it handles the OAuth2 handshake against the separate token endpoint (.net vs .com domains) and wraps all outbound payloads in the required RSX 7.7.7 envelope before posting. Inbound SPS documents arrive in RSX format; ml-connector unwraps them and parses the trading partner ID and document type. Because SPS rate limits are undocumented, ml-connector implements exponential backoff with jitter on 429 responses. Deduplication uses document-level identifiers (purchaseOrderNumber, invoiceNumber) to prevent duplicate postings if a polling cycle reads the same record twice. Cursor-based pagination on the SPS side is handled transparently. All records carry a full audit trail so a failed downstream post can be retried.

A real-world example

A mid-sized consumer goods supplier manufactures household products and sells through major retail chains. Orders flow in from Walmart, Target, and Amazon through an SPS Commerce subscription. Before the integration, the supply chain team downloaded EDI files from SPS, manually converted them to Workday purchase orders using spreadsheets and copy-paste, then re-entered invoice totals for posting to GL. With Workday Financial Management and SPS Commerce connected, each retail purchase order arrives as a purchase order in Workday automatically, mapped to the right supplier and cost center. When the supplier invoices through SPS, the invoice posts directly into Workday's AP module. The manual file handling step disappears, and the invoice-to-PO matching process becomes straightforward.

What you can do

  • Poll SPS Commerce for inbound purchase orders and advance shipment notices, and create or update them in Workday as purchase orders and goods receipts mapped to the correct suppliers and GL cost centers.
  • Post supplier invoices and payment confirmations from Workday back through SPS Commerce to retail trading partners in the required RSX JSON envelope format.
  • Manage the OAuth2 credential flow for both Workday's refresh-token endpoint and SPS's client credentials endpoint, including automatic token refresh and expiry tracking.
  • Unwrap RSX 7.7.7 envelopes on inbound SPS documents and wrap Workday outbound payloads in RSX format for trading partner delivery.
  • Deduplicate inbound documents by purchase order number and invoice number, with full audit trail and replay capability on any failed downstream post.

Questions

How does ml-connector handle the differences between Workday's SOAP and REST APIs?
Workday Financial Management supports both SOAP (for complex operations like bulk PO creation and journal submission) and REST (for lighter reads). ml-connector prefers REST for most operations because it is simpler to integrate and monitor, but can fall back to SOAP operations when the customer requires it. The tenant-specific endpoint must be provided by the customer; Workday publishes no shared base URL.
What does RSX envelope wrapping mean, and why does SPS Commerce require it?
RSX (Rosettanet eXtensible) version 7.7.7 is SPS Commerce's standard envelope format for EDI documents. Every inbound document from SPS arrives wrapped in this envelope, and every outbound document (invoices, shipments) must be wrapped in it before posting. ml-connector handles unwrapping on the inbound side and wrapping on the outbound side automatically, so the customer sees clean Workday objects.
How does polling work with SPS Commerce if it has no native webhooks?
ml-connector polls the SPS /fulfillment/v1/purchaseorders endpoint at configurable intervals (5 to 15 minutes) and retrieves new or updated documents using cursor-based pagination. Because SPS rate limits are not publicly documented, ml-connector implements exponential backoff on 429 responses. Outbound documents (invoices, shipments) from Workday are pushed to SPS immediately on creation, giving you near-real-time delivery to trading partners while controlling inbound polling overhead.

Related integrations

Connect Workday Financial Management and SPS Commerce

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

Get started