Skip to content

Supply chain and logistics datasets for AI training

A supply chain dataset is a connected history of how goods were ordered, moved and delivered: purchase orders, supplier messages, advance ship notices, shipments, tracking events, exceptions such as delays and damage, how each was resolved, and freight documents such as bills of lading and invoices. SourceX sources these records from manufacturers, distributors, retailers, third-party logistics providers, brokers and carriers, typically spanning years of operations, and licenses them with trading partners tokenized and customer and vendor restrictions respected.

Dataset manifest

Sourced to your spec
What it is
Linked orders, shipments, tracking events, exceptions and freight documents from real operations
Typical systems
SAP S/4HANA, Oracle Transportation Management, Blue Yonder, Manhattan Active, MercuryGate, McLeod
Typical history
Operations logs spanning years; varies by partner
Modality
Structured transactions and EDI, scanned freight documents, supplier and carrier messages
Delivery formats
Agreed per order; linked Parquet or JSONL tables, parsed EDI, document images
Preparation
Trading partners and drivers tokenized; addresses generalized; rates banded or removed
Licensing
Permitted use agreed per order, within partners' customer and vendor contract limits
Availability
Sourced to your spec from shippers, 3PLs, brokers and carriers; not guaranteed

What a delivery contains

Fields vary by source system and are fixed per order. A typical delivery includes:

FieldTypeWhat it holds
po_idstringPseudonymous purchase order key, consistent across order, shipment, document and invoice tables.
partiesobjectTokens for buyer, supplier, carrier, logistics provider and ship-to location, each with its role and a coarse region.
po_linesarraySKU token, product category, quantity, unit of measure, requested and promised dates, and price where kept.
order_eventsarrayAcknowledgments, changes, promise-date revisions, backorders and cancellations, with the EDI transaction or message behind each.
messagesarraySupplier, carrier and customer emails or portal messages linked to the order or shipment they discuss, de-identified.
asnobjectAdvance ship notice with shipped quantities, packaging levels, carrier and bill of lading references.
shipmentobjectMode, service level, equipment, lane at three-digit ZIP or region level, load tender and acceptance, and planned pickup and delivery appointments.
trackingarrayStatus events with local timestamps and UTC offsets, reason codes and the source — carrier EDI, telematics, visibility platform or manual check call.
exceptionsarrayDelays, missed appointments, shortages, overages, damage, refusals and detention, with the recorded cause and who reported it.
resolutionsarrayWhat was done about each exception, such as rebooking, expediting, redelivery, credit, chargeback or freight claim, with cost and who bore it.
documentsarrayBills of lading, proofs of delivery, packing lists, commercial invoices, customs entries and rate confirmations, with extracted fields and a redaction log.
receipt_matchobjectReceived quantities and the three-way match between purchase order, goods receipt and supplier invoice.
freight_billobjectCarrier invoice with linehaul, fuel surcharge and accessorials, the freight audit result and the amount paid.

Example record

{
  "po_id": "po_2c71e9",
  "parties": { "buyer": "org_dist_03", "supplier": "sup_44f0", "carrier": "carrier_12", "ship_to": "dc_07" },
  "po_lines": [{ "line": 1, "sku": "sku_118a", "category": "packaged_food", "qty": 480, "uom": "case",
                 "requested_delivery": "2024-01-22" }],
  "order_events": [
    { "t": "2024-01-08T09:14:00-05:00", "type": "po_ack", "edi": "855", "status": "accepted_with_changes", "promised_qty": 360 },
    { "t": "2024-01-08T11:02:00-05:00", "type": "supplier_email",
      "text": "Packaging shortage on our side. We can ship 360 cases on 1/17; balance of 120 the week of 1/29." }
  ],
  "asn": { "edi": "856", "sent": "2024-01-17T18:20:00-06:00", "shipped_qty": 360, "pallets": 12, "bol": "bol_tok_51" },
  "shipment": { "id": "shp_9d03", "mode": "LTL", "lane": { "origin": "[ZIP3]", "destination": "[ZIP3]" },
                "tender": { "edi": "204", "accepted": true }, "delivery_appointment": "2024-01-22T08:00:00-05:00" },
  "tracking": [
    { "t": "2024-01-17T17:55:00-06:00", "status": "picked_up", "source": "carrier_edi_214" },
    { "t": "2024-01-19T03:10:00-05:00", "status": "at_destination_terminal", "source": "carrier_edi_214" },
    { "t": "2024-01-22T06:30:00-05:00", "status": "delayed", "reason": "weather", "source": "carrier_edi_214" },
    { "t": "2024-01-23T10:45:00-05:00", "status": "delivered", "source": "carrier_edi_214" }
  ],
  "documents": [
    { "id": "pod_img_51", "type": "proof_of_delivery", "signature": "[REDACTED]",
      "handwritten_notation": "2 CS CRUSHED - REFUSED" }
  ],
  "exceptions": [
    { "type": "missed_appointment", "hours_late": 26.75, "cause_recorded": "weather" },
    { "type": "damage", "qty": 2, "uom": "case", "noted_on_pod": true }
  ],
  "resolutions": [
    { "exception": "missed_appointment", "action": "rescheduled_appointment", "cost": 0 },
    { "exception": "damage", "action": "freight_claim", "filed": "2024-01-24", "amount": 96.00,
      "outcome": "paid_in_full", "closed": "2024-03-04", "borne_by": "carrier" }
  ],
  "receipt_match": { "received_qty": 358, "invoice_edi": "810", "invoiced_qty": 360,
                     "result": "quantity_variance", "action": "paid_in_full_loss_claimed_from_carrier" },
  "freight_bill": { "edi": "210", "billed": 412.50, "paid": 337.50,
                    "accessorials": [{ "type": "liftgate", "amount": 75.00, "audit": "rejected_not_on_rate_confirmation" }] }
}

Synthetic record for illustration. Field names, structure and format are agreed per order.

What AI teams use it for

Train exception-handling agents

Delays, shortages and damage linked to the action that resolved each one, and what it cost, show an agent which response worked for which exception on which kind of lane.

Predict delays and arrival times

Planned appointments beside actual event times give delay labels across carriers, lanes, modes and seasons, without any manual annotation.

Extract and reconcile freight documents

Scanned bills of lading, proofs of delivery and invoices paired with the structured records they should match give document models ground truth for extraction and three-way matching.

Turn supplier and carrier messages into updates

Emails announcing delays, partial shipments and substitutions, linked to the order changes that followed, teach models to update promise dates and flag at-risk orders.

Audit freight bills

Carrier invoices with audit outcomes show which accessorial charges and rate variances were disputed, and which were paid.

Use-case guides: Enterprise and computer-use agents, Document AI, enterprise search and RAG, Finance and accounting agents

What makes this data valuable

Planned versus actual

Appointments and promise dates beside actual event times turn every shipment into a timing label.

A linked document chain

Purchase order, ship notice, bill of lading, proof of delivery and invoice share keys, so extracted fields have ground truth.

Resolved exceptions

Each delay or damage record carries the action taken, its cost and who paid.

Messages in context

Supplier and carrier emails sit on the order or shipment they changed.

Event provenance

Tracking events tagged with their source let you weight carrier EDI, telematics and manual check calls differently.

Disruption coverage

Several years of history include peak seasons, weather events and capacity swings.

Exceptions are where the signal is

Most shipments go to plan, and their records are close to identical: tendered, picked up, in transit, delivered. Models trained on public freight data or simulated networks see mainly that happy path. The work that logistics teams spend their days on is the minority of orders that go wrong — a supplier ships short, a load misses its appointment, freight arrives damaged, an invoice carries a charge nobody agreed to — and what they did next.

That record is scattered by design. The delay shows up as a status event in the transportation system, the explanation in an email thread with the carrier, the damage as a handwritten note on a delivery receipt, the claim in a separate claims tool and the cost as a deduction in accounts payable. Assembling those pieces under one order is what turns operational exhaust into a training example with a cause, an action and an outcome. It is also why a smaller set of fully linked histories is worth more than a larger pile of unlinked events.

Common traps in logistics data

  • Orders and shipments do not map one to one. One order splits across several shipments, one truck carries many orders, and less-than-truckload freight changes trailers at terminals. Keep line-level mappings, or delay labels attach to the wrong order.
  • Reference numbers multiply. Order numbers, bill of lading numbers, carrier PRO numbers, load IDs and container numbers are each the key in a different system. Pseudonymize them consistently across every table, or the joins break.
  • Time zones hide in plain sight. Events are often stored in the local time of wherever they happened, sometimes without an offset. A pickup in one zone and a delivery in another can produce transit times off by hours.
  • Status vocabularies differ by carrier. The same code can mean different things across carriers, and some "delivered" events are inferred by a visibility platform rather than reported. Ask for the mapping tables used.
  • One partner's network shapes the sample. A single logistics provider reflects its own customers, lanes and carrier base. Combining partners, or weighting by lane, stops one network's habits from passing as general rules.

What to check before licensing

  • Check who controls each record and what contracts say about it. A third-party logistics provider, broker or forwarder moves freight for shipper clients whose agreements often restrict use of their shipment data, and supplier agreements and carrier rate confirmations can carry confidentiality terms of their own.
  • Find out which tracking data came from a visibility platform or a carrier's telematics provider, and whether those providers' terms allow the partner to license it.
  • Test commercial anonymity on the sample. Even with names tokenized, a lane, date and volume together can point to one shipper, and a niche SKU to one supplier.
  • Review personal data on the sample, including driver names and phone numbers in dispatch notes, signatures and printed names on delivery receipts, residential addresses in final-mile deliveries and GPS traces tied to individual drivers.
  • Confirm that rescheduled appointments and revised promise dates were kept as history rather than overwritten, or delay labels will understate lateness.
  • Measure join coverage on the sample, such as the share of orders with a ship notice, shipments with a proof of delivery and exceptions with a recorded resolution, and check how split and consolidated shipments are mapped to order lines.
  • For cross-border freight, agree how customs entries, commercial invoices and importer details are handled, since they name trading partners and declared values.
  • Compare the mode, lane, industry and season mix with your target, such as parcel versus truckload versus ocean, or temperature-controlled and hazardous freight.

How licensing works through SourceX

  1. 1

    Define

    Send the domain, modality, volume, format, timeline and permitted use you need.

  2. 2

    Source

    SourceX identifies businesses that hold matching data and are open to licensing it.

  3. 3

    Qualify

    Fit, rights and quality are checked, and you review samples before committing.

  4. 4

    License

    Scope, permitted use, exclusivity, price and obligations are agreed in writing.

  5. 5

    Deliver

    Approved data is prepared, de-identified where required and transferred securely.

Questions buyers ask

Can I license real shipment and supply chain data for AI training?

Often, yes. Shippers such as manufacturers, distributors and retailers own their order and shipment histories and can license them if their customer and vendor contracts allow it. Logistics providers, brokers and forwarders hold detailed records too, but much of that describes their clients' freight, and client contracts often restrict its use. SourceX checks these restrictions before a dataset is offered. What can be supplied depends on which partners hold the modes, lanes and years you need.

Which freight documents can be included?

Bills of lading, proofs of delivery, packing lists, commercial invoices, rate confirmations, carrier invoices and customs paperwork can all be in scope. Many arrive as scans or phone photos with handwritten notations, such as damage noted at delivery, which makes them useful for document AI. Signatures, printed names, phone numbers and residential addresses are redacted, and documents that name trading partners are tokenized or excluded as agreed.

How are customers, suppliers and carriers kept anonymous?

Company names and reference numbers are replaced with consistent tokens, so a supplier or carrier can be followed across orders without being named. Tokens alone are often not enough, because unusual lanes, volumes or products can still point to a company. Locations are therefore generalized to region or three-digit ZIP code, rates are banded or removed, and the remaining risk is checked on the sample before licensing.

Do logistics datasets include GPS tracking data?

Sometimes, at reduced detail. Raw pings from electronic logging devices, telematics units and driver apps show where a specific driver was, minute by minute, which makes them personal data in many jurisdictions. Most scopes keep milestone events such as pickup, terminal arrival and delivery, and drop or coarsen continuous traces. Where tracking came from a visibility platform, that provider's terms may also decide what can be licensed.

Can I get raw EDI transactions?

Often, either as raw X12 or EDIFACT files or as parsed tables. Common X12 transaction sets include the 850 purchase order, 855 acknowledgment, 856 ship notice, 810 invoice, 204 load tender, 990 tender response, 214 shipment status and 210 freight invoice. Trading partner IDs, names and addresses inside the files are replaced with tokens. Parsed tables joined to emails and documents usually teach more than the raw transactions alone.

How reliable are delay and exception labels?

They are usable but need checking on the sample. Carriers, shippers and visibility platforms code the same event differently, a missed appointment can be logged as a carrier delay or a receiving problem depending on who recorded it, and many exceptions are recorded only when someone complains. The strongest labels pair a planned time with an actual time, and an exception with its resolution, cost and who paid.

How many years of supply chain history do partners hold?

Operations logs typically span years, but continuity varies by partner. Transportation and warehouse systems are often replaced on a different cycle from the ERP, so shipment detail may start at the last migration while order history goes back further. Scanned freight documents are often retained long after structured data was archived. Set a historical timeframe, and say whether peak seasons or known disruption periods matter.

Evaluating this data for procurement?

Diligence packets are prepared per dataset. Rights, privacy processing and quality differ between datasets.

Request dataset diligence

Tell us what your models need

Send your spec — domain, volume, format, timeline and permitted use — and SourceX will match it against partner data and come back with what can be licensed.

Updated 3 October 2026. Own data like this? See how companies license it to AI developers.

See if you qualify