DataShift Logo
Back to schemas
ASNAdvanceShippingNotice

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 for automatic correlation; package line references do not replace shipped line data.

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 uniqueLineKey for automatic line correlation.
  • 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 and package line references.
  • Use shipmentIdentifiers for tracking and transport references instead of comments.
  • Map SCAC and other carrier codes to carrier.identifiers[] rather than overloading carrier name or shipment 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 treat packageId as an SSCC; map SSCC values to data.packages[].sscc.
  • Do not infer line fulfilment from carton count alone.
  • Do not match ASN lines to PO lines by lineNumber, array index, item id, description, or quantity.

Endpoints

Use the schema endpoint for machine validation and the document page for implementation guidance.

GET

Download Advance Shipping Notice schema

application/schema+jsonapplication/json
/contracts/releases/1.0.6/schemas/advance-shipping-notice.schema.json

Advance Shipping Notice JSON Schema

GET

Advance Shipping Notice

text/html
/schemas/advance-shipping-notice

Advance Shipping Notice documentation page

Model

The contract is shown in reading order. The envelope identifies the document, metadata captures source context, and data contains the business payload and nested line structures.

DataShift-managed systemManaged fields

DataShift populates, preserves, or recalculates these values for correlation, lifecycle matching, validation, and auditability. They are visible in the model so implementers know which fields are controlled by the platform instead of manual partner mappings.

Envelope

AdvanceShippingNotice
5 fields5 required3 managed

Public canonical Advance Shipping Notice contract used to describe goods shipped against one or more purchase orders.

docType
RequiredDataShift-managed system
object

Canonical document type. For advance shipping notices this value is ASN.

ASN
correlationId
RequiredDataShift-managed system
string (uuid)

Stable UUID used to trace this shipment notice through fulfilment and invoice workflows.

timestamp
RequiredDataShift-managed system
string (date-time)

UTC timestamp indicating when DataShift created the canonical shipment notice.

Metadata

AdvanceShippingNoticeMetadata
4 fields3 required

Public source metadata retained for integration troubleshooting.

sourceLanguage
Required
enum
jsoncxml
sourceVersion
Required
object

Canonical schema version used to create this document

1.0.6
payloadId
string

Original cXML payload ID

userAgent
Required
object

DataShift Edge version that generated the canonical document

DataShift Edge v1

Data

AdvanceShippingNoticeData
24 fields8 required

Business payload for the shipment notice.

dispatchAdviceNumber
Required
string

Supplier-assigned shipment or dispatch advice identifier.

poNumber
Required
string

Primary purchase order number this shipment fulfils.

operation
enum

Whether this is a new shipment notice, an update, or a cancellation

newupdatedelete
noticeDate
Required
string (date-time)

Date and time the supplier created the shipment notice.

shipmentDate
Required
string (date-time)

Date and time the goods left the supplier.

deliveryDate
string (date-time)

Expected delivery date and time.

requestedDeliveryDate
string (date-time)

Buyer's originally requested delivery date

shipmentType
enum

Whether this is an actual shipment or a planned/estimated one

actualplanned
fulfillmentType
enum

Whether this shipment fulfils all or part of the referenced order.

partialcomplete
serviceLevel
string

Level of shipping service (e.g., overnight, ground, express)

documentReference
object

Reference to previous ship notice (required for operation=update/delete)

Object fieldsExpand
documentId
string
payloadId
string
poReferences
object[]

References to purchase orders being fulfilled by this shipment

Object fieldsExpand
poNumber
Required
string
poVersion
string
documentId
string
payloadId
string
orderDate
string (date-time)
carrier
Required
object

Carrier and service details for the shipment.

Object fieldsExpand
name
Required
string

Carrier company name

identifiers
object[]

Carrier identification codes

serviceType
string

Type of shipping service

shipmentIdentifiers
object[]

Tracking numbers and shipment identifiers (consignment note, bill of lading, etc.)

Object fieldsExpand
domain
Required
enum

Type of shipment identifier

trackingNumberbillOfLadingproNumberairWaybillcontainerNumber
value
Required
string
termsOfDelivery
object

Delivery terms and conditions

Object fieldsExpand
incoTerms
enum

International Commercial Terms

cfrcifcipcptdafdapddpddudpudeqdesexwfasfcafob
fobPoint
string
description
string
shipFrom
Required
object

Shipment origin.

Object fieldsExpand
addressId
string
addressee
string
street1
Required
string
street2
string
city
Required
string
state
Required
string
postalCode
Required
string
country
Required
enum
AU
shipTo
Required
object

Shipment destination.

Object fieldsExpand
addressId
string
addressee
string
street1
Required
string
street2
string
city
Required
string
state
Required
string
postalCode
Required
string
country
Required
enum
AU
contacts
object[]

Contact information for various roles

Object fieldsExpand
role
Required
enum
shipFromshipTocarrierCorporatetechnicalSupportcustomerService
name
string
email
string
phone
string
comments
string

Human-readable notes about this shipment

reason
enum

Reason for shipment if not a standard delivery (e.g., return)

return
lineItems
Required

Authoritative shipped line data. Packages reference these lines; they do not replace them. DataShift manages uniqueLineKey correlation where needed.

packages

Physical package or carton detail used for carton allocation and SSCC labelling.

hazardInfo
object[]

Hazardous materials information

Object fieldsExpand
unNumber
string
hazardClass
string
description
string
extrinsics
object

Partner-specific extension fields that are not part of the canonical core contract.

Line Items

AdvanceShippingNoticeLineItem
12 fields1 required1 managed
lineNumber
integer

Line number from the purchase order being fulfilled.

shipNoticeLineNumber
integer

Sequence number of this line within the ship notice

uniqueLineKey
DataShift-managed system
string

DataShift-managed stable line key from the original purchase order, used by internal connectors for cross-document correlation.

supplierItemId
string

Supplier's part or item number

buyerItemId
string

Buyer's part or item number

gtin
string

GS1 Global Trade Item Number

description
string

Item description

quantity
Required
number

Quantity shipped on this line.

unitOfMeasure
enum

UN/ECE REC20 unit of measure code

AYBGBLBRBLLE2BOBXBJBEKACACGCTCQCSCMTCLCHMTQCYDAYDCDZNDREAFOTGRMHURCENINHJRKGMKMTKTLNLKLTRMTRTNEMLTMMTMONPKPDPLPRD97C62PGLBRRLROSASESETSTSOMTKU3MILTUWEE
countryOfOrigin
enum

Country where the item was manufactured

AU
batchInfo
object

Lot or batch tracking information

Object fieldsExpand
batchId
string
productionDate
string (date)
expirationDate
string (date)
serialNumbers
string[]

Serial numbers for individually serialised items

Packages

AdvanceShippingNoticePackage
7 fields1 required1 managed
packageId
Required
string

Supplier or warehouse package identifier unique within this shipment.

sscc
string

Serial Shipping Container Code for the carton or logistic unit.

packagingCode
string

Type of packaging (e.g., BOX, PAL, CTN)

grossWeight
object

Total weight of package including contents

Object fieldsExpand
value
number
unit
enum
KGLBOZG
netWeight
object

Weight of contents only

Object fieldsExpand
value
number
unit
enum
KGLBOZG
dimensions
object

Physical dimensions of the package

Object fieldsExpand
length
number
width
number
height
number
unit
enum
CMINMFT
lineReferences
object[]

References to authoritative lineItems packed inside this package.

Object fieldsExpand
lineNumber
integer
uniqueLineKey
DataShift-managed system
string

DataShift-managed line key from the original purchase order for internal connector correlation

quantity
Required
number

Quantity of this line item packed in this carton

unitOfMeasure
enum

Unit of measure for the quantity — must match the parent line item's unitOfMeasure

AYBGBLBRBLLE2BOBXBJBEKACACGCTCQCSCMTCLCHMTQCYDAYDCDZNDREAFOTGRMHURCENINHJRKGMKMTKTLNLKLTRMTRTNEMLTMMTMONPKPDPLPRD97C62PGLBRRLROSASESETSTSOMTKU3MILTUWEE