ESM Void Shipment Guidelines (EPCIS v1.2)

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

Message Type: SOM_ESM_VOID_SHIPMENT

Info Exchange Display Name: ESM Void 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.
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

Send SGLN and all other party types with the GS1-conformant uri prefix, for example:

  • urn:epc:id:sgln:088202.867701.0
  • http://epcis.gs1us.org/hc/dea/loc/10023141
GLNs do not have a urn/http prefix.
          @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

        sbdh:ContactInformation [0…*]
[]
-

Not used.

      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

Send SGLN and all other party types with the GS1-conformant uri prefix, for example:

  • urn:epc:id:sgln:088202.867701.0
  • http://epcis.gs1us.org/hc/dea/loc/10023141
GLNs do not have a urn/http prefix.
          @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
        sbdh:ContactInformation [0…*]
[]
- Not used.
      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. Document type. The Type value is set to Events for a shipping event. *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
  EPCISBody [1…1]
[]
-

Required. The main body of the shipment message.

    EventList [1…1]
[]
-

Required. The EventList includes one ObjectEvent for shipping.

      choice [1…*]
[]
Choice

Required. Only ObjectEvent may be selected for EventList.

      ObjectEvent [1…*]
[]
-

Required. Indicates the transaction type. Choice 1 for the EventList. Data = ObjectEvent for the commissioning events.

EventList = ObjectEvent when all of the following is true:

  • action = OBSERVE
  • bizStep = urn:epcglobal:cbv:bizstep:shipping
  • disposition = urn:epcglobal:cbv:disp:in_progress
        eventTime [1…1]
