ml-connector
Epicor KineticWorkday HCM

Epicor Kinetic and Workday HCM integration

Epicor Kinetic runs manufacturing, distribution, and finance operations. Workday HCM runs workforce management and financial accounting. Connecting them keeps your GL accounts aligned across systems so that supplier invoices and labor allocations in Workday post to the correct Epicor cost centers without manual mapping. New vendors and cost center changes propagate between systems automatically, and the accounting records in both platforms reflect the same source of truth.

How Epicor Kinetic works

Epicor Kinetic exposes vendors, purchase orders, AP invoices, GL accounts, cost centers, and invoice line items through REST and OData v4 endpoints. Cloud instances use a tenant-specific URL (https://<tenant>.epicorsaas.com/<instance>/api/v2/odata/<Company>/) and authenticate via Basic Auth, API Key header, or OAuth2 client credentials. On-premises sites use Token Resource Service to exchange credentials for a short-lived bearer token. Epicor has no native webhooks, so connectors must poll using OData $filter on date fields (UpdatedOn gt {timestamp}) with offset pagination ($top=100&$skip=0). Tokens expire in approximately one hour.

How Workday HCM works

Workday HCM exposes workers, suppliers, purchase orders, supplier invoices, GL accounts, and accounting journals through REST and SOAP APIs with customer-specific subdomains. REST API requires OAuth2 with refresh tokens (60-minute access token expiry), while SOAP APIs (WWS) use WS-Security UsernameToken authentication with an Integration System User. Supplier invoice data is read-only and does not support date-filtered delta queries, so full extracts are required. Workday enforces HTTP 429 rate limits with Retry-After headers and supports only polling; native webhooks are not available. Financial data access requires SOAP; REST covers only HCM and staffing resources.

What moves between them

Epicor Kinetic vendors and GL accounts flow into Workday HCM to populate the supplier master and accounting dimension tables. Workday supplier invoices and accounting journals flow into Epicor as reference data to align cost center mappings. Because Epicor is poll-only and has no native event push, ml-connector polls both systems on a weekly or monthly procurement cycle, triggered on supplier or GL account changes and before payroll close so Workday allocation records reference valid Epicor dimensions.

How ml-connector handles it

ml-connector stores separate credential sets for Epicor (Basic Auth, API Key, or OAuth2) and Workday (OAuth2 refresh token for REST, WS-Security ISU credentials for SOAP). For Epicor, it constructs the full tenant URL from configuration, applies the API Key header to every request, and refreshes bearer tokens before they expire in one hour. For Workday, it uses REST for HCM worker and position queries and SOAP for supplier invoices and GL postings because financial data is SOAP-only. Since both systems poll-only and neither supports webhooks, ml-connector synchronizes on a schedule tied to your procurement calendar. GL accounts and cost centers are mapped bidirectionally so Workday supplier invoices and expense allocations reference existing Epicor accounts. Workday enforces rate limits with HTTP 429 and Retry-After headers, so ml-connector honors the wait time before retrying. Supplier invoice extracts from Workday cannot be delta-filtered by date, so ml-connector periodically fetches the full supplier invoice list and deduplicates by Workday record ID. Every record carries a full audit trail and can be replayed if a mapping or credential refresh fails.

A real-world example

A mid-sized manufacturing company runs Epicor Kinetic for procurement and general ledger management across three plants, and uses Workday HCM for supplier master data, accounts payable, and labor cost accounting. Before the integration, the procurement team manually uploaded Epicor vendor masters to Workday quarterly and re-mapped supplier invoices in Workday to Epicor GL accounts and cost centers by hand, introducing mapping errors that required rework at month-end close. With Epicor Kinetic and Workday HCM connected, vendor changes sync automatically, and Workday supplier invoices are pre-mapped to the correct Epicor GL accounts and plant cost centers on the procurement schedule. Month-end reconciliation between accounts payable and the GL is faster because the accounts already align.

What you can do

  • Sync Epicor Kinetic vendors and GL accounts to Workday HCM so supplier invoices post to valid accounting dimensions.
  • Map Workday supplier invoices to Epicor cost centers and GL accounts based on sourcing plant and expense type.
  • Handle Epicor multi-auth schemes (Basic Auth, API Key, OAuth2) and Workday split REST and SOAP APIs transparently.
  • Poll both systems on a procurement and payroll schedule with OAuth2 token refresh and HTTP 429 rate-limit backoff.
  • Maintain a full audit trail of every vendor and GL account sync with replay and error recovery for failed mappings.

Questions

Why does Workday require both REST and SOAP APIs?
Workday surfaces REST for HCM data (workers, positions, organizations) but restricts financial and procurement data (suppliers, invoices, GL accounts, journals) to SOAP APIs only. ml-connector uses both surfaces so that supplier invoices and accounting data align with GL accounts that are defined in SOAP. If you use only REST, supplier invoices cannot be fetched or mapped to GL accounts.
Does the integration handle Epicor's different cloud and on-premises authentication?
Yes. ml-connector detects whether your Epicor instance is cloud (SaaS) or on-premises and applies the correct authentication flow. Cloud instances use OAuth2 or API Key authentication against the tenant URL. On-premises instances use Token Resource Service to exchange credentials for a bearer token. Both token types expire in approximately one hour, so ml-connector refreshes them automatically before timeout.
How does the integration handle Workday supplier invoices if they do not support date-filtered queries?
Since Workday supplier invoices cannot be delta-filtered by date, ml-connector fetches the full invoice list on every sync and deduplicates by Workday record ID to avoid re-processing. This approach is efficient for most companies but may impact rate limits on very large portfolios. For high-volume environments, consider running supplier invoice syncs less frequently (e.g., daily or weekly instead of real-time polling).

Related integrations

Connect Epicor Kinetic and Workday HCM

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

Get started