Epicor Kinetic and ServiceNow integration
Epicor Kinetic runs your supply chain and finance. ServiceNow runs your procurement and supplier management. Keeping the two in sync means purchase orders and invoices flow from Epicor into ServiceNow without re-entry, and vendor changes stay aligned across both platforms. ml-connector polls Epicor on a schedule you control, transforms the records to match ServiceNow's schema, and writes them into your accounts payable staging tables so they are ready for downstream approval workflows.
What moves between them
The main flow is from Epicor Kinetic into ServiceNow. Purchase orders and invoices are polled from Epicor at a cadence you control and written into ServiceNow's accounts payable staging tables. Vendors are polled from Epicor and synced to ServiceNow's supplier records to keep procurement contact and payment details aligned. Reference data such as GL accounts and cost centers are matched between the two systems so invoices land on valid financial dimensions in both platforms. Writes flow one direction only; ServiceNow data does not flow back into Epicor.
How ml-connector handles it
ml-connector stores Epicor and ServiceNow credentials encrypted and refreshes OAuth2 bearer tokens on both sides before they expire (Epicor at roughly 1 hour, ServiceNow at 30 minutes). On the Epicor side, it includes the required API Key header in addition to the Bearer token, accepts the customer's tenant URL (cloud or on-premises), and includes the mandatory company segment in all OData paths. It polls with OData filter expressions on UpdatedOn to retrieve only records changed since the last sync, using offset pagination with $top=100 and $skip. On the ServiceNow side, it routes to the customer's unique instance subdomain and writes records into the appropriate Source-to-Pay staging tables. Purchase orders and invoices are transformed from Epicor's data model to ServiceNow's schema, mapping Epicor vendors to ServiceNow suppliers and GL accounts to cost centers. ml-connector backs off and retries on transient errors, tracks every record in its audit log, and can replay a record if a downstream write fails.
A real-world example
A mid-sized discrete manufacturer runs Epicor Kinetic ERP for procurement and finance, and ServiceNow for IT service management with the Source-to-Pay Operations procurement module. Before the integration, the procurement team exported purchase orders and invoices from Epicor twice a week and manually re-entered them into ServiceNow for approval workflows and cost allocation, a process that created data drift and delayed approvals by days. With Epicor Kinetic and ServiceNow connected, every new purchase order and invoice appears in ServiceNow automatically within minutes, routed to the correct cost center, and ready for approval. The procurement team no longer re-keys data, and approval workflows start with complete, accurate information.
What you can do
- Poll purchase orders and invoices from Epicor Kinetic on a schedule you control and sync them into ServiceNow's accounts payable staging tables.
- Map Epicor vendors to ServiceNow supplier records so procurement contact and payment details stay aligned across both systems.
- Transform Epicor GL accounts and cost center data to ServiceNow dimensions so invoices land on the correct financial accounts.
- Handle Epicor's tenant-specific URLs, company segment requirement, API Key headers, and OAuth2 token refresh at both sides.
- Track every record with a full audit trail and replay failed writes if a downstream API call fails.
Questions
- Which direction does data move between Epicor Kinetic and ServiceNow?
- The main flow is from Epicor Kinetic into ServiceNow. Purchase orders, invoices, and vendor records are polled from Epicor and written into ServiceNow's accounts payable staging tables and supplier records. Reference data such as GL accounts and cost centers are aligned in both directions so invoices land on valid financial dimensions. Writes flow one direction only; ServiceNow data does not flow back into Epicor.
- How does ml-connector handle Epicor's lack of webhooks and the requirement for company segments?
- ml-connector polls Epicor on a schedule you define using OData filter expressions on date fields to retrieve only changed records since the last sync. Every API call includes the required API Key header in addition to the Bearer token, and the company segment is included in all OData v2 paths. Pagination uses offset-based $top and $skip parameters to retrieve large datasets reliably.
- What happens when OAuth2 tokens expire on either side?
- ml-connector tracks token lifespan on both sides and refreshes Bearer tokens before they expire (Epicor roughly hourly, ServiceNow at 30 minutes). The refresh happens transparently, so your integration does not experience outages from expired credentials. If a refresh fails, ml-connector returns an error and logs it to your audit trail for investigation.
Related integrations
More Epicor Kinetic integrations
Other systems that connect to ServiceNow
Connect Epicor Kinetic and ServiceNow
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started