Epicor Kinetic and FedEx integration
Epicor Kinetic is the ERP where you manage procurement, inventory, and GL accounts. FedEx is the carrier and logistics platform where you create shipments, quote rates, generate labels, and track packages. Connecting the two keeps your procurement and logistics timelines aligned. Purchase orders in Epicor automatically become shipments on FedEx, carrier quotes and rates stay current in your GL dimensions, and incoming tracking events update receiving status without manual data entry.
What moves between them
The main flow runs from Epicor Kinetic into FedEx. Purchase orders from Epicor are polled at set intervals and mapped into FedEx shipments, with shipper and recipient addresses drawn from vendor and customer records in Epicor. FedEx rate quotes are returned and stored in Epicor GL dimensions so shipping cost can be allocated to the correct cost center. Tracking events flow back from FedEx into Epicor at a polling cadence tied to your procurement calendar, updating the receiving status of each line item and creating an audit trail. Shipping labels are generated in FedEx and linked back to the original purchase order in Epicor.
How ml-connector handles it
ml-connector stores both Epicor OAuth2 credentials and FedEx API credentials encrypted, refreshing tokens before expiry so outages do not interrupt the sync. On the Epicor side, it polls purchase orders using OData $filter on the UpdatedOn field and the Company segment specified per customer. On the FedEx side, it batches tracking calls using the Track API, passing up to 30 tracking numbers per request to stay within rate limits. Rate quotes are cached and mapped to Epicor GL accounts so each shipment cost lands on the correct income statement line. FedEx auth rate limits require strict token caching to avoid the 403 lockout that triggers at three tokens in five seconds, and ml-connector implements exponential backoff on any 429 or 403 response. Purchase orders already shipped are marked as voided in Epicor using the two-step GetNewPO and UpdateMaster pattern. Every shipment and tracking event carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A mid-sized discrete distributor runs Epicor Kinetic for procurement and inventory across three warehouses in different regions. Before the integration, the procurement team entered purchase orders into Epicor, then manually created shipments in FedEx, tracked packages by logging into the FedEx portal, and updated receiving in Epicor after shipments arrived. Month-end reconciliation required matching Epicor receiving status to FedEx tracking events by hand. With Epicor Kinetic and FedEx connected, purchase orders automatically flow to FedEx, shipping rates are calculated and allocated to the correct GL account per warehouse, and incoming tracking updates automatically advance receiving status. The procurement team now sees shipment status inside Epicor and does not need to log into FedEx or re-key arrival dates.
What you can do
- Create FedEx shipments from Epicor Kinetic purchase orders, with shipper and recipient addresses automatically populated from vendor and customer records.
- Quote FedEx carrier rates and allocate shipping costs to the correct Epicor GL accounts and cost centers per warehouse.
- Poll FedEx Track API for package tracking events and automatically update Epicor receiving status and purchase order line items.
- Authenticate both Epicor Kinetic (OAuth2 Bearer token) and FedEx (OAuth2 client credentials) with strict token caching to avoid auth rate limits.
- Generate a full audit trail on every purchase order, shipment, and tracking event, with the ability to replay failed downstream calls.
Questions
- Which direction does data move between Epicor Kinetic and FedEx?
- The main flow is Epicor into FedEx. Purchase orders are polled from Epicor and mapped into FedEx shipments. Tracking events and rate quotes flow back from FedEx into Epicor to update receiving status and allocate shipping costs to GL accounts. Shipping labels are generated in FedEx and linked to the original purchase order in Epicor for audit and reconciliation.
- How does the integration handle Epicor Kinetic's polling-only architecture and FedEx rate limits?
- ml-connector polls Epicor purchase orders using OData $filter on the UpdatedOn field at intervals you control, avoiding the need for webhooks. On the FedEx side, it strictly caches OAuth2 tokens for up to one hour to stay under the three-tokens-per-five-seconds auth rate limit, and batches tracking calls to request up to 30 tracking numbers at once, staying within the 1,400-transaction-per-10-second API limit.
- How are shipping costs mapped to Epicor GL accounts?
- FedEx rate quotes are returned for each shipment and stored in Epicor GL dimensions based on the warehouse or cost center associated with the purchase order vendor. This allows month-end reconciliation to show shipping costs allocated to the correct income statement line without manual journal entries or cost reallocations.
Related integrations
More Epicor Kinetic integrations
Other systems that connect to FedEx
Connect Epicor Kinetic and FedEx
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started