Sales Shipment Guidelines (EPCIS v1.2)

See How To Use this Guide before interpreting the guidelines below.

Message Type: SOM_SALES_SHIPMENT

Info Exchange Display Name: Sales Shipment

When sending an element in Date or DateTime format, a valid date must be given. "00" is not a valid day or month value and "0000" is not a valid year value.
NTINs must follow the GS1 Guidance standards as found on the GS1 website.
  • Ex: urn:epc:id:sgtin:415001647778.0.100000000022
  • Format: urn:epc:id:sgtin:[company prefix].[indicator digit][item ref].[serial number]
Information regarding NTINs cannot be exchanged with trade partners unless the specific format outlined above is followed. If using an NTIN without following this format, an outbound error occurs when passing data from TraceLink to a trade partner.
Data Element Occurs
Length
Format Description
epcis:EPCISDocument [1…1]
[-]
- Required. EPCIS message root element.
  @schemaVersion [1…1]
[0/*]
Decimal Required. The version of the EPCIS schema used to populate the EPCIS document elements. Must equal 1.2. *1
  @creationDate [1…1]
[1/*]
DateTime Required. Date the message was created in YYYY-MM-DDTHH:MM:SS:mmZ format. *2
  EPCISHeader [0…1]
[-]
- Required. The XML file control header.
    sbdh:StandardBusinessDocumentHeader [1…1]
[-]
- Required. Business header information including EPCIS Header Version, Sender, and Receiver information, along with the document identification.
      sbdh:HeaderVersion [1…1]
[0/*]
String Required. Version of the Standard Business Document Header (SBDH). The HeaderVersion must be set to 1.0. *3
      sbdh:Sender [1…*]
[-]
- Required. A unique identification key for the Sender party of the message, representing the organization that created the standard business document. The Sender element must be used only once with GS1 XML messages.
        sbdh:Identifier [1…1]
[1/*]
String Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type. *4

SGLN and all other party types should be sent with GS1 compliant uri prefix, for example:

  • urn:epc:id:sgln:088202.867701.0
  • http://epcis.gs1us.org/hc/dea/loc/10023141
GLNs do not have an urn/http prefix.

See the MDPartyTypeAttributes enumeration list for valid values.

          @Authority [1…1]
[1/*]
String Required. The sender identifier type. The Authority was previously expected to be set to GLN for GS1 XML messages. An update made in December 2016 changed this to accept additional values. *5

See the BusinessAndLocationId enumeration list for valid values.

      sbdh:Receiver [1…*]
[-]
- Required. Indicates a unique identification key for the direct Receiver party of the message, representing the organization that receives the standard business document. The Receiver element is used only once with GS1 XML messages.
        sbdh:Identifier [1…1]
[1/*]
String Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type. *6

SGLN and all other party types should be sent with GS1 compliant uri prefix, for example:

  • urn:epc:id:sgln:088202.867701.0
  • http://epcis.gs1us.org/hc/dea/loc/10023141
GLNs do not have an urn/http prefix.

See the MDPartyTypeAttributes enumeration list for valid values.

          @Authority [1…1]
[1/*]
String Required. The receiver identifier type. The Authority was previously expected to be set to GLN for GS1 XML messages. An update made in December 2016 changed this to accept additional values. *7

See the BusinessAndLocationId enumeration list for valid values.

      sbdh:DocumentIdentification [1…1]
[-]
- Required. Contains the identification group for the message.
        sbdh:Standard [1…1]
[0/*]
String Required. Name of the document standard contained in the file or message. The standard value for this field is EPCglobal. *8
        sbdh:TypeVersion [1…1]
[0/*]
String Required. Reflects the version of the document included. This is the complete version of the document itself and is different from the HeaderVersion as these are hard-coded values. The TypeVersion is set to 1.0. *9
        sbdh:InstanceIdentifier [1…1]
[1/*]
String Required. Reference information that uniquely identifies this instance of the Standard Business Document between the Sender and the Receiver. This identifier confirms this document as being distinct from others. *10
        sbdh:Type [1…1]
[0/*]
String Required. This element identifies the type of the document. The Type must equal Events. *11
        sbdh:CreationDateAndTime [1…1]
[0/*]
DateTime Required. The date and time of the SBDH document's creation. GMT create date and time for the EPCIS message. The system expects the Z to be appended; however, if it is not included, the system assumes that the time is GMT and therefore appends the Z. *12
    extension [0…1]
[-]
- Header extension area with master data attributes.
      EPCISMasterData [0…1]
[-]
- Master data extension header. May contain business and ship party address information.
Full GS1 compliance requires that all product and party master data be stored in the EPCIS header extension EPCISMasterData / VocabularyList / Vocabulary / VocabularyElementList / VocabularyElement. It is strongly urged that all product master data for Commissioning and Transformation events be sent in the VocabularyElement within the EPCISMasterData header extension. If there is no partner address data in the header extensions, the identifiers in the Source and Destination lists are used for partner master data lookup by the system.
        VocabularyList [1…1]
[-]
- Required. The Vocabulary list group of master data elements.
          Vocabulary [0…*]
[-]
- Looping vocabulary element with discrete partner master data element groups. Vocabulary occurs only once for all party address info present in the message, if the group is populated.

Group is optional. If it does not appear in master data header extension, no error will be thrown.

            @type [1…1]
[0/*]
String Conditionally required if master data elements are present. Vocabulary type identifying location master data elements. Master data type defined by VocabularyElement | @id.

Valid value: urn:epcglobal:epcis:vtype:Location = party master data. *13

Sold from, ship from, sold to, ship to for the shipping event are all tracked in the header master data. Party data in shipping event is mapped from header master in Vocabulary.
            VocabularyElementList [0…1]
[-]
- List of vocabulary elements that includes all partner master information. Party identifiers and address info are stored in instances of the looping group VocabularyElement.
              VocabularyElement [1…*]
[-]
- Required. Looping group header for data elements that identify all business party and location master data, including identifiers, identifier types, and address info. VocabularyElement repeats once for each party type:
  • Sold/Transfer from business party (Mandatory, if the group is populated).
  • Ship from location (Optional).
  • Sold/Transfer to business party (Mandatory, if the group is populated).
  • Ship to location (Optional).
  • Carrier (Brazil) (Optional).

Master data lookup is supported. If partner master data is available in TraceLink, indicate master data lookup by sending partner identifiers in the sourceList and/or destinationList of the shipping event and DO NOT include address data in any VocabularyElement group.

If master data lookup IS NOT intended, send complete address information for at least the sold-from and sold-to partners in the header master data extension. Ship-from and ship-to addresses can also be included.

                @id [1…1]
[0/*]
String Required. SGLN or other partner identifier and type for party master data in the VocabularyElement. Must match sourceList or destinationList owning or location party in the shipping event from either: *14
  • //ObjectEvent/extension/sourceList/source (transfer from, carrier)
  • //ObjectEvent/extension/destinationList/destination (transfer to)

The identifier value is mandatory for regulatory reporting. The identifier type must include a valid urn or http string prefix. Valid prefix formats include:

  • GS1: urn:epc:id:sgln:<CompanyPrefix>.<LocationReference>.<Extension>
  • GS1 USHC: http://epcis.gs1us.org/hc/<identifierType>/loc/<identificationValue>
  • GS1 Brazil: http://epcis.gs1br.org/hc/<identifierType>/loc/<identificationValue>
  • TraceLink: http://epcis.tracelink.com/hc/<identifierType>/loc/<identificationValue>

Only SGLNs are supported, not GLNs. Different countries require different values as noted below.

Country Requirements:
  • For Argentina: Provide both the SGLN and the CUIT number associated with the sold from party.
  • For company's physically located in Brazil: Provide the BR_CNPJ number associated with the sold from party.
  • For China: Provide the company identifier registered with China SFDA used to identify the sold from party. This is the identifier provided in the China SFDA application master data and must match up. Use the appropriate qualifier code to identify this value.
  • For Turkey: Provide the SGLN associated with the sold from party.
  • For US: Provide a SGLN, DEA or HIN identifier associated with the sold from party.

The identifier type is include in the urn or http string prefix. The following types are supported in the US:

  • http://epcis.tracelink.com/hc/companyId/loc/ = Company Id in the Internal ERP System.
  • http://epcis.tracelink.com/hc/companySiteId/loc/ = Internal Location or Site Id in the Internal ERP System.
  • http://epcis.gs1us.org/hc/dea/loc/ = DEA (Drug Enforcement Agency Number).
  • http://epcis.gs1us.org/hc/duns/loc/ = DUNS (Dun & Bradstreet Number).
  • http://epcis.gs1us.org/hc/duns_plus_four/loc/ = DUNS4 (Dun & Bradstreet Number + 4-digit location code).
  • http://epcis.gs1us.org/hc/hin/loc/ = HIN (Health Industry Number partner address ID).
  • urn:epc:id:sgln: = SGLN (Serialized Global Location Number).

See the MDPartyTypeAttributes enumeration list for valid values.

                attribute (1) [1…1]
[0/*]
String Conditionally required if attribute (2) is present. Looping Name/Value pairs identifying partner address master data elements. This is the value element in the Name/Value pair attribute | @id. Stores master data item value defined by @id. *15

Partner master data items currently supported:

  • Business name - Mandatory if address populated in VocabularyElement.
  • Business classification - Optional.
  • Street address 1 - Mandatory if address populated.
  • Street address 2 - Optional.
  • City - Mandatory if address populated.
  • District - Optional.
  • State/Province/Region - Mandatory if address populated.
  • Postal code - Optional.
  • Country code - Mandatory if address populated.

Create one instance of the Name/Value pair attribute and @id for each master data element returned.

                  @id [1…1]
[0/*]
String Conditionally required if attribute (1) is populated. Provides the name in the Name/Value pair attribute | @id. Identifies the master data value stored in the attribute value element, using the urn or http prefix. Valid values: *16
  • urn:epcglobal:cbv:mda#name
  • urn:epcglobal:cbv:mda#streetAddressOne
  • urn:epcglobal:cbv:mda#streetAddressTwo
  • urn:epcglobal:cbv:mda#streetAddressThree
  • urn:epcglobal:cbv:mda#city
  • http://epcis.tracelink.com/mda/district
  • http://epcis.tracelink.com/mda/village
  • http://epcis.tracelink.com/mda/houseNumber
  • http://epcis.tracelink.com/mda/township
  • http://epcis.tracelink.com/mda/corporateFax
  • urn:epcglobal:cbv:mda#state
  • urn:epcglobal:cbv:mda#postalCode
  • urn:epcglobal:cbv:mda#countryCode
  • http://epcis.tracelink.com/mda/AddressObjectGUID
  • http://epcis.tracelink.com/mda/HouseGUID
  • http://epcis.tracelink.com/mda/premisesCode
  • http://epcis.tracelink.com/mda/taxRegistrationCode
  • http://epcis.tracelink.com/mda/partyRoleCode

See the MDAttributes enumeration list for valid values.

                attribute (2) [0…*]
[0/*]
String Conditionally required if attribute (1) is present. Looping Name/Value pairs identifying additional party identifier elements. This is the value element in the Name/Value pair attribute | @id. Stores additional party identifiers and identifier types defined by @id. *17

Partner master data items currently supported:

  • Additional party identifier - Optional (1 or more supported).
  • Additional party identifier type - Optional (1 or more supported).

Create one instance of the Name/Value pair attribute and [@id] for each master data element returned. Must send the additional party identifiers in a double attribute combination using the following sequence:

  1. Attribute 1 identifies and provides the party identifier value.
  2. Attribute 2 identifies the party identifier type.

For example:

  1. <attribute id="http://epcis.tracelink.com/mda/additionalPartyIdentificationValue">10023141</attribute>
  2. <attribute id="http://epcis.tracelink.com/mda/additionalPartyIdentificationTypeCode">DUNS_PLUS_FOUR</attribute>

OR

  1. <attribute id="http://epcis.tracelink.com/mda/additionalIdentifier">10023141</attribute>
  2. <attribute id="http://epcis.tracelink.com/mda/additionalIdentifierType">DUNS4</attribute>
If this sequence of double attributes is not followed for additional party identifiers, the additional party identifier will not be mapped to the TraceLink system and no error will be thrown.
Only one of the following values may be used per message:
  • RU_INN_FOREIGN_ENTITY
  • RU_INN_INDIV
  • RU_INN_LOCAL_ENTITY

See the BusinessAndLocationId enumeration list for valid values.

                  @id [1…1]
[0/*]
String Conditionally required if attribute (2) is populated. Provides the name in the Name/Value pair attribute | @id. Identifies the master data value stored in the attribute value element, using the urn or http prefix. Valid values: *18
  • http://epcis.tracelink.com/mda/additionalPartyIdentificationTypeCode
  • http://epcis.tracelink.com/mda/additionalPartyIdentificationValue

See the MDAttributes enumeration list for valid values.

  EPCISBody [1…1]
[-]
- Required. Contains all of the EPCIS events for this message.
    EventList [1…1]
[-]
- Required. EventList supports the following events for Serialized Operations Manager Sales Shipment:
  • AggregationEvent - 0 or more packing aggregations allowed. Optional.
  • ObjectEvent Shipping - Only 1 allowed. Mandatory.
      choice%1 [1…1]
[-]
Choice Required. Only one of the following choice options may be selected in any one loop on EPCISBody/EventList:
  • ObjectEvent Shipping
  • AggregationEvent
      AggregationEvent [0…*]
[-]
- AggregationEvent is option 2 for the EventList choice for the Aggregation events.

EventList = AggregationEvent when all of the following is true:

  • bizStep = urn:epcglobal:cbv:bizstep:packing
  • action = ADD
  • disposition = urn:epcglobal:cbv:disp:in_progress
        eventTime [1…1]
[1/*]
DateTime Required. Timestamp of date/time when the event occurred. Include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *19
        eventTimeZoneOffset [1…1]
[1/*]
String Required. Time zone offset in effect time and place where the event occurred, consistent with what choice was made for eventTime. Per Section 7.2.8 of [EPCIS1.0.1]. *20
        parentID [1…1]
[1/*]
AnyURI Required. Identifier of the parent container in EPC Pure Identity URI format. *21

Examples:

  • For an item-to-case aggregation, the EPC of the case.
  • For a case-to-pallet aggregation, the EPC of the pallet.

CN EDMC:

  • Format: http://epcis.tracelink.com/hc/cn-edmc/obj/[serial number]
  • Ex: http://epcis.tracelink.com/hc/cn-edmc/obj/88102301100002005943

NTIN:

  • Format: http://epcis.tracelink.com/hc/ntin/obj/[company prefix].[item reference].[serial number]
  • Ex: http://epcis.tracelink.com/hc/ntin/obj/4150.001647778.100000000002

SGTIN:

  • Format: urn:epc:id:sgtin:[company prefix].[inidcator digit + item reference].[serial number]
  • Ex: urn:epc:id:sgtin:068202.0401034.11220207026272

SSCC:

  • Format: urn:epc:id:sscc:[company prefix].[extension digit + serial number]
  • Ex: urn:epc:id:sscc:030944.10105363280
        childEPCs [1…1]
[-]
- Required. List of identifiers of the child items in the parent container in EPC Pure Identity URI format.

Examples:

  • For an item-to-case aggregation, the EPCs of the items.
  • For a case-to-pallet aggregation, the EPCs of the cases.
          epc [1…*]
[1/*]
String Required. Identifier of the parent container in EPC Pure Identity URI format. *22

CN EDMC:

  • Format: http://epcis.tracelink.com/hc/cn-edmc/obj/[serial number]
  • Ex: http://epcis.tracelink.com/hc/cn-edmc/obj/88102301100002005943

NTIN:

  • Format: http://epcis.tracelink.com/hc/ntin/obj/[company prefix].[item reference].[serial number]
  • Ex: http://epcis.tracelink.com/hc/ntin/obj/4150.001647778.100000000002

SGTIN:

  • Format: urn:epc:id:sgtin:[company prefix].[inidcator digit + item reference].[serial number]
  • Ex: urn:epc:id:sgtin:068202.0401034.11220207026272

SSCC:

  • Format: urn:epc:id:sscc:[company prefix].[extension digit + serial number]
  • Ex: urn:epc:id:sscc:030944.10105363280
        action [1…1]
[1/*]
String Required. The action value must equal ADD for the aggregation event. *23
        bizStep [0…1]
[0/*]
AnyURI The bizStep value must equal urn:epcglobal:cbv:bizstep:packing. *24
        disposition [0…1]
[0/*]
AnyURI The disposition value must equal urn:epcglobal:cbv:disp:in_progress. *25
        readPoint [0…1]
[-]
- Refers to the location of where the commissioning event occurred.

Structure: urn:epc:id:sgln:<GS1 company prefix>.<locationId>.<subLocationId>

To represent the facility where the commissioning event occurred, only use the SGLN representation. If no subLocation, third segment = 0.
          id [1…1]
[0/*]
AnyURI Required. The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *26
          extension [0…1]
[-]
- Not Used - GS1 Reserved.
        bizLocation [0…1]
[-]
- Required. The location where the event occurred.
Mandatory for AggregationEvent.
          id [1…1]
[0/*]
AnyURI Required. The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *27
        bizLocationList [0…1]
[-]
- Not used.
        tl:aggregationEventExtensions [0…1]
[-]
- Extensions used for the Aggregation Event.
          tl:packedStatus [0…1]
[0/*]
String Conditionally required for China. Indicates the packaging status of the container (e.g. full, partial).

See the PackedStatus enumeration list for valid values.

          tl:quantity [0…1]
[0/*]
Integer The quantity of items at the aggregation level.
          tl:filterValue [0…1]
[0/*]
String The filter value used in GTN-14 and SSCC serial numbers.
          tl:packagingLevel [0…1]
[0/*]
String The packaging level of the commissioned item using the supported enumeration values. *28

See the PackagingLevel enumeration list for valid values.

          tl:epcOrderItemDetails [0…1]
[-]
- Group header with specific link between tl:orderItemNumber in the ObjectEvent for Shipping Events and the epc serial number.
            tl:epcOrderItemList [1…*]
[-]
- Group header.
              @orderItemNumber [0…1]
[0/*]
String List of serial numbers associated with the pricing and tax information in the current instance of the ItemOrder.
              tl:epcOrderItem [1…*]
[0/*]
String Order item number attribute associating specific serial numbers to the price, VAT, and cost taxes reported in a specific instance of OrderItem, in EPC Pure Identity URI format.
      ObjectEvent [1…1]
[-]
- Required. EventList. Data = ObjectEvent for Shipping Events.

EventList = ObjectEvent Shipping when all of the following is true:

  • bizStep = urn:epcglobal:cbv:bizstep:shipping
  • action = OBSERVE
  • disposition = urn:epcglobal:cbv:disp:in_transit
        eventTime [1…1]
[1/*]
DateTime Required. Timestamp of date/time when the event occurred. Must include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1] in XML datetime format YYYY-MM-DDTHH:MM:SS.mmZ. *29
        eventTimeZoneOffset [1…1]
[1/*]
String Required. Time zone offset in effect at time and place where the event occurred, consistent with what choice was made for eventTime. Per Section 7.2.8 of [EPCIS1.0.1]. *30
        epcList [1…1]
[-]
- Required. The list of EPCs of the top most containers (e.g. pallets, cases) in the shipment.
          epc [1…*]
[1/*]
String Required. The identifier of the parent container in EPC Pure Identity URI format.  See EPC Pure Identifier Format Examples for formats. *31
        action [1…1]
[0/*]
String Required. The action value must equal OBSERVE. *32
        bizStep [0…1]
[0/*]
AnyURI Required. The business process. Valid values: *33
  • urn:epcglobal:cbv:bizstep:shipping – the shipment is submitted.
  • urn:epcglobal:cbv:bizstep:picking – the shipment is unsubmitted. Use this value to allow the shipment to be completed at a later time, such as when all required information is known, or to allow another party to complete the shipment.
        disposition [0…1]
[0/*]
AnyURI Required. The current condition of the serial number in relation to the business process. Valid values: *34
  • urn:epcglobal:cbv:disp:in_transit – the serial number is in transit.
  • urn:epcglobal:cbv:disp:in_progress – the serial number is in an unsubmitted shipment message.

The value of disposition depends on the bizStep value:

  • If bizStep equals urn:epcglobal:cbv:bizstep:shipping, disposition must equal urn:epcglobal:cbv:disp:in_transit.
  • If bizStep equals urn:epcglobal:cbv:bizstep:picking, disposition must equal urn:epcglobal:cbv:disp:in_progress.
        readPoint [0…1]
[-]
- Required. Refers to location of where the commissioning event occurred.

Structure: urn:epc:id:sgln:<GS1 company prefix>.<locationId>.<subLocationId>

To represent the facility where the commissioning event occurred, only use the SGLN representation. If no subLocation, third segment = 0.
          id [1…1]
[0/*]
AnyURI Required. The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *35
        bizLocation [0…1]
[-]
- Not Used.
          id [1…1]
[1/*]
AnyURI Required. Not Used.
        bizTransactionList [0…1]
[-]
-

Conditionally required if bizStep = urn:epcglobal:cbv:bizstep:shipping.

          bizTransaction [1…*]
[0/*]
AnyURI Required. The business transaction identifiers for the Dispatch Advice (Advance Ship Notice) and/or Invoice and/or Purchase Order governing this shipment, subject to Section 8.4.2 of [CBV1.0]. *36

The GLN that occurs after urn:epcglobal:cbv:bt: is the GLN of the party that issued the number (e.g. if customer issues PO Number, customer GLN is entered. If supplier issues ASN/delivery number, supplier GLN is entered).

A delivery number or ASN is mandatory. All other transaction types are optional.
Mandatory for China to provide the Sales Order Number.
            @type [1…1]
[1/*]
String Required. The transaction identifier type. *37
A delivery number or ASN is mandatory. All other transaction types are optional.
Mandatory if cmn:TransactionIdentifier is populated.

See the TransactionId enumeration list for valid values.

            @date [0...1]
[0/*]
Date Conditionally required if tl:shipToCountryCode = RU. The transaction identifier date. * *38
        extension [1…1]
[-]
- Conditionally required even if party address master data is stored in the VocabularyElement in the EPCISMasterData extension in the message header. Main extension body for shipping event.
          sourceList [0...1]
[-]
-

Conditionally required if:

  • Transfer or sale involving non-EU FMD countries.
  • Transfer or sale export from an EU FMD country to US, CN, KR, or RU because of country compliance requirements.

Optional if:

  • Transfer or sale within EU FMD countries.
  • Transfer or sale import into an EU FMD country.
  • Transfer or sale export from an EU FMD country to a country other than US, CN, KR, or RU.

Source list identifies sending business, location, and carrier parties. Source list supports one of two functions:

  1. VocabularyElement is populated with party address master data: sourceList identifies sold-from, ship-from, or carrier party. Party master data is mapped from VocabularyElement.
  2. VocabularyElement is not populated with party address master data: sourceList party identifiers used for master data lookup in backend.
            source [1…*]
[0/*]
String Required. Source party identifier for sold-from, ship-from, or carrier parties. Party identifier in source either: *39
  1. Identifies sold-from, ship-from, or carrier party in populated VocabularyElement. Party address info is mapped from VocabularyElement. Nothing is mapped from VocabularyElement if there is no match between party identifier in sourceList/source and VocabularyElement(@id).
  2. sourceList/source supports master data lookup in TraceLink system. VocabularyElement is not populated or there is no match between party identifiers in source and VocabularyElement(@id). If ship-from party the same as sold-from party, ship-from identifier does not need to be sent.
If the ship-from party is the same as the sold-from party, the ship-from identifier does not need to be sent.

See the MDPartyTypeAttributes enumeration list for valid values.

              @type [1…1]
[0/*]
String

Required. Type of source party identifier (i.e. owning party). Identifies sold-from, ship-from, or carrier (for Brazil) party in header extension VocabularyElement instance. Valid values: *40

  • Sold-from party = urn:epcglobal:cbv:sdt:owning_party.

Conditionally required if:

  • Transfer or sale involving non-EU FMD countries.
  • Transfer or sale export from an EU FMD country to US, CN, KR, or RU because of country compliance requirements.

Optional if:

  • Transfer or sale within EU FMD countries.
  • Transfer or sale import into an EU FMD country.
  • Transfer or sale export from an EU FMD country to a country other than US, CN, KR, or RU.
  • Ship-from party = urn:epcglobal:cbv:sdt:location (only include if identifier different from owning_party).
  • Carrier party = http://epcis.tracelink.com/sdt/carrier_party (for Brazil).
Mandatory if source is populated.
          destinationList [0…1]
[-]
- Destination list identifies receiving business or location parties. Destination list supports one of two functions:
  1. VocabularyElement is populated with party address master data: destinationList identifies sold-to, ship-to parties. Party master data is mapped from VocabularyElement.
  2. VocabularyElement is not populated with party address master data: destinationList party identifiers used for master data lookup in the backend.

Conditionally required if:

  • Transfer or sale involving non-EU FMD countries.
  • Transfer or sale export from an EU FMD country to US, CN, KR, or RU because of country compliance requirements.

Optional if:

  • Transfer or sale within EU FMD countries.
  • Transfer or sale import into an EU FMD country.
  • Transfer or sale export from an EU FMD country to a country other than US, CN, KR, or RU.
            destination [1…*]
[0/*]
String Destination party identifier for sold-to or ship-to parties. Party identifier in destination either: *41
  1. Identifies sold-to or ship-to parties in populated VocabularyElement. Party address info is mapped from VocabularyElement. Nothing is mapped from VocabularyElement if there is no match between party identifier in destinationList/destination and VocabularyElement(@id).
  2. destinationList/destination supports master data lookup in TraceLink system. VocabularyElement is not populated or there is no match between party identifiers in destination and VocabularyElement(@id).

If ship-to party is the same as sold-to party, ship-to identifier does not need to be sent.

See the MDPartyTypeAttributes enumeration list for valid values.

              @type [1…1]
[0/*]
String

Conditionally required if destination is populated.

Identifies type of destination party identifier, i.e. owning (sold-to) or location (ship-to) party. Valid values: *42

  • Sold-to party = urn:epcglobal:cbv:sdt:owning_party (conditional).

Conditionally required if:

  • Transfer or sale involving non-EU FMD countries.
  • Transfer or sale export from an EU FMD country to US, CN, KR, or RU because of country compliance requirements.

Optional if:

  • Transfer or sale within EU FMD countries.
  • Transfer or sale import into an EU FMD country.
  • Transfer or sale export from an EU FMD country to a country other than US, CN, KR, or RU.
  • Ship-to party = urn:epcglobal:cbv:sdt:location (only include if identifier different from owning_party).
        tl:shippingEventExtensions [0…1]
[-]
- Extensions used for Shipping Event.
          tl:transactionDate [1…1]
[-]
Date Required. Date associated with the business transaction document in bizTransactionList in YYYY-MM-DD format. This date may or may not be the same as the eventTime. *43
          tl:shipToCountryCode [1…1]
[2/2]
String 2 or 3-letter ISO country code for ship to country. *44
This value is referenced to advise regulatory reporting if it is mandatory for the specified country market. Setting this value alone does not trigger regulatory reporting. Actual triggering of regulatory reporting is governed by customer administrative configuration in TraceLink .
          tl:shipFromCountryCode [0…1]
[2/2]
String Conditionally required if product is being exported from country (e.g. if SalesDistributionType = EXPORTSALE, EXPORTTRANSFER, or EXPORTRETURN. 2 or 3-letter ISO country code for ship from country. Provides application with the information it needs to trigger regulatory reporting in response to relevant events. *45

This value is mandatory for Saudi Arabia Accept report.

          tl:salesDistributionType [1…1]
[1/*]
String Required. To set this value, compare the ship from country with the ship to country. Valid values: *46
  • INCOUNTRYSALE: If ship from country = ship to country (indicates a sale within the same country).
  • EXPORTSALE: If ship from country does not equal ship to country (indicates a sale that is an export to another country).
  • INCOUNTRYTRANSFER: A transfer within a company or with a partner such as 3PL or contract manufacturer / packager, occurring within the same country.
  • EXPORTTRANSFER: A transfer within a company or with a partner such as 3PL or contract manufacturer / packager, made from one country to another.
  • INCOUNTRYRETURN: A shipment for a return of goods to the supplier, shipping within the same country.
  • EXPORTRETURN: A shipment for a return of goods to the supplier, shipping from one country to another.
This value is referenced to advise regulatory reporting of exportation, if it is mandatory for the specified country market. Setting this value alone does not trigger regulatory reporting. Actual triggering of regulatory reporting is governed by customer administrative configuration in TraceLink .

See the SalesDistType enumeration list for valid values.

          tl:supplyType [0…1]
[0/*]
String Conditionally required depending on the country. Identifies the type of supply that is being performed using one of the permitted values. *47
Country Requirements:
  • For Korea: tl:shipToCountryCode = KR and SalesDistributionType = EXPORTSALE or EXPORTRETURN; All values except for Collection apply.
  • For Brazil:  Populate only if performing Collection, Donation, or SampleDistribution.

See the SupplyType enumeration list for valid values.

          tl:contractType [0…1]
[0/*]
String Conditionally required if tl:shipFromCountryCode = KR and SalesDistributionType = EXPORTSALE or INCOUNTRYSALE. Identifies if a private or competitive bid contract is used for the sale of goods.

See the ContractType enumeration list for valid values.

          tl:dropShipmentIndicator [0…1]
[0/*]
Boolean Indicates if shipment is a drop shipment. *48
          tl:portalAccessCode [0…1]
[0/*]
String The portal access code used to access drop shipments in the serialized drop ship portal.
          tl:comments [0…1]
[0/*]
String Optional remarks or comments associated with delivery.
          tl:warehouseOperatorName [0…1]
[0/*]
String Conditionally required for China. Name of the person responsible for warehouse operations. *49
          tl:correctiveShipment [0…1]
[0/*]
String Corrective shipment flag is set when shipment is used to replace a previously voided shipment. Valid values: *50
  • true
  • false
          tl:originalDeliveryNumber [0…1]
[0/*]
String Conditionally required if correctiveShipment flag = true. Used to identify previous delivery that was voided and is being replaced by current delivery. *51
          tl:disaggregateFromParent [0...1]
[0/*]
Boolean When set to true, the system disaggregates the picked serial number from the parent container, if it is aggregated. If not set, or set to false, TraceLink generates an error if attempting to pick serial number for an item or container that is aggregated to a parent.
          tl:contractNumber [0...1]
[0/*]
String Identification number of the contract. * *52
          tl:fundingSource [0...1]
[0/*]
String Conditionally required if both tl:shipToCountryCode and tl:shipFromCountryCode = RU. Source of the funding. * *53

See the FundingSource enumeration list for valid values.

          tl:entryPort [0...1]
[0/*]
String Name of the shipment's port of entry into a country (e.g. an airport, maritime port, border checkpoint).
          tl:exitPort [0...1]
[0/*]
String

Name of the shipment's port of exit from a country (e.g. an airport, maritime port, border checkpoint).

          tl:deliveryInspection [0...1]
[0/*]
String

The inspection status of the physical delivery against the delivery documentation.

See the DeliveryInspection enumeration list for valid values.

          tl:deliveryInspectionDate [0...1]
[10/10]
Date The date of the physical delivery inspection against the delivery documentation in YYYY-MM-DD format. *54
          tl:deliveryInspectionNote [0...1]
[0/*]
String Comments about the physical delivery inspection against the delivery documentation.
          tl:removalFromCirculation [0...1]
[0/*]
String

Reason the product in the delivery is taken out of the supply chain.

See the RemovalFromCirculation enumeration list for valid values.

          tl:aggregationInspection [0...1]
[0/*]
String

The inspection status of the aggregation hierarchy of the container.

See the AggregationInspection enumeration list for valid values.

          tl:epcOrderItemDetails [0…1]
[-]
- Group header with specific link between tl:orderItemNumber in the ObjectEvent for Shipping Events and the epc serial number.
            tl:epcOrderItemList [1…*]
[-]
- Group header.
              @orderItemNumber [0…1]
[0/*]
String List of serial numbers associated with the pricing and tax information in the current instance of the ItemOrder.
              tl:epcOrderItem [1…*]
[0/*]
String Order item number attribute associating specific serial numbers to the price, VAT, and cost taxes reported in a specific instance of OrderItem, in EPC Pure Identity URI format.
          tl:orderItemList [0…1]
[-]
- Populate orderItemList group to communicate the pick quantities for each item code at the EACH (unit)-level.
            tl:orderItem [1…*]
[-]
- Required. Order item group is a repeating element that captures the item code, lot number, and quantity for each item in the order. Each unique item code and lot number are communicated in a separate order item group.
              tl:orderItemNumber [0…1]
[0/*]
String Order item number attribute associating specific serial numbers to the price, VAT, and cost taxes reported in a specific instance of tl:orderItem.
              choice%1 [1…1]
[-]
Choice Required. Mandatory choice. Populate only one of the following two options:
  • cmn:InternalMaterialCode
  • cmn:PackagingItemCode
              tl:internalMaterialCode [0…1]
[1/*]
String Conditionally required if cmn:PackagingItemCode is not populated. Option 1 for choice%1 in OrderItem. Use to identify the product using the internal material number configured in Product Master Data. *55
              tl:packagingItemCode [0…1]
[0/*]
String Conditionally required if cmn:InternalMaterialCode is not populated. Option 2 for choice%1 in OrderItem. Use to identify the product using the packaging level item code (e.g. GTIN-14) configured in Product Master Data. *56
                @type [0…1]
[0/*]
String Conditionally required if cmn:PackagingItemCode is populated. The product code type for the packaging item code using the supported enumeration values.

See the ItemCode enumeration list for valid values.

              cbvmda:lotNumber [0…1]
[0/*]
String Conditionally required if ShipFromCountryCode = KR and IsSerialized = false. The lot or batch code for the items to be picked (if available) in an alphanumeric string. *57
              cbvmda:itemExpirationDate [0…1]
[1/*]
Date The expiration date for the serialized item, formatted in YYYY-MM-DD format. *58
              tl:quantity [1…1]
[0/*]
String Required. The quantity of items at the EACH (unit)-level of the item code and lot if specified to be picked. Mandatory if ShipFromCountryCode = KR and IsSerialized = false *59
              tl:unitPrice [0…1]
[0/*]
Decimal

Conditionally required depending on the country:

  • Mandatory if tl:shipToCountryCode = KR and ReceiptDistributionType = INCOUNTRYRETURN.
  • Mandatory if tl:shipToCountryCode = RU and tl:shipFromCountryCode = AM, BY, KG, KZ, or RU.

Unit price of item. *60

                @currencyCode [1…1]
[3/3]
String Required. Currency ISO code using ISO 4217-2015 format. * *61

See the ISOCurrency enumeration list for valid values.

              tl:vat [0...1]
[-]
Decimal Value Added Tax per unit. * *62
                @currencyCode [1...1]
[3/3]
String Required. Currency ISO code using ISO 4217-2015 format. * *63

See the ISOCurrency enumeration list for valid values.

              tl:grossPrice [0...1]
[0/*]
Decimal Price including unit price and all taxes and fees.  * *64
                @currencyCode [1...1]
[3/3]
String Required. Currency ISO code using ISO 4217-2015 format. * *65

See the ISOCurrency enumeration list for valid values.

              tl:isSerialized [0…1]
[0/*]
Boolean Indicates if item is not serialized. Valid values: *66
  • true (defaults to true if omitted).
  • false
              tl:transactionIdentifier [0...*]
[0/*]
String Transaction identifier at the line-item level of shipment. More than one transaction identifier may be present.

 

                @type [1...1]
[1/*]
String

Required. The transaction identifier type. Valid values:

  • DESTRUCTION
  • INVOICE
  • NOTAFISCAL
  • OTHER
  • PO
  • RETURN

                @date [0...1]
[0/*]
Date Required. Conditionally required if tl:shipFromCountryCode = RU. The transaction identifier date.
      TransactionEvent [0…*]
[-]
-

TransactionEvent is Option 6 for the EventList choice for the Transaction events and is optional to support associating a purchase order with a specific serial number for shipments that contain one or more purchase orders.

The bizStep and disposition values are populated from the linked event (e.g. shipping, receiving, void shipment). Valid values for action are ADD, OBSERVE, or DELETE.

        eventTime [1…1]
[1/*]
DateTime Required. Timestamp of date/time when the event occurred. Include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *67
        recordTime [0...1]
[0/*]
DateTime Not used.
        eventTimeZoneOffset [1…1]
[1/*]
String Required. Time zone offset in effect time and place where the event occurred, consistent with what choice was made for eventTime. Per Section 7.2.8 of [EPCIS1.0.1]. *68
        bizTransactionList [1…1]
- Required. A list of the business transaction identifiers.
          bizTransaction [1…*]
[0/*]
AnyURI

Required. The business transaction identifiers for the Dispatch Advice (Advance Ship Notice) and/or Invoice and/or Purchase Order governing this shipment, subject to Section 8.4.2 of [CBV1.0]. *69

The GLN that occurs after urn:epcglobal:cbv:bt: is the GLN of the party that issued the number (e.g. if customer issues PO Number, customer GLN is entered. If supplier issues ASN/delivery number, supplier GLN is entered).

            @type [1…1]
[1/*]
String Required. The transaction identifier type. *70
A delivery number or ASN is mandatory. All other transaction types are optional.
Mandatory if cmn:TransactionIdentifier is populated.

See the TransactionId enumeration list for valid values.

            @date [0...1]
[0/*]
Date Conditionally required if tl:shipToCountryCode = RU. The transaction identifier date. * *71
        epcList   [1…1]
- Required. The list of EPCs of the top most containers (e.g. pallets, cases) in the shipment.
          epc [0…*]
[0/*]
String Required. The identifier of the parent container in EPC Pure Identity URI format.  See EPC Pure Identifier Format Examples for formats. *72
        action [1…1]
[0/*]
String Required. The action value must equal to ADD. *73
        bizStep [0…1]
[0/*]
String Required. The business process value must be equal to urn:epcglobal:cbv:bizstep:shipping . *74
        disposition [0…1]
[0/*]
String Required. The current condition of the serial number in relation to the business process. The value must be equal to urn:epcglobal:cbv:disp:in_transit. *75
        readPoint [0…1]
- Required.
          id [1…1]
[0/*]
AnyURI Required. The readPoint ID.
        bizLocation [0…1]
- -
          id [1…1]
[1/*]
AnyURI The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *76