Workday Financial Management and Shopify integration
Workday Financial Management runs your accounting and procurement. Shopify runs your e-commerce store. Connecting the two closes the gap between what you sold and what your general ledger shows. Every Shopify order becomes a revenue journal in Workday, allocated to the cost center and GL account for that sales channel or product category. Refunds flow back in as reversals. No more exporting sales reports from Shopify and hand-keying the totals into Workday.
What moves between them
Orders and refunds flow from Shopify into Workday Financial Management. ml-connector polls Shopify's REST API for new orders, fulfilled orders, and refunds on a daily or twice-daily schedule. Each order is mapped to a revenue journal entry in Workday, allocated to a GL account and cost center by sales channel or product category. Refunds create offsetting reversals. The integration is read-mostly on the Shopify side and write-mostly on the Workday side. No data flows back from Workday to Shopify.
How ml-connector handles it
ml-connector stores both the Shopify OAuth2 refresh token and the Workday Integration System User credentials encrypted in Postgres. For Shopify, it refreshes the OAuth2 access token before it expires and makes calls to the REST Admin API at the API version you specify. For Workday, it authenticates with either SOAP/WS-Security or REST/OAuth2 depending on the operation. Because neither Shopify nor Workday push finance events directly, ml-connector polls both systems on a schedule you set, typically daily after your payment processor settles. Orders are matched by date and customer email to detect duplicates. Each order line item becomes a separate journal line so cost centers align with product categories. If a line cannot map to a GL account (product category missing, GL account deleted), the record is held in the audit log and flagged for review rather than failing silently. Retries on transient failures use exponential backoff.
A real-world example
A mid-market D2C brand runs Shopify for online sales across multiple channels: website, Amazon marketplace, and a subscription tier. Finance closes monthly with a spreadsheet that exports order reports from Shopify and manually enters totals into Workday by cost center and product type. With Shopify and Workday Financial Management connected, each day's orders post into the revenue accounts automatically on the correct GL codes. Refunds reverse the corresponding lines. By month-end, the revenue accounts are already reconciled, variance analysis takes hours instead of days, and the manual data entry step is gone. The brand's growth from 2M to 20M in annual revenue did not require scaling up the finance team because the integration handles the volume.
What you can do
- Post Shopify orders into Workday Financial Management general ledger as daily revenue journals, mapped to the correct cost centers and GL accounts.
- Reverse Shopify refunds in Workday as offsetting journal entries on the matching cost centers and GL accounts.
- Authenticate Shopify with OAuth2 refresh tokens and Workday with ISU credentials or OAuth2, refreshing tokens before expiry.
- Poll Shopify and Workday on a schedule tied to your payment settlement cycle, with deduplication by order ID and audit trail on every record.
- Hold unmappable records (missing cost centers, deleted GL accounts) in the audit log for review rather than failing or skipping silently.
Questions
- Do Shopify refunds post back into Workday or sit in a holding account?
- Shopify refunds post directly into Workday as offsetting reversals on the same GL account and cost center as the original order. If a partial refund is issued, the reversal is for the refunded amount only, not the full order. This keeps the revenue accounts accurate without requiring a holding account or manual adjustments.
- What happens if a Shopify order cannot map to a Workday GL account or cost center?
- ml-connector holds the unmappable record in the audit log with a detailed error message and flags it for review. The integration does not skip the record or post it to a default account, so you have visibility into every transaction that needs attention. Once you add the missing cost center or GL account in Workday, you can replay the record from the audit log.
- How does the integration handle Workday's lack of webhooks?
- ml-connector polls Shopify's REST API and Workday's REST endpoint on a daily or twice-daily schedule, typically tied to when your payment processor settles orders. Shopify does support webhooks for orders/create and orders/updated, so you can optionally configure a webhook endpoint to notify ml-connector immediately of new orders for near-real-time posting instead of waiting for the scheduled poll.
Related integrations
More Workday Financial Management integrations
Other systems that connect to Shopify
Connect Workday Financial Management and Shopify
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started