Oracle E-Business Suite and UPS integration
Oracle E-Business Suite runs procurement and supply chain for on-premises enterprises. UPS manages shipments and tracking. Connecting them keeps your purchase order fulfillment in sync with UPS shipments without manual entry. When a purchase order moves to receiving in EBS, ml-connector creates a shipment in UPS and writes tracking events back to EBS so finance and procurement have a single source of shipment truth.
What moves between them
The main flow runs from Oracle E-Business Suite into UPS. ml-connector polls purchase orders and receipt headers from EBS on a daily or weekly schedule, creates shipments in UPS with the carrier and destination from the receipt, and receives tracking events from UPS either via webhook subscription or Quantum View polling. Tracking numbers and delivery status are written back to EBS via an open interface table and imported by a concurrent program, so procurement and accounting see shipment milestones alongside the original purchase order.
How ml-connector handles it
ml-connector stores both the EBS Basic Auth credentials and the UPS OAuth client credentials encrypted, and refreshes the UPS token when calls return 401. For EBS, it accepts the full customer hostname and port, includes the required application context headers (ctx_orgid, ctx_responsibility, ctx_securitygroup, ctx_nlslanguage) on every read, and polls the purchase order headers and receipts tables filtered by LAST_UPDATE_DATE with pagination. For UPS shipment creation, it validates addresses against UPS before posting, rates each shipment based on the destination and weight from EBS, and returns the assigned tracking number. When writing tracking data back to EBS, ml-connector inserts into the open interface table and records the concurrent program job ID so the import status can be monitored. If a concurrent program import fails, ml-connector retries the write through the interface table. Track Alert subscriptions in UPS expire after 14 days and are renewed automatically on a cron schedule. Every record carries a timestamp and audit trail so failed shipments or tracking updates can be replayed.
A real-world example
A mid-sized manufacturing company runs Oracle E-Business Suite on-premises for procurement and finance, and uses UPS as its primary carrier for outbound shipments. Before the integration, the warehouse team created shipments in UPS manually after goods were received and inspected in EBS, then procurement manually entered tracking numbers back into EBS for visibility. Reconciliation between EBS purchase orders and UPS shipments was done by hand, and discrepancies between the two systems caused delays in accounting close. With EBS and UPS connected, each received purchase order automatically generates a shipment in UPS, tracking updates flow back to EBS in real time, and procurement and accounting have a single unified view of shipment status tied to the original order.
What you can do
- Poll Oracle E-Business Suite purchase orders and receipt headers on a daily or weekly schedule filtered by last update date.
- Create shipments in UPS with address validation and carrier rating based on origin, destination, and weight from EBS.
- Write tracking numbers and delivery status back to Oracle E-Business Suite via open interface tables and concurrent program import.
- Handle OAuth token refresh for UPS and HTTP Basic Auth with application context headers for EBS, with encrypted credential storage.
- Subscribe to UPS Track Alert webhooks with automatic 14-day renewal, or poll Quantum View for shipment visibility when webhooks are unavailable.
Questions
- How does ml-connector handle Oracle E-Business Suite's lack of webhooks and asynchronous write operations?
- ml-connector polls EBS purchase orders and receipts on a schedule you control, filtering by LAST_UPDATE_DATE. When writing tracking data back to EBS, ml-connector inserts into an open interface table and monitors the concurrent program import job. If the import fails, the record is retried and tracked in the audit trail.
- What happens when a UPS Track Alert subscription expires or a tracking number is not found?
- UPS Track Alert subscriptions expire after 14 days and must be renewed. ml-connector automatically renews subscriptions on a cron schedule. If a tracking number is not found in UPS, ml-connector logs the error and can replay the subscription request once the shipment is visible in UPS.
- Does ml-connector support address validation and shipping rate quotes before creating a shipment?
- Yes. ml-connector validates addresses against UPS Address Validation before posting a shipment, and it queries the UPS rating API to quote the shipping cost based on origin, destination, weight, and service level from the EBS purchase order.
Related integrations
More Oracle E-Business Suite integrations
Other systems that connect to UPS
Connect Oracle E-Business Suite and UPS
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started