[1/*]
DateTime

Required. The time stamp of the date/time when the event occurred in YYYY-MM-DDTHH:MM:SS.mm or YYYY-MM-DDTHH:MM:SS.mmm format. Must include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. The system expects the Z to be appendedif it is not included; however, the system assumes that the time is GMT and therefore appends the Z. *13

        recordTime [0…1]
[0/*]
DateTime

Not used.

        eventTimeZoneOffset [1…1]
[1/*]
String Required. The time zone offset in the place where the event occurred, consistent with what choice was made for eventTime. A time offset is an amount of time subtracted from or added to UTC (Coordinated Universal Time) to get the current civil time, whether it is standard time or Daylight saving time. Per Section 7.2.8 of [EPCIS1.0.1]. *14
        epcList [1…1]
[]
-

Required. List of the EPCs of topmost containers (e.g. pallets, cases) in the shipment.

          epc [0…*]
[1/*]
String

The identifier of the epc type in EPC Pure Identity URI format. See EPC Pure Identifier Format Examples. *15

        action [0…1]
[0/*]
AnyURI

Required. The action type of the event. The action value must equal OBSERVE for a shipping event. *16

        bizStep [0…1]
[0/*]
AnyURI

Required. The business step taken in the event. The bizStep value must equal urn:epcglobal:cbv:bizstep:void_shipping for a shipping event. *17

        disposition [0…1]
[0/*]
AnyURI

Required. The bizStep and disposition fields define the message event and are grouped together under the GS1 EPCIS guidelines. The disposition indicates the status of the message. The disposition value must equal urn:epcglobal:cbv:disp:in_progress. *18

        readPoint [0…1]
[]
-

Identifies the location where the event occurred; that is, the warehouse GLN location ID and storage location (e.g. shelf, bin) that recorded the shipping event, in URN format.

          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. *19

          extension [0…1]
[]
-

Not used - GS1 Reserved.

        bizLocation [1…1]
[1/*]
AnyURI

Not used.

          id [0…1]
[]
-

Not used.

        bizTransactionList [1…1]
[]
-

Required. This element contains a list of the business transaction identifiers.

          bizTransaction [1…1]
[0/*]
String

Required. The business transaction identifiers for the Dispatch Advice (Advance Ship Notice) and/or Invoice and/or Purchase Order governing this shipment, which are subject to Section 8.4.2 of (CBV1.0). 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). *20

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

Required. The transaction identifier type using the supported enumeration values. DESADV is the only biz transaction type that will be mapped: *21

  • urn:epcglobal:cbv:btt:desadv = Shipment Notification Number

Other types may be present in source file, but if shipping document is missing an error will be thrown.

        extension []
[]
-

Indicates extension body for the shipping event.

          sourceList [0…1]
[]
-

Captures the sending business, location, and carrier parties for the delivery. Supports one of two functions:

  • If the VocabularyElement is populated with the party address in master data, the sourceList identifies the sold to and ship to parties. The party master data is mapped from the VocabularyElement.

  • If the VocabularyElement is not populated with party address from master data, the sourceList party identifiers are used to look up the party address in master data.

            source [0…*]
[0/*]
String

Captures the source party identifier for the sold from, ship from, or carrier parties. The party identifier in the source either:

  • Identifies the sold from, ship from, or carrier party in the VocabularyElement. The party address info is mapped from the VocabularyElement. Nothing is mapped from the VocabularyElement if there is no match between the party identifier in the sourceList | source and VocabularyElement[@id].

    or

  • The sourceList | source elements are used to perform a master data lookup if the VocabularyElementis not populated or there is no match between party identifiers in the source and VocabularyElement[@id] elements.

Valid values:

  • urn:epc:id:sgln:
  • http://epcis.tracelink.com/hc/companyId/loc/
  • http://epcis.tracelink.com/hc/companySiteId/loc/
  • http://epcis.gs1us.org/hc/duns/loc/
  • http://epcis.gs1us.org/hc/duns_plus_four/loc/
  • http://epcis.gs1us.org/hc/dea/loc/
  • http://epcis.gs1us.org/hc/hin/loc/
  • http://epcis.gs1br.org/hc/cpf/loc/
  • http://epcis.gs1br.org/hc/cnes/loc/
  • http://epcis.gs1br.org/hc/cnpj/loc/
  • http://epcis.gs1br.org/hc/professionalReg/loc/
  • http://epcis.gs1us.org/hc/de_ifa_reg_num/loc/
  • http://epcis.tracelink.com/hc/gcp/loc/
  • http://epcis.tracelink.com/hc/in_company_id/loc/
  • http://epcis.tracelink.com/hc/in_location_id/loc/
  • http://epcis.tracelink.com/hc/kr_provider_code/loc/
  • http://epcis.tracelink.com/hc/kr_bus_reg_number/loc/
  • http://epcis.tracelink.com/hc/cuit/loc/
  • http://epcis.tracelink.com/hc/in_iec/loc/
  • http://epcis.tracelink.com/hc/in_pan/loc/
  • http://epcis.tracelink.com/hc/in_tin/loc/
  • http://epcis.tracelink.com/hc/ru_account_number/loc/
  • http://epcis.tracelink.com/hc/ru_inn_foreign_entity/loc/
  • http://epcis.tracelink.com/hc/ru_inn_indiv/loc/
  • http://epcis.tracelink.com/hc/ru_inn_kpp_tax_code/loc/
  • http://epcis.tracelink.com/hc/ru_inn_local_entity/loc/
  • http://epcis.tracelink.com/hc/in_mfr/loc/
  • http://epcis.tracelink.com/hc/in_mrch/loc/
  • http://epcis.tracelink.com/hc/in_gstn/loc/
  • http://epcis.tracelink.com/hc/cn_foreign_mah/loc/
  • http://epcis.tracelink.com/hc/cn_foreign_mfr/loc/
  • http://epcis.tracelink.com/hc/cn_usid/loc/
  • http://epcis.tracelink.com/hc/am_tin/loc/
  • http://epcis.tracelink.com/hc/by_tin/loc/
  • http://epcis.tracelink.com/hc/kz_bin/loc/
  • http://epcis.tracelink.com/hc/id_bpom_facilityid/loc/
  • http://epcis.tracelink.com/hc/kg_tin/loc/
If the sold from party is the same as the ship from party, the ship from identifier does not need to be sent.
            @type [1…*]
[0/*]
String

Conditionally required if source is populated. Captures the type of source party identifier. Valid values:

  • Sold from party = urn:epcglobal:cbv:sdt:owning_party – The type of identifier used for the business entity transferring ownership of the goods. Value required if sourceis present and ship from party is the same as the business entity that owns the goods.
  • Ship from party = urn:epcglobal:cbv:sdt:location – The type of identifier used for the location that ships the goods. Value required if source is present and the ship from party is different from the business entity that owns the goods.
  • Carrier party = http://epcis.tracelink.com/sdt/carrier_party – The type of identifier used for the party that ships the goods.
        destinationList [0…1]
[]
-

Captures the receiving business or location parties and supports one of two functions:

  • If the VocabularyElement is populated with the party address in master data, the destinationListidentifies the sold to and ship to parties. The party master data is mapped from VocabularyElement.
  • If the VocabularyElement is not populated with party address from master data, the destinationListparty identifiers are used to look up the party address in master data.
          destination [0…*]
[0/*]
String

Captures the destination party identifier for the sold to or ship to parties. Party identifier in destination either:

  • Identifies the sold from or ship from parties in the VocabularyElement. The party address info is mapped from the VocabularyElement. Nothing is mapped from the VocabularyElement if there is no match between the party identifier in the destinationList | destination and VocabularyElement[@id] elements.

or

  • The destinationList | destination elements are used to perform a master data lookup if the VocabularyElement is not populated or there is no match between party identifiers in the source and VocabularyElement[@id] elements.

Valid values:

  • urn:epc:id:sgln:
  • http://epcis.tracelink.com/hc/companyId/loc/
  • http://epcis.tracelink.com/hc/companySiteId/loc/
  • http://epcis.gs1us.org/hc/duns/loc/
  • http://epcis.gs1us.org/hc/duns_plus_four/loc/
  • http://epcis.gs1us.org/hc/dea/loc/
  • http://epcis.gs1us.org/hc/hin/loc/
  • http://epcis.gs1br.org/hc/cpf/loc/
  • http://epcis.gs1br.org/hc/cnes/loc/
  • http://epcis.gs1br.org/hc/cnpj/loc/
  • http://epcis.gs1br.org/hc/professionalReg/loc/
  • http://epcis.gs1us.org/hc/de_ifa_reg_num/loc/
  • http://epcis.tracelink.com/hc/gcp/loc/
  • http://epcis.tracelink.com/hc/in_company_id/loc/
  • http://epcis.tracelink.com/hc/in_location_id/loc/
  • http://epcis.tracelink.com/hc/kr_provider_code/loc/
  • http://epcis.tracelink.com/hc/kr_bus_reg_number/loc/
  • http://epcis.tracelink.com/hc/cuit/loc/
  • http://epcis.tracelink.com/hc/in_iec/loc/
  • http://epcis.tracelink.com/hc/in_pan/loc/
  • http://epcis.tracelink.com/hc/in_tin/loc/
  • http://epcis.tracelink.com/hc/ru_account_number/loc/
  • http://epcis.tracelink.com/hc/ru_inn_foreign_entity/loc/
  • http://epcis.tracelink.com/hc/ru_inn_indiv/loc/
  • http://epcis.tracelink.com/hc/ru_inn_kpp_tax_code/loc/
  • http://epcis.tracelink.com/hc/ru_inn_local_entity/loc/
  • http://epcis.tracelink.com/hc/in_mfr/loc/
  • http://epcis.tracelink.com/hc/in_mrch/loc/
  • http://epcis.tracelink.com/hc/in_gstn/loc/
  • http://epcis.tracelink.com/hc/cn_foreign_mah/loc/
  • http://epcis.tracelink.com/hc/cn_foreign_mfr/loc/
  • http://epcis.tracelink.com/hc/cn_usid/loc/
  • http://epcis.tracelink.com/hc/am_tin/loc/
  • http://epcis.tracelink.com/hc/by_tin/loc/
  • http://epcis.tracelink.com/hc/kz_bin/loc/
  • http://epcis.tracelink.com/hc/id_bpom_facilityid/loc/
  • http://epcis.tracelink.com/hc/kg_tin/loc/
If the sold from party is the same as the ship from party, the ship from identifier does not need to be sent.
            @type [1…*]
[0/*]
String

Conditionally required if destination is populated. Captures the type of destination party identifier. Valid values:

  • Sold to party = urn:epcglobal:cbv:sdt:owning_party – Value required if destination is present and the ship from party is the same as the business entity that receives the goods.
  • Ship from party = urn:epcglobal:cbv:sdt:location – Value required if destination is present and the ship to party is different from the business entity that receives the goods.
        tl:locationId [0…1]
[]
-

Specifies identifier of facility/warehouse to scope the void shipping transaction for the delivery at the specified location. *22

          @type [0…1]
[]
-

Required. Attribute that identifies location types. See the LocationIdType enumeration list for valid values: *23

Only one of the following values may be used per message:
  • RU_INN_FOREIGN_ENTITY
  • RU_INN_INDIV
  • RU_INN_LOCAL_ENTITY
        tl:voidEventExtensions [1…1]
[]
-

Required. Extensions used for commission ObjectEvent.

          tl:deliveryDirection [0…1]
[0/*]
String

Required. Indicates whether the delivery is sent or received by the Partner. Determines if the message is for voiding a shipment or receipt.

Valid values:

  • Sent – The delivery is sent by the Partner.

  • Received – The delivery is received by the Partner.

 

          tl:partnerId [0…1]
[0/*]
String

Conditionally required if deliveryDirection = received. Partner ID for the delivery document. *24

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

Required. Partner identifier type. *25

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.

          tl:transactionDate [1…1]
[1/*]
Date

Required. User-specified date for Serialized Operations Manager Void message in XML date format YYYY-MM-DD. *26

          tl:orderCancelled [0…1]
[0/*]
Boolean

Replaces CorrectShipment. Tracks whether order is cancelled rather than intent to correct, aligning better with future government reporting and ERP functionality. Default value is false. Valid values: *27

  • false = Original order voided and may or may not be corrected at a later time.
  • true = Original order voided and cancelled. Cannot be corrected.
          tl:changeReasonCode [1…1]
[0/*]
String

Required. Code identifying reason for the void or correction. *28

See the ReasonCodes enumeration list for valid values.

          tl:reasonDescription [0…1]
[0/*]
String Text description of reason code. *29