Advance Shipping Notice
Supplier shipment notice describing dispatched goods.
An Advance Shipping Notice describes goods that have been dispatched or are planned for dispatch. It separates authoritative shipped lines from carton allocation details so receiving, fulfilment, and invoice reconciliation can reason about what moved and how it was packed.
Lifecycle And Correlation
Lifecycle Position
Follows PO acknowledgement and precedes receipt, giving the buyer shipment detail before goods arrive.
Correlation Guidance
Use data.lineItems[] as the authoritative shipped line list. Packages should reference those lines through data.packages[].lineReferences[] using uniqueLineKey or lineNumber; they do not replace shipped line data.
Contract Shape
Envelope
Identifies the shipment notice and traces it through fulfilment and invoice workflows.
docTypeAlways ASN for advance shipping notice payloads.
correlationIdStable UUID used to trace the shipment notice through downstream workflows.
timestampUTC timestamp for when the canonical shipment notice was created.
Shipment Header
Captures shipment identity, operation, timing, fulfilment type, and purchase order references.
data.dispatchAdviceNumberSupplier shipment or dispatch advice identifier.
data.noticeDateDate and time the supplier created the notice.
data.shipmentDateDate and time goods left the supplier.
data.poReferences[]Purchase orders being fulfilled by this shipment.
Carrier And Parties
Describes the carrier, tracking identifiers, origin, destination, and delivery terms.
data.carrierCarrier and service details for the shipment.
data.shipmentIdentifiers[]Tracking, bill of lading, pro, airwaybill, or container references.
data.shipFromShipment origin.
data.shipToShipment destination.
Lines And Packages
Separates shipped line facts from physical carton and SSCC allocation detail.
data.lineItems[]Authoritative shipped line data.
data.lineItems[].uniqueLineKeyStable line key copied from the original PO.
data.packages[]Physical package or carton detail.
data.packages[].lineReferences[]Quantities packed in each carton by line reference.
Validation Notes
- Require dispatchAdviceNumber, noticeDate, shipmentDate, carrier, shipFrom, shipTo, and lineItems.
- Validate package SSCC values when supplied.
- Require each package line reference to include quantity and either lineNumber or uniqueLineKey.
- Keep unitOfMeasure aligned between lineItems and package lineReferences.
Mapping Notes
- Map shipped quantities to data.lineItems[] first, then map carton allocation to packages[].lineReferences[].
- Preserve PO uniqueLineKey values on shipped lines whenever available.
- Use shipmentIdentifiers for tracking and transport references instead of comments.
- Represent partial and complete fulfilment through fulfillmentType.
Operational Notes
- Receiving progress should be calculated from data.lineItems[], not package allocation rows.
- If uniqueLineKey is missing or unknown, send the shipment line to manual review rather than matching on item text or array position.
Implementation Pitfalls
- Do not use package item arrays as authoritative ASN line data.
- Do not infer line fulfilment from carton count alone.
- Do not match ASN lines to PO lines by array index, description, or quantity.
