Void shipment APIs
Why do I use these messages?
Use these messages to communicate that a delivery is cancelled or corrected. These messages use the delivery number to identify the shipment to be voided and provide a reason for the change in status.
Which report do these messages generate?
These messages generate the 251 - Refusal Sender report in the Russia Compliance application if their contents meet the report conditions.
Void Shipment (XML)

Message Type: SOM_VOID_SHIPMENT
Info Exchange Display Name: Void Shipment


Data Element | Occurs Length |
Type | Description | |||||
---|---|---|---|---|---|---|---|---|
som:SOMVoidShipment | - |
1...1- |
Required. Root element of message. |
|||||
som:ControlFileHeader | - |
1...1- |
Required. XML file control header record. |
|||||
cmn:FileSenderNumber | 1/20 |
1...1String |
Required. File sender's company identifier.1 |
|||||
cmn:FileReceiverNumber | 1/20 |
1...1String |
Required. File recipient's company identifier.2 |
|||||
cmn:FileControlNumber | 1/* |
1...1String |
Required. Unique file control ID number.3 |
|||||
cmn:FileDate | 1/* |
1...1Date |
Required. Date file generated in XML YYYY-MM-DD format.4 |
|||||
cmn:FileTime | 1/* |
1...1Time |
Required. Time file generated in XML HH:MM:SSZ format.5 |
|||||
som:MessageBody | - |
1...1- |
Required. Main body of message. |
|||||
cmn:DeliveryLocation | 0/* |
0...1String |
Specifies identifier of facility/warehouse to scope the Sales Shipment Status update for the serial numbers matching the specified item code and lot number only at the specified location. If the location is omitted, the Sales Shipment status update will be applied globally to all matching serial numbers in the system.6 |
|||||
@type | 1/1 |
1...1String |
Conditionally required if cmn:DeliveryLocation is populated. Location identifier type.7 See the BusinessAndLocationId enumeration list for valid values. ![]()
|
|||||
som:VoidShipment | - |
1...*- |
Required. Looping data element group for void shipment fields. |
|||||
cmn:DeliveryNumber | 1/* |
1...1String |
Required. Delivery number that links the order information to the serialized pick information for this customer delivery. Identifies the delivery document that will be voided or corrected.8 |
|||||
cmn:DeliveryDirection | 1/* |
1...1String |
Required. Delivery direction describes whether the delivery was sent or received by the partner. Valid values:9
|
|||||
cmn:PartnerId | 0/* |
0...1String |
Conditionally required if delivery type = |
|||||
@type | 1/* |
1...1String |
Required. Partner identifier type.11 See the BusinessAndLocationId enumeration list for valid values. ![]()
|
|||||
cmn:SenderInfo | - |
0...1- | Captures information about the business and location of the Partner voiding the shipment. | |||||
cmn:FromBusinessPartyInfo | - |
0...1- | Captures the full business information associated with the sold from business entity. | |||||
cmn:BusinessId | 1/* |
1...*String | Conditionally required if cmn:FromBusinessPartyInfo is populated. Indicates the identifier associated with the sold from business entity. | |||||
@type | 1/* |
1...1String |
Conditionally required if cmn:BusinessId is populated. Indicates the the type of sold from business identifier. See the BusinessAndLocationId enumeration list for valid values. |
|||||
cmn:ShipFromLocationInfo | - |
0...1- | Captures the full business information associated with the ship from location. | |||||
cmn:FacilityId | 1/* |
1...*String | Indicates the identifier associated with the ship from location. | |||||
@type | 1/* |
1...1String |
Conditionally required if cmn:FacilityId is populated. Indicates the the type of sold from business identifier. See the BusinessAndLocationId enumeration list for valid values. |
|||||
cmn:TransactionDate | 1/* |
1...1Date |
Required. Date of void transaction in partner's business system.12 |
|||||
cmn:OrderCancelled | 0/* |
0...1Boolean |
Tracks whether order is cancelled rather than the intent to correct, aligning better
with future government reporting and ERP functionality. Default value is
|
|||||
cmn:ReasonCode | 1/* |
1...1String |
Required. Code identifying reason for the void or correction.14 See the ReasonCode enumeration list for valid values. |
|||||
cmn:ReasonText | 0/* |
0...1String |
Text description of reason code.15 |

<?xml version="1.0" encoding="UTF-8"?> <som:SOMVoidShipment xmlns="urn:tracelink:mapper:sl:serialized_operations_manager" xmlns:som="urn:tracelink:mapper:sl:serialized_operations_manager" xmlns:cmn="urn:tracelink:mapper:sl:commontypes"> <som:ControlFileHeader> <cmn:FileSenderNumber>8888882028655</cmn:FileSenderNumber> <cmn:FileReceiverNumber>8888882028677</cmn:FileReceiverNumber> <cmn:FileControlNumber>20180614063134</cmn:FileControlNumber> <cmn:FileDate>2018-06-14</cmn:FileDate> <cmn:FileTime>09:31:32Z</cmn:FileTime> </som:ControlFileHeader> <som:MessageBody> <cmn:DeliveryLocation type="GLN">8887771013655</cmn:DeliveryLocation> <som:VoidShipment> <cmn:DeliveryNumber>4520010</cmn:DeliveryNumber> <cmn:DeliveryDirection>Received</cmn:DeliveryDirection> <cmn:PartnerId type="GLN">8888882228655</cmn:PartnerId> <cmn:SenderInfo> <cmn:FromBusinessPartyInfo> <cmn:BusinessId type="DUNS4">1234</cmn:BusinessId> </cmn:FromBusinessPartyInfo> </cmn:ShipFromLocationInfo> <cmn:FacilityId type="DUNS4">ABCD</cmn:FacilityId> </cmn:ShipFromLocationInfo> </cmn:SenderInfo> <cmn:TransactionDate>2018-06-14</cmn:TransactionDate> <cmn:OrderCancelled>false</cmn:OrderCancelled> <cmn:ReasonCode>Correction</cmn:ReasonCode> <cmn:ReasonText>Shipment to be corrected</cmn:ReasonText>qAzRGYTG32 </som:VoidShipment> </som:MessageBody> </som:SOMVoidShipment>

Data Element | Error Message | Description |
---|---|---|
Class 1 | ||
cmn:DeliveryDirection | Delivery direction of Sent or Received is required !!! | The error occurs if the source is empty or null, or is not a valid value from the enumeration list. |
cmn:DeliveryLocation | @type | DeliveryLocation type attribute is required when source delivery location is populated !!! | The error occurs if cmn:DeliveryLocation is populated, but the source is empty or null. |
Valid delivery location type is required !!! | The error occurs if the source is present, but there is no matching entry in the lookup file. | |
cmn:PartnerId | @type | Party type attribute is required when source partner Id is populated !!! | The error occurs if cmn:PartnerId is populated, but the source is empty or null. |
Valid partner identifier type is required !!! | The error occurs if the source is present, but there is no matching entry in the lookup file. | |
cmn:PartnerId | Partner identifier is required for delivery direction Received !!! | The error occurs if DeliveryDirection = Received , but source is empty or null. |
cmn:ReasonCode | Valid reason code is required !!! | The error occurs if the source is present, but there is no matching entry in the lookup file. |
cmn:TransactionDate | Transaction date is required !!! | The error occurs if the source is empty or null. |
Class 2 | ||
cmn:DeliveryNumber | Delivery [Delivery Number]: Shipment transaction for specified delivery number must be a sales shipment. Transfer shipment may not be voided. | The error occurs if source refers to a transfer shipment instead of a sales shipment. |
Delivery [Delivery Number]: Shipment transaction for specified delivery number has not been submitted. | The error occurs if source does not refer to a shipment in a submitted state. | |
Delivery [Delivery Number]: The serial numbers for the specified deliver must be in a Commissioned - Shipped state. | The error occurs if serial numbers are not in a Commissioned - Shipped state. | |
Class 3 | ||
The following is thrown for all Class 3 errors: “INTERNALERROR=Internal error from server [server details].” Please contact Support if this error is encountered. |
Void Shipment (EPCIS v1.2)

Message Type: SOM_VOID_SHIPMENT
Info Exchange Display Name: Void Shipment

Data Element | Occurs Length |
Type | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
epcis:EPCISDocument | - |
1...1- | Required. EPCIS message root element. | |||||||
@schemaVersion | 0/* |
1...1Decimal | Required. The version of the EPCIS schema used to populate the EPCIS document elements. Must equal 1.2 .16 |
|||||||
@creationDate | 1/* |
1...1DateTime | Required. Date the message was created in YYYY-MM-DDTHH:MM:SS:mmZ format.17 | |||||||
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 | 0/* |
1...1String | Required.Version of the Standard Business Document Header (SBDH). The HeaderVersion must be set to 1.0 .18 |
|||||||
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...1String |
Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type.19 Send SGLN and all other party types with the GS1-conformant uri prefix, for example:
See the MDPartyTypeAttributes enumeration list for valid values. ![]() |
|||||||
@Authority | 1/* |
1...1String |
Required. The sender identifier type. The Authority was previously expected to be set to See the MDPartyTypeEnums enumeration list for valid values. |
|||||||
sbdh:ContactInformation | - |
0...*- | 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:Receiver | - |
1...*- |
Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type.21 Send SGLN and all other party types with the GS1-conformant uri prefix, for example:
See the MDPartyTypeAttributes enumeration list for valid values. ![]() |
|||||||
sbdh:Identifier | 1/* |
1...1String |
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.22 See the MDPartyTypeEnums enumeration list for valid values. |
|||||||
@Authority | 1/* |
1...1String | Required. Contains the identification group for the message. | |||||||
sbdh:ContactInformation | - |
0...*- | Required. Name of the document standard contained in the file or message. The standard value for this field is EPCglobal .23 |
|||||||
sbdh:DocumentIdentification | - |
1...1- | 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 .24 |
|||||||
sbdh:Standard | 0/* |
1...1String | 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.25 | |||||||
sbdh:TypeVersion | 0/* |
1...1String | Required. The document type. The Type value is set to "Events" for a void shipment event.26 | |||||||
sbdh:InstanceIdentifier | 1/* |
1...1String | 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 .27 |
|||||||
sbdh:Type | 0/* |
1...1String | Required. The document type. The Type value is set to "Events" for a take product sample event.28 | |||||||
sbdh:CreationDateAndTime | 0/* |
1...1DateTime | Required. EPCIS message root element. | |||||||
EPCISBody | - |
1...1- | Required. Contains all of the EPCIS events for this message. | |||||||
EventList | - |
1...1- | Required. Only one ObjectEvent will be present in the EventList for the Void Shipment message. | |||||||
choice | - |
1...*Choice | Required. Only ObjectEvent may be selected for EPCISBody | EventList. | |||||||
ObjectEvent | - |
1...*- |
Required. Choice 1 for EventList. Data = ObjectEvent for the Void Shipment message Events. EventList = ObjectEvent Void Shipment when all of the following is true:
|
|||||||
eventTime | 1/* |
1...1DateTime | Required. This field indicates the time stamp of date/time when the event occurred. Must include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. 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.29 | |||||||
recordTime | 0/* |
0...1DateTime | Not used. | |||||||
eventTimeZoneOffset | 1/* |
1...1String | Required. Time zone offset in effect at the 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 | |||||||
baseExtension | - |
1...1- | Not used. | |||||||
epcList | 1/* |
0...*String | Required. The EPCs of each item, case, and/or pallet commissioned. | |||||||
epc | 0/* |
1...1String | Required. The EPC identifier in EPC Pure Identity URI format. See EPC Pure Identifier Format Examples.31 | |||||||
action | 0/* |
0...1AnyURI | Required. The action value must equal OBSERVE .32 |
|||||||
bizStep | 0/* |
0...1AnyURI | Required. The bizStep value must equal urn:epcglobal:cbv:bizstep:void_shipping .33 |
|||||||
disposition | 0/* |
0...1AnyURI |
Required. The disposition value must equal |
|||||||
readPoint | - |
0...1- | This field identifies the location where the event occurred, i.e. the warehouse GLN location ID and storage location (e.g. shelf, bin), in URN format. | |||||||
id | 0/* |
1...1AnyURI | 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 | |||||||
extension | - |
0...1- | Not used - GS1 Reserved. | |||||||
bizLocation | 1/* |
1...1AnyURI | Required. This value indicates the SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. | |||||||
id | - |
0...1- | 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.36 | |||||||
bizTransactionList | - |
0...1- | Required. Business documents required for void shipping message. Delivery document is mandatory. | |||||||
bizTransaction | 0/* |
1...*String |
Required. The business transaction identifiers for the Dispatch Advice (Advance Ship Notice) and/or Invoice and/or Purchase Order governing the shipment being voided, subject to Section 8.4.2 of [CBV1.0].37 The GLN that occurs after Delivery document (ASN) is mandatory but all document types are supported. |
|||||||
@type | 1/* |
1...1String |
Required. The transaction identifier type.. DESADV is the only biz transaction type that will be mapped. Valid value:38
Other types may be present in source file but if shipping document is missing an error will be thrown. |
|||||||
extension | (missing or bad snippet)0…1(missing or bad snippet) (missing or bad snippet)–(missing or bad snippet) |
- |
Indicates extension body for the shipping event. |
|||||||
sourceList | (missing or bad snippet)0…1(missing or bad snippet) (missing or bad snippet)–(missing or bad snippet) |
- |
Captures the sending business, location, and carrier parties for the delivery. Supports one of two functions:
|
|||||||
source | (missing or bad snippet)0…*(missing or bad snippet) (missing or bad snippet)0/*(missing or bad snippet) |
String |
Captures the source party identifier for the sold from, ship from, or carrier parties. The party identifier in the source either:
Valid values:
![]() |
|||||||
@type | (missing or bad snippet)1…*(missing or bad snippet) (missing or bad snippet)0/*(missing or bad snippet) |
String |
Conditionally required if source is populated. Captures the type of source party identifier. Valid values:
|
|||||||
destinationList | (missing or bad snippet)0…1(missing or bad snippet) (missing or bad snippet)–(missing or bad snippet) |
- |
Captures the receiving business or location parties and supports one of two functions:
|
|||||||
destination | (missing or bad snippet)0…*(missing or bad snippet) (missing or bad snippet)0/*(missing or bad snippet) |
String |
Captures the destination party identifier for the sold to or ship to parties. Party identifier in destination either:
or
Valid values:
![]() |
|||||||
@type | (missing or bad snippet)1…*(missing or bad snippet) (missing or bad snippet)0/*(missing or bad snippet) |
String |
(missing or bad snippet) if destination is populated. Captures the type of destination party identifier. Valid values:
|
|||||||
tl:locationId | - |
0...1- | Specifies identifier of facility/warehouse to scope the void shipping message for the delivery at the specified location.39 | |||||||
@type | - |
0...1- |
Required. Attribute that identifies location types.40 See the BusinessAndLocationId enumeration list for valid values. ![]()
|
|||||||
tl:voidEventExtensions | - |
1...1- | Extensions used for Commission ObjectEvent. | |||||||
tl:deliveryDirection | 0/* |
0...1String | 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:
|
|||||||
tl:partnerId | 0/* |
1...1String | Conditionally required if delivery direction = Received . Partner ID for the delivery
document.41 |
|||||||
@type | 0/* |
1...1String |
Required. Partner identifier type.42 See the BusinessAndLocationId enumeration list for valid values. ![]()
|
|||||||
tl:transactionDate | 1/* |
1...1Date | Required. User-specified date for Serialized Operations Manager Void message in XML date format YYYY-MM-DD.43 | |||||||
tl:orderCancelled | 0/* |
0...1Boolean |
Replaces CorrectShipment.
Tracks whether order is cancelled rather than intent to correct, aligning better
with future government reporting and ERP functionality. Default value is
|
|||||||
tl:changeReasonCode | 0/* |
1...1String |
Required. Code identifying reason for the void or correction.45 See the ReasonCodes enumeration list for valid values. |
|||||||
tl:reasonDescription | 0/* |
0...1String | Text description of reason code.46 |

<?xml version="1.0" encoding="UTF-8"?> <epcis:EPCISDocument xmlns:cbvmda="urn:epcglobal:cbv:mda" xmlns:epcis="urn:epcglobal:epcis:xsd:1" xmlns:tl="http://epcis.tracelink.com/ns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gs1ushc="http://epcis.gs1us.org/hc/ns" xmlns:sbdh="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" schemaVersion="1.2" creationDate="2018-06-14T08:31:32Z"> <EPCISHeader> <sbdh:StandardBusinessDocumentHeader> <sbdh:HeaderVersion>1.0</sbdh:HeaderVersion> <sbdh:Sender> <sbdh:Identifier Authority="GLN">8779891013658</sbdh:Identifier> </sbdh:Sender> <sbdh:Receiver> <sbdh:Identifier Authority="GLN">8887771013655</sbdh:Identifier> </sbdh:Receiver> <sbdh:DocumentIdentification> <sbdh:Standard>EPCglobal</sbdh:Standard> <sbdh:TypeVersion>1.0</sbdh:TypeVersion> <sbdh:InstanceIdentifier>2018083006310033</sbdh:InstanceIdentifier> <sbdh:Type>Events</sbdh:Type> <sbdh:CreationDateAndTime>2018-06-14T08:31:32Z</sbdh:CreationDateAndTime> </sbdh:DocumentIdentification> </sbdh:StandardBusinessDocumentHeader> </EPCISHeader> <EPCISBody> <EventList> <ObjectEvent> <eventTime>2018-06-14T08:31:32Z</eventTime> <eventTimeZoneOffset>-04:00</eventTimeZoneOffset> <epcList> <epc>urn:epc:id:sgtin:068202.0401034.11220207024592</epc> <epc>urn:epc:id:sgtin:068202.0401034.11220207024593</epc> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:void_shipping</bizStep> <disposition>urn:epcglobal:cbv:disp:in_progress</disposition> <bizLocation> <id>urn:epc:id:sgln:8887777.01384.0</id> </bizLocation> <bizTransactionList> <bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:8887771013655:8047889791</bizTransaction> </bizTransactionList> <tl:locationId type="GLN">8887771013655</tl:locationId> <tl:voidEventExtensions> <tl:partnerId type="GLN">6667771013655</tl:partnerId> <gs1ushc:transactionDate>2018-06-13</gs1ushc:transactionDate> <tl:orderCancelled>true</tl:orderCancelled> <tl:changeReasonCode>DamagedInTransit</tl:changeReasonCode> <tl:reasonDescription>Delivery truck was involved in an accident and product was damaged. New delivery will be sent.</tl:reasonDescription> </tl:voidEventExtensions> </ObjectEvent> </EventList> </EPCISBody> </epcis:EPCISDocument>

Data Element | Error Message | Description |
---|---|---|
Class 1 | ||
action | action OBSERVE is required for ObjectEvent void shipping !!! | The error occurs if the source does not equal OBSERVE . |
bizStep | bizStep urn:epcglobal:cbv:bizstep:void_shipping is required for ObjectEvent void shipping !!! | The error occurs if the source does not equal urn:epcglobal:cbv:bizstep:void_shipping . |
bizTransaction | Delivery document is required !!! | The error occurs if bizTransaction | @type does not equal urn:epcglobal:cbv:btt:desadv , or if source is empty or null. |
Unable to parse data. bizTransaction must begin with urn:epcglobal:cbv:bt: !!! | The error occurs if the source does not begin with string urn:epcglobal:cbv:bt: . |
|
disposition | Disposition urn:epcglobal:cbv:disp:in_progress is required for ObjectEvent void shipping !!! | The error occurs if the source does not equal urn:epcglobal:cbv:disp:in_progress . |
ObjectEvent | At least one ObjectEvent for void shipment transaction is required !!! | The error occurs if the source input file does not include at least one ObjectEvent. |
Only one ObjectEvent for the void shipment transaction is required !!! | The error occurs if more than one ObjectEvent is present. | |
tl:changeReasonCode | Valid reason code is required !!! | The error occurs if the source is empty or null, or is not a valid value from the enumeration list. |
tl:locationId | @type | Valid location identifier type is required !!! | The error occurs if the source is present, but there is no matching entry in the lookup file. |
tl:partnerId | @type | Party type attribute is required when source partner Id is populated !!! | The error occurs if cmn:PartnerId is populated, but the source is empty or null. |
Valid partner identifier type is required !!! | The error occurs if the source is present, but there is no matching entry in the lookup file. | |
Class 2 | ||
cmn:DeliveryNumber | Delivery [Delivery Number]: Shipment transaction for specified delivery number must be a sales shipment. Transfer shipment may not be voided. | The error occurs if the specified delivery number refers to a transfer shipment, not a sales shipment. |
Delivery [Delivery Number]: Shipment transaction for specified delivery number has not been submitted. | The error occurs if the specified delivery number does not refer to a shipment in a submitted state. | |
Delivery [Delivery Number]: The serial numbers for the specified deliver must be in a Commissioned - Shipped state. | The error occurs if the serial numbers are not in a Commissioned - Shipped state. | |
Class 3 | ||
The following is thrown for all Class 3 errors: “INTERNALERROR=Internal error from server [server details].” Please contact Support if this error is encountered. |
ESM Void Shipment (EPCIS v1.2)

Message Type: SOM_ESM_VOID_SHIPMENT
Info Exchange Display Name: ESM Void Shipment

Data Element | Occurs Length |
Format | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
epcis:EPCISDocument | – |
1…1- |
Required. EPCIS message root element. |
||||||
@schemaVersion | 0/* |
1…1Decimal |
Required. The version of the EPCIS schema used to populate the EPCIS document elements. Must equal |
||||||
@creationDate | 1/* |
1…1DateTime | Required. Date the message was created in YYYY-MM-DDTHH:MM:SS:mmZ format.48 | ||||||
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 | 0/* |
1…1String | Required. Version of the Standard Business Document Header (SBDH). The HeaderVersion must be set to 1.0 .49 |
||||||
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…1String |
Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type.50 Send SGLN and all other party types with the GS1-conformant uri prefix, for example:
![]() |
||||||
@Authority | 1/* |
1…1String |
Required. The sender identifier type. The Authority was previously expected to be set to |
||||||
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…1String | Required. The value of the Identifier element may be a GLN, SGLN, or any other supported business party type.52 Send SGLN and all other party types with the GS1-conformant uri prefix, for example:
![]() |
||||||
@Authority | 1/* |
1…1String | 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.53 |
||||||
sbdh:ContactInformation | – |
0…*- | Not used. | ||||||
sbdh:DocumentIdentification | – |
1…1- | Required. Contains the identification group for the message. | ||||||
sbdh:Standard | 0/* |
1…1String | Required. Name of the document standard contained in the file or message. The standard value for this field is EPCglobal .54 |
||||||
sbdh:TypeVersion | 0/* |
1…1String | 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 .55 |
||||||
sbdh:InstanceIdentifier | 1/* |
1…1String | 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.56 | ||||||
sbdh:Type | 0/* |
1…1String | Required. Document type. The Type value is set to Events for a shipping event.57 |
||||||
sbdh:CreationDateAndTime | 0/* |
1…1DateTime | 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 .58 |
||||||
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:
|
||||||
eventTime | 1/* |
1…1DateTime |
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.59 |
||||||
recordTime | 0/* |
0…1DateTime |
Not used. |
||||||
eventTimeZoneOffset | 1/* |
1…1String | 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].60 | ||||||
epcList | – |
1…1- |
Required. List of the EPCs of topmost containers (e.g. pallets, cases) in the shipment. |
||||||
epc | 1/* |
0…*String |
The identifier of the epc type in EPC Pure Identity URI format. See EPC Pure Identifier Format Examples.61 |
||||||
action | 0/* |
0…1AnyURI |
Required. The action type of the event. The action value must equal |
||||||
bizStep | 0/* |
0…1AnyURI |
Required. The business step taken in the event. The bizStep value must equal |
||||||
disposition | 0/* |
0…1AnyURI |
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 |
||||||
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 | 0/* |
1…1AnyURI |
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.65 |
||||||
extension | – |
0…1- |
Not used - GS1 Reserved. |
||||||
bizLocation | 1/* |
1…1AnyURI |
Not used. |
||||||
id | – |
0…1- |
Not used. |
||||||
bizTransactionList | – |
1…1- |
Required. This element contains a list of the business transaction identifiers. |
||||||
bizTransaction | 0/* |
1…1String |
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 |
||||||
@type | 1/* |
1…1String |
Required. The transaction identifier
type using the supported enumeration values.
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:
|
||||||
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:
Valid values:
![]() |
||||||
@type | 0/* |
1…*String |
Conditionally required if source is populated. Captures the type of source party identifier. Valid values:
|
||||||
destinationList | – |
0…1- |
Captures the receiving business or location parties and supports one of two functions:
|
||||||
destination | 0/* |
0…*String |
Captures the destination party identifier for the sold to or ship to parties. Party identifier in destination either:
or
Valid values:
![]() |
||||||
@type | 0/* |
1…*String |
Conditionally required if destination is populated. Captures the type of destination party identifier. Valid values:
|
||||||
tl:locationId | – |
0…1- |
Specifies identifier of facility/warehouse to scope the void shipping transaction for the delivery at the specified location.68 |
||||||
@type | – |
0…1- |
Required. Attribute that identifies location types. See the LocationIdType enumeration list for valid values:69 ![]()
|
||||||
tl:voidEventExtensions | – |
1…1- |
Required. Extensions used for commission ObjectEvent. |
||||||
tl:deliveryDirection | 0/* |
0…1String |
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:
|
||||||
tl:partnerId | 0/* |
0…1String |
Conditionally required if deliveryDirection = |
||||||
@type | 0/* |
1…1String |
Required. Partner identifier type.71 ![]()
See the BusinessAndLocationId enumeration list for valid values. |
||||||
tl:transactionDate | 1/* |
1…1Date |
Required. User-specified date for Serialized Operations Manager Void message in XML date format YYYY-MM-DD.72 |
||||||
tl:orderCancelled | 0/* |
0…1Boolean |
Replaces CorrectShipment.
Tracks whether order is cancelled rather than intent to correct, aligning better
with future government reporting and ERP functionality. Default value is
|
||||||
tl:changeReasonCode | 0/* |
1…1String |
Required. Code identifying reason for the void or correction.74 See the ReasonCodes enumeration list for valid values. |
||||||
tl:reasonDescription | 0/* |
0…1String | Text description of reason code.75 |

<?xml version="1.0" encoding="UTF-8"?> <epcis:EPCISDocument xmlns:cbvmda="urn:epcglobal:cbv:mda" xmlns:epcis="urn:epcglobal:epcis:xsd:1" xmlns:tl="http://epcis.tracelink.com/ns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sbdh="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" schemaVersion="1.2" creationDate="2016-09-18T22:08:02Z"> <EPCISHeader> <sbdh:StandardBusinessDocumentHeader> <sbdh:HeaderVersion>1.1</sbdh:HeaderVersion> <sbdh:Sender> <sbdh:Identifier Authority="GLN">8887771013655</sbdh:Identifier> </sbdh:Sender> <sbdh:Receiver> <sbdh:Identifier Authority="GLN">8779891013658</sbdh:Identifier> </sbdh:Receiver> <sbdh:DocumentIdentification> <sbdh:Standard>EPCglobal</sbdh:Standard> <sbdh:TypeVersion>1.1</sbdh:TypeVersion> <sbdh:InstanceIdentifier>2019072522090033</sbdh:InstanceIdentifier> <sbdh:Type>Events</sbdh:Type> <sbdh:CreationDateAndTime>2019-07-25T22:10:53Z</sbdh:CreationDateAndTime> </sbdh:DocumentIdentification> </sbdh:StandardBusinessDocumentHeader> </EPCISHeader> <EPCISBody> <EventList> <ObjectEvent> <eventTime>2019-07-25T22:10:53Z</eventTime> <eventTimeZoneOffset>-04:00</eventTimeZoneOffset> <epcList> <epc/> </epcList> <action>OBSERVE</action> <bizStep>urn:epcglobal:cbv:bizstep:void_shipping</bizStep> <disposition>urn:epcglobal:cbv:disp:in_progress</disposition> <readPoint> <id>urn:epc:id:sgln:8887777.01384.0</id> </readPoint> <bizLocation> <id>urn:epc:id:sgln:8887777.01384.0</id> </bizLocation> <bizTransactionList> <bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:7777776067344:8047889791</bizTransaction> </bizTransactionList> <extension> <sourceList> <source type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:088202.867701.0</source> </sourceList> <destinationList> <destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:033333.101365.0</destination> </destinationList> </extension> <tl:locationId type="GLN">8887771013655</tl:locationId> <tl:voidEventExtensions> <tl:deliveryDirection>Sent</tl:deliveryDirection> <tl:partnerId type="GLN">8887771013655</tl:partnerId> <tl:transactionDate>2019-07-25</tl:transactionDate> <tl:orderCancelled>false</tl:orderCancelled> <tl:changeReasonCode>DamagedInTransit</tl:changeReasonCode> <tl:reasonDescription>Delivery truck was involved in an accident and product was damaged. New delivery will be sent.</tl:reasonDescription> </tl:voidEventExtensions> </ObjectEvent> </EventList> </EPCISBody> </epcis:EPCISDocument>

Data Element | Error Message | Description |
---|---|---|
Class 1 | ||
action | action OBSERVE is required for ObjectEvent void shipping !!! | The error occurs if the source does not equal OBSERVE . |
bizStep | bizStep urn:epcglobal:cbv:bizstep:void_shipping is required for ObjectEvent void shipping !!! | The error occurs if the source does not equal urn:epcglobal:cbv:bizstep:void_shipping . |
bizTransaction | Delivery document is required !!! | The error occurs if the source does not equal urn:epcglobal:cbv:btt:desadv , or is empty or null. |
Unable to parse data. bizTransaction must begin with urn:epcglobal:cbv:bt: !!! | The error occurs if source does not begin with urn:epcglobal:cbv:bt: . |
|
disposition | Disposition urn:epcglobal:cbv:disp:in_progress is required for ObjectEvent void shipping !!! | The error occurs if the source does not equal urn:epcglobal:cbv:disp:in_progress . |
ObjectEvent | At least one ObjectEvent for void shipment transaction is required !!! | The error occurs if there is not at least one ObjectEvent present. |
Only one ObjectEvent for the void shipping transaction is required !!! | The error occurs if more than one source is present. | |
tl:changeReasonCode | Valid reason code is required !!! | The error occurs if the source is empty or null, or is not a valid value from the enumeration list. |
tl:locationId | @type | Valid location identifier type is required !!! | The error occurs if the source is present, but there is no matching entry in the lookup file. |
tl:partnerId | @type | Party type attribute is required when source partner Id is populated !!! | The error occurs if tl:partnerId is populated, but the source is empty or null. |
Valid partner identifier type is required !!! | The error occurs if the source is present, but there is no matching entry in the lookup file. | |
Class 2 | ||
cmn:DeliveryNumber | Delivery [Delivery Number]: Shipment transaction for specified delivery number must be a sales shipment. Transfer shipment may not be voided. | The error occurs if source refers to a transfer shipment. |
Delivery [Delivery Number]: Shipment transaction for specified delivery number has not been submitted. | The error occurs if source refers to a shipment that is not in a submitted state. | |
Delivery [Delivery Number]: The serial numbers for the specified deliver must be in a Commissioned - Shipped state. | The error occurs if the serial numbers are not in a Commissioned - Shipped state. | |
Class 3 | ||
The following is thrown for all Class 3 errors: “INTERNALERROR=Internal error from server [server details].” Please contact Support if this error is encountered. |
Void Shipment (SOAP)

Guidelines

The following data is sent in the request to TraceLink:
Data Element | Occurs Length |
Type | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
soapenv:Envelope | – |
1...1- |
Required. SOAP Envelope root element. |
||||||
soapenv:Header | – |
1...1- |
Not used. |
||||||
soapenv:Body | – |
1...1- |
Required. SOAP Message Body. |
||||||
urn:VoidShipment | – |
1...1- |
Required. Create void shipment request message. Communicates the location, delivery number, order cancel status, transaction date, and reason of a void shipment message. The system validates the delivery in order to ensure that it is a valid shipment and that the serial numbers are in a Shipped status. The Order Cancel status determines whether the delivery is voided and canceled such that the delivery may not be corrected or whether the delivery is voided and not corrected such that the delivery may be updated at a later time. |
||||||
LocationId | – |
0…1- |
Optional location associated with the original delivery.
|
||||||
@identifiervalue | 0/* |
1...1String |
Specifies identifier of facility/warehouse to scope the void shipment. This is intended to provide access control for the void message. When the transaction is updated, the location of the original delivery will be used to return the serial numbers to an available state. 76 |
||||||
@identifiertype | 1/1 |
1...1String |
Required. Location identifier type.77 See the LocationId enumeration list for valid values. |
||||||
DeliveryNumber | 1/* |
1...1String |
Required. Delivery number that refers to a previously submitted delivery (Serialized Operations Manager Sales Shipment). The system will validate that:78
|
||||||
DeliveryDirection | 1/* |
1...1String |
Required. Indicates whether the delivery is sent or received by the Partner which determines if the message is for voiding shipment or receipt. Valid values:
|
||||||
PartnerId | – |
0…1- |
Optional Partner ID associated with the original delivery. |
||||||
SenderInfo | - |
0...1- | Conditionally required if the same DeliveryNumber is used for multiple shipments. Captures information about the business entity and location that is sending the shipment. | ||||||
FromBusinessPartyInfo | - |
0...1- | Captures the identifiers associated with the business entity that is sending the shipment. | ||||||
BusinessId | - |
0...*- | Captures the identifiers associated with the business entity that is sending the shipment. | ||||||
@type | 1/* |
1...1String |
Conditionally required if the same BusinessId is present. Captures the sold from business identifier value. See the BusinessAndLocationId enumeration list for valid values. |
||||||
ShipFromLocationInfo | - |
0...1- | Captures the identifiers associated with the location that is sending the shipment. | ||||||
FacilityId | - |
0...*- | Indicates the identifiers associated with the business location that is sending the shipment. | ||||||
@type | 1/* |
1...1String |
Conditionally required if the FacilityId is present. Indicates the ship from location identifier value. See the BusinessAndLocationId enumeration list for valid values. |
||||||
TransactionDate | 1/* |
1...1Date |
Date of void transaction in partner's business system.79 |
||||||
OrderCancelled | 1/* |
1...1Boolean |
Required. Represents the status of the order/delivery in the ERP system.80
|
||||||
ReasonCode | 1/* |
1...1String |
Required. Code identifying reason for the void or correction.81 See the ReasonCodes enumeration list for valid values. |
||||||
ReasonText | 0/* |
0…1String |
Text description of reason code.82 |
Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:tracelink:soap"> <soapenv:Body> <urn:VoidShipment> <VoidShipmentRequest> <LocationId identifiertype="GLN" identifiervalue="8888882028655"/> <DeliveryNumber>D12345</DeliveryNumber> <DeliveryDirection>Sent</DeliveryDirection> <SenderInfo> <FromBusinessPartyInfo> <BusinessId type="GLN">6368866569756</BusinessId> </FromBusinessPartyInfo> <ShipFromLocationInfo> <FacilityId type="GLN">6368866569163</FacilityId> </ShipFromLocationInfo> </SenderInfo> <TransactionDate>2015-06-01</TransactionDate> <OrderCancelled>true</OrderCancelled> <ReasonCode>ORDER_CANCELLED</ReasonCode> <ReasonText>Order cancelled by customer.</ReasonText> </VoidShipmentRequest> </urn:VoidShipment> </soapenv:Body> </soapenv:Envelope>
Errors
Exception Code | Exception Message |
---|---|
DELIVERY_NUMBER_MISSING | Delivery number must be specified for Void Shipment transaction. |
INVALID_ORDER_CANCELED_STATUS | Delivery [Delivery Number]: The Order Cancelled field must be true or false. |
INVALID_REASON_CODE | Delivery [Delivery Number]: A valid void reason [Reason] must be specified. |
INVALID_SERIAL_NUMBER_STATUS | Delivery [Delivery Number]: The serial numbers for the specified deliver must be in a Commissioned - Shipped state. |
INVALID_SHIPMENT_STATUS | Delivery [Delivery Number]: Shipment transaction for specified delivery number has not been submitted. |
NO_SHIPMENT_FOUND_FOR_COMPANY | Delivery [Delivery Number]: No shipment found for specified delivery number in specified company [CompanyID]. |
NO_SHIPMENT_FOUND_FOR_LOCATION | Delivery [Delivery Number]: No shipment found for specified delivery number in specified location [LocationID]. |
REASON_CODE_MISSING | Delivery [Delivery Number]: A void reason must be specified. |
INVALID_RECEIPT_STATUS | Delivery [Delivery Number]: Receipt transaction for specified delivery number is not present in the system. |
INVALID_SERIAL_NUMBER_STATUS_RECEIPT | Delivery [Delivery Number]: The serial numbers for the specified delivery must be in a Commissioned - Available or Commissioned - Pending Receipt state when Delivery Direction is Received. |
DELIVERY_NUMBER_DUPLICATE | Operation could not be performed because multiple deliveries with the delivery number [DELIVERY NUMBER] were found in the system. Please provide additional details (SoldFromParty and ShipFromLocation) to fetch the intended delivery and perform the operation. |
NO_RECEIPT_FOUND_FOR_LOCATION | Delivery [Delivery Number]: No receipt found for specified delivery number in specified location [LocationID]. |
NO_RECEIPT_FOUND_FOR_COMPANY | Delivery [Delivery Number]: No receipt found for specified delivery number in specified company [CompanyID]. |
INVALID_DRECTION_DIRECTION | Delivery [Delivery Number]: A Delivery Direction must be specified. |

Guidelines
The following data is included in the message response:
Data Element | Occurs Length |
Type | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
S:Envelope | – |
1...1- |
Required. SOAP Envelope root element. |
||||||
S:Body | – |
1...1- |
Required. SOAP Message Body. |
||||||
ns2:VoidShipmentResponse | – |
1...1- |
Required. Void Shipment Response Message. |
||||||
TLResponse | – |
1...1- |
Required. Response. |
||||||
Success | – |
0…1- |
Indicates if Void Shipment processing succeeds.83 |
||||||
ExceptionReturn | – |
0…1- |
Populated with error
information only if Success = otherwise omitted. |
||||||
CallException | – |
1…*- |
Required. Contains error details. |
||||||
ExceptionCode | 0/* |
0…1String |
Required. Error code. |
||||||
ExceptionMessage | 0/* |
0…1String |
Message that further describes error condition. |
Example (Success)
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:VoidShipmentResponse xmlns:ns2="urn:tracelink:soap" xmlns:ns3="http://tracelink.com/som"> <TLResponse> <Success>true</Success> </TLResponse> </ns2:VoidShipmentResponse> </S:Body> </S:Envelope>
Example (Error)
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:VoidShipmentResponse xmlns:ns2="urn:tracelink:soap" xmlns:ns3="http://tracelink.com/som"> <TLResponse> <Success>false</Success> <ExceptionReturn> <CallException> <ExceptionCode>INVALIDDELIVERYNUMBER</ExceptionCode> <ExceptionMessage>Invalid delivery number. Delivery number not found.</ExceptionMessage> </CallException> </ExceptionReturn> </TLResponse> </ns2:VoidShipmentResponse> </S:Body> </S:Envelope>