Inbound Integrations (XML)

OTM supports several methods for receiving data from external systems. This topic covers XML-based integrations, which are the most common approach in OTM implementations.

Integration Methods Overview:

GlogXML via Middleware: XML files following the GlogXML schema, posted to OTM from middleware platforms such as Oracle SOA/BPEL, webMethods, or MuleSoft. This is the most common approach for production integrations.
Manual XML Upload: OTM users manually upload a GlogXML-formatted XML file through the OTM Integration Manager screen. Useful for testing, one-time loads, or small data corrections.
CSV Upload: Uploading data using comma-separated value files for supported OTM entities. See the CSV Data Uploads topic for details.
DB.XML Upload: A method for loading data directly using database-level XML files, typically used in implementations or data migrations.
REST API: Newer versions of OTM support REST API-based integrations for querying and updating OTM data without using GlogXML format.
HTTP Post from Code: Custom programs written in PL/SQL, Java, or other languages can post GlogXML directly to the OTM WMServlet endpoint. See the Post Data via HTTP Request topic for details.

GlogXML Schema:

What is OTM ?

OTM stands for Oracle Transportation Management. It is a software product designed to automate various logistics business processes — receiving orders from source ERP systems for freight consolidation, optimizing routes and shipping costs, sending tender requests to carriers, receiving shipment tracking events, processing invoices, allocating freight costs to orders, and more.

Some of the Core Capabilities of OTM:

Order Management: Receive Purchase Orders (Order Base) from source ERP or legacy systems and create Order Releases (Bookings) for full or partial quantities, either manually or through automated release rules.
Bulk Planning: Consolidate Order Releases (Bookings) with common source and destination locations, or build multi-stop shipments. The Bulk Plan algorithm identifies the optimal route (Itinerary), selects the least-cost carrier based on pre-configured rates, optimizes loading of items into equipment, and calculates in-transit times.
Third-Party Rate and Distance Engines: OTM can dynamically fetch LTL rates from third-party engines such as SMC³ RateWare XL, and calculate distances between locations using mileage engines such as PC*MILER or MileMaker.
Tendering: Send Tender Offer requests to the carriers identified during planning. If a carrier cannot accept XML tender files directly, middleware tools such as MuleSoft, Oracle BPEL, or similar integration platforms can be used to translate OTM outbound XML to carrier-readable formats such as EDI.
Tender Response: Receive and process carrier tender responses and update the shipment accordingly.
Shipment Tracking: Receive shipment tracking updates from carriers and update shipment status in OTM.
Invoicing: Receive and process invoices from carriers, match invoice costs against planned costs for approval, create vouchers for approved invoices, and allocate freight costs back to customer orders.

Ease of Implementation:

Order Management Data Structure

OTM models order management across three levels: the Purchase Order (what was ordered), the Order Release (a confirmed booking for movement), and Order Movements (the planned legs of that movement). Understanding this hierarchy and the underlying tables is essential for integration work and troubleshooting.

Purchase Order (Order Base):

A Purchase Order represents the commercial transaction — what items are being moved, from where, to where, and under what terms. POs are typically created in an ERP system (e.g. Oracle E-Business Suite) and sent to OTM via inbound integration. Note that POs often lack exact weight and volume details, which are required for shipment planning — those are defined on the Order Release.

Outbound Integrations

OTM can generate outbound XML data for any business object — Order Release, Shipment, Invoice, and more — and send it to an external system such as a carrier platform, ERP, or middleware. This can be triggered manually using the Send Interface Transmission action, or automatically from an OTM Agent (workflow). OTM Agents are covered in a later topic.

There are three things you need to set up before OTM can send outbound data: