Receipt Guidelines (EPCIS v1.2)
See How To Use this Guide before interpreting the guidelines below.
Message Type: SOM_RECEIPT
Info Exchange Display Name: Shipment Receipt


- Ex: urn:epc:id:sgtin:415001647778.0.100000000022
- Format: urn:epc:id:sgtin:[company prefix].[indicator digit][item ref].[serial number]
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 .1 |
|||||||||
@creationDate | 1/* |
1…1DateTime | Required. Date the message was created in YYYY-MM-DDTHH:MM:SS:mmZ format.2 | |||||||||
EPCISHeader | - |
0…1- | Required. The XML file control header. Only receiving event is supported: no aggregation. | |||||||||
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 .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…1String | 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 a GS1-conformant uri prefix. For example:
![]() |
|||||||||
@Authority | 1/* |
1…1String | 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.5See 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…1String | 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 a 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. 7See the BusinessAndLocationId enumeration list for valid values. |
|||||||||
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 .8 |
|||||||||
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 .9 |
|||||||||
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.10 | |||||||||
sbdh:Type | 0/* |
1…1String | Required. This element identifies the document type. The Type value is set to "Events". 11 | |||||||||
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 .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. If there is no partner address data in the header extensions, the identifiers in the Source and Destination lists is used for partner master data lookup by TraceLink. ![]() |
|||||||||
VocabularyList | - |
1…1- | Required. Vocabulary list group master data elements. | |||||||||
Vocabulary | - |
0…*- | Looping vocabulary element with discrete partner master data element groups. Vocabulary occurs once each for sold from, ship from, sold to, ship to parties present. Group is optional. If it does not appear in master data header extension, no error will be thrown. | |||||||||
@type | 0/* |
1…1String | Required. Vocabulary type identifying location master data elements for receiving events. Master data type defined by VocabularyElement | @id. 13 Valid value:
![]() |
|||||||||
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 identifying all business party and location master data, including
identifiers, identifier types, and address info. VocabularyElement repeats
once for each party type:
![]()
|
|||||||||
@id | 0/* |
1…1String | Required. SGLN or other partner
identifier and type for party master data in VocabularyElement. Must match
sourceList or destinationList owning or location party in receiving event
from either:
The identifier value is required for regulatory reporting. 14
The following types are supported in the US:
See the MDPartyTypeAttributes enumeration list for valid values. |
|||||||||
attribute | 0/* |
1…1String | Conditionally required if the above Vocabulary | @id attribute is populated. 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 for receiving event:
![]() |
|||||||||
@id | 0/* |
1…1String | Conditionally required if the above attribute element is populated. Provides the name in the Name/Value pair attribute | @id). Identifies the master data value stored in the attribute value element, using urn or http prefix. 16 Valid values:
|
|||||||||
EPCISBody | - |
1…1- | Required. Contains all of the EPCIS events for this message. | |||||||||
EventList | - |
1…1- | Required. The EventList only contains the ObjectEvent (required). | |||||||||
ObjectEvent | - |
1…*- | Required. EventList. Data = "ObjectEvent"
for receiving events
when all of the following is true:
|
|||||||||
eventTime | 1/* |
1…1DateTime | Required. Timestamp of the date/time when the event occurred. Include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. 17 | |||||||||
eventTimeZoneOffset | 1/* |
1…1String | 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]. 18 | |||||||||
epcList | - |
1…1- | Required. List of the EPCs of top most containers (e.g. pallets, cases) in the shipment. | |||||||||
epc | 1/* |
1…*String | Required. The EPC identifier in EPC Pure Identity URI format. 19 | |||||||||
action | 0/* |
1…1String | Required. This field indicates the action taken in the message. The action value is set
to OBSERVE for a receiving event. 20See the ActionType enumeration list for valid values. |
|||||||||
bizStep | 0/* |
0…1AnyURI | Required. This value indicates the business step taken in the event. The bizStep value is set
to urn:epcglobal:cbv:bizstep:receiving for a receiving event. 21 |
|||||||||
disposition | 0/* |
0…1AnyURI | Required. The bizStep, disposition, and action elements define the message event and are grouped together under the GS1 EPCIS guidelines. The disposition indicates the status of the transaction. The disposition value is
set to urn:epcglobal:cbv:disp:in_progress for a receiving event. 22 |
|||||||||
readPoint | - |
0…1- | Not used. | |||||||||
id | 0/* |
1…1AnyURI | Not used. | |||||||||
bizLocation | - |
0…1- | Not used. | |||||||||
id | 1/* |
1…1AnyURI | Not used. | |||||||||
bizTransactionList | - |
0…1- | Conditionally required if bizStep = urn:epcglobal:cbv:bizstep:receiving . |
|||||||||
bizTransaction | 0/* |
1…*AnyURI | Required. The business transaction
identifiers for the Dispatch Advice (Advance Ship Notice) and/or the Return
and/or Purchase Order governing this shipment, subject to Section 8.4.2 of
[CBV1.0]. 23 Delivery document is mandatory in the receiving transaction. All other document types are optional. |
|||||||||
@type | 1/* |
1…1String | Required. The transaction identifier
type (e.g. PO, ASN, RETURN, etc).
24 See the TransactionId enumeration list for valid values. |
|||||||||
@date | 0/* |
0...1Date | Conditionally required if tl:shipFromCountryCode = RU . The transaction identifier date.25 |
|||||||||
tl:locationId | - |
0...1String | Serialized Operations Manager external subscriber location identifier.
|
|||||||||
extension | - |
0…1- | GS1 ObjectEvent extension. | |||||||||
sourceList | - |
0…1- | Conditionally required if partner master data for transfer from party/location is populated in header
extension VocabularyElement.
Source list identifying
sending and carrier parties identified in header extensions level. If Master Data exists in the Tracelink system, then master data lookup is supported. To use master data lookup, do not send any partner address info in the EPCIS header master data extension. Only send the partner identifiers in sourceList and destinationList. TraceLink reads the party identifiers from sourceList and destinationList to run the master data lookup. Do not send partner identifiers and address info in the master data header.
|
|||||||||
source | 0/* |
1…*String | Required. Source party identifier for
sold-from, ship-from, or carrier parties. Must match same partner identifiers
in header extension VocabularyElement.
26 Used for master data lookup if partner identifier and address info is not present in header master data. If ship-from party is the same as sold-from party, ship-from does not need to be included. |
|||||||||
@type | 0/* |
1…1String | Required. Identifies type of source
party identifier, ie, owning (sold-from) or location (ship-from) party. Valid
values:
27
|
|||||||||
destinationList | - |
0…1- | Conditionally required if partner master data for transfer from party/location is populated in header
extension VocabularyElement.
Destination list identifying
receiving parties identified in header extensions level. If Master Data exists in the Tracelink system, master data lookup is supported. To use master data lookup, do not send any partner address info in the EPCIS header master data extension. Only send the partner identifiers in destinationList and sourceList. TraceLink reads the party identifiers from destinationList and sourceList to run master data lookup. Do not send partner identifiers and address info in the master data header.
|
|||||||||
destination | 0/* |
1…*String | Required. Destination party identifier
for sold-to and ship-to parties. Must match same partner identifiers in
header extension VocabularlyElement.
28 Used for master data lookup if partner identifier and address info is not present in header master data. If ship-to party the same as sold-to party, ship-from does not need to be included. |
|||||||||
@type | 0/* |
1…1String | Required. Identifies type of
destination party identifier, i.e. owning (sold-to) or location (ship-to)
party. Valid values:
29
|
|||||||||
tl:receivingEventExtensions | - |
0…1- | Receiving event with the list of serial numbers being received from supplier's shipment. | |||||||||
tl:transactionDate | - |
1…1Date | 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. 30 | |||||||||
tl:shipToCountryCode | 2/2 |
1…1String | Required. 2-letter ISO country code for
ship-to country.
This value is referenced to advise regulatory reporting if it is
required for the specified country market. 31![]() See the ISOCountryCode enumeration list for valid values. |
|||||||||
tl:shipFromCountryCode | 2/2 |
0…1String | 2-letter ISO country code for
ship-from country.
This value is referenced to advise regulatory reporting if it is
required for the specified country market. 32![]() See the ISOCountryCode enumeration list for valid values. |
|||||||||
tl:receiptDistributionType | 1/* |
1…1String | Required. Informs what types of
regulatory reporting may be triggered based on the nature of the transaction:
33
See the ReceiptDistributionType enumeration list for valid values. |
|||||||||
tl:supplyType | 0/* |
0…1String | Conditionally required if ShipToCountryCode = KR and
SalesDistributionType = EXPORTSALE or EXPORTRETURN ; all values except for
Collection apply. Identifies the type of supply
that is being performed. 34See the SupplyType enumeration list for valid values. ![]()
|
|||||||||
tl:contractType | 0/* |
0…1String | KR and SalesDistributionType = EXPORTSALE or INCOUNTRYSALE .See the ContractType enumeration list for valid values. |
|||||||||
tl:comments | 0/* |
0…1String | Optional remarks or comments associated with the delivery. | |||||||||
tl:contractNumber | 0/* |
0...1String | Identification number of the contract.35 | |||||||||
tl:fundingSource | 0/* |
0...1String |
RU .See the FundingSource enumeration list for valid values. |
|||||||||
tl:registerUnknownSNs | 0/* |
0…1Boolean | Determines whether the serial numbers that are unknown to SOM (in tl:epcOrderItemList) should be registered. Valid values:37
|
|||||||||
tl:transferWithoutShipment | 0/* |
0…1Boolean |
Indicates that the serial numbers are already in an
Only use when tl:receiptDistributionType = |
|||||||||
tl:entryPort | 0/* |
0...1String |
Name of the shipment's port of entry into a country (e.g. an airport, maritime port, border checkpoint). |
|||||||||
tl:exitPort | 0/* |
0...1String |
Name of the shipment's port of exit from a country (e.g. an airport, maritime port, border checkpoint). |
|||||||||
tl:deliveryInspection | 0/* |
0...1String |
The inspection status of the physical delivery against the delivery documentation. See the DeliveryInspection enumeration list for valid values. |
|||||||||
tl:deliveryInspectionDate | 10/10 |
0...1Date | The date of the physical delivery inspection against the delivery documentation in YYYY-MM-DD format.38 | |||||||||
tl:deliveryInspectionNote | 0/* |
0...1String | Comments about the physical delivery inspection against the delivery documentation. | |||||||||
tl:removalFromCirculation | 0/* |
0...1String |
Reason the product in the delivery is taken out of the supply chain. See the RemovalFromCirculation enumeration list for valid values. |
|||||||||
tl:aggregationInspection | 0/* |
0...1String |
The inspection status of the aggregation hierarchy of the container. See the AggregationInspection enumeration list for valid values. |
|||||||||
tl:deliveryCompleteFlag | 0/* |
0...1Boolean |
Indicates the status of the delivery. Valid values:
|
|||||||||
tl:disaggregateFromParent | 0/* |
0...1Boolean |
Indicates whether the child serial number should be implicitly disaggregated from the parent container. 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/* |
0…1String | List of serial numbers associated with the pricing and tax information in the current instance of the orderItem. | |||||||||
tl:epcOrderItem | 0/* |
1…*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 the order item list group to communicate the return quantities for each item code at the EACH (unit) level. | |||||||||
tl:allowShortVerificationCount | 0/* |
0…1Boolean | Instructs TraceLink whether or not to generate an error if the picked or received counts are less than expected when comparing picked or received serial number counts in tl:epcOrderItemList. Valid values:39
|
|||||||||
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. Communicate each unique item code and lot number in a separate order item group. | |||||||||
tl:orderItemNumber | 0/* |
0…1String | 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…1Choice |
Required. Populate only one of tl:InternalMaterialCode, tl:PackagingItemCode, or tl:countryDrugCode. One of the three options must be present. |
|||||||||
tl:internalMaterialCode | 1/* |
0…1String | Conditionally required if neither tl:packagingItemCode nor tl:countryDrugCode is present. Option 1 for choice%1 in tl:orderItem. Use to identify the product using the internal material number configured in Product Master Data. 40 | |||||||||
tl:packagingItemCode | 0/* |
0…1String | Conditionally required if neither tl:internalMaterialCode nor tl:countryDrugCode is present. Option 2 for choice%1 in tl:orderItem. Use to identify the product using the packaging level item code (e.g. GTIN-14) configured in Product Master Data. 41 | |||||||||
@type | 0/* |
0…1String | Required. The product code type for the
packaging item code. See the ItemCode enumeration list for valid values. |
|||||||||
tl:countryDrugCode | 0/* |
0…1String | Conditionally required if neither tl:internalMaterialCode nor tl:packagingItemCode is present. Option 3 for choice%1 in OrderItem. Use to identify the product using the country drug code configured in Product Master Data.42 | |||||||||
@type | 0/* |
0…1String | Required. The national drug code type using the supported enumeration values.43 | |||||||||
cbvmda:lotNumber | 0/* |
0…1String |
KR and IsSerialized = false . |
|||||||||
cbvmda:itemExpirationDate | 1/* |
0…1Date | The expiration date for the serialized item, formatted in YYYY-MM-DD format. 45 | |||||||||
tl:quantity | 0/* |
1…1String | Required. The quantity of items at the EACH (unit) level of the item code and lot if specified to be picked. 46 | |||||||||
tl:unitPrice | 0/* |
0…1Decimal | Conditionally required if:
Unit price of item. 47 |
|||||||||
@currencyCode | 3/3 |
1…1String | Required. Currency ISO code using ISO
4217-2015 format. 48 See the ISOCurrency enumeration list for valid values. |
|||||||||
tl:vat | - |
0...1Decimal | Value Added Tax per unit.49 | |||||||||
@currencyCode | 3/3 |
1...1String | Required. Currency ISO code using ISO 4217-2015 format.50 See the ISOCurrency enumeration list for valid values. |
|||||||||
tl:grossPrice | 0/* |
0...1Decimal | Price including unit price and all taxes and fees. 51 | |||||||||
@currencyCode | 3/3 |
1...1String | Required. Currency ISO code using ISO 4217-2015 format.52 See the ISOCurrency enumeration list for valid values. |
|||||||||
tl:isSerialized | 0/* |
0…1Boolean | Indicates if item is not
serialized.
53![]() |
|||||||||
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...1String | Required. The transaction identifier type. Valid values:
|
|||||||||
@date | 0/* |
0...1Date | Conditionally required if tl:shipToCountryCode = RU . The transaction identifier date. |
|||||||||
tl:warehouseOperatorName | 0/* |
0…1String |
|
|||||||||
tl:correctiveReceipt | 0/* |
0…1Boolean |
Indicates that a new Serialized Operations Manager receipt is correcting a previously voided Serialized Operations Manager receipt. Valid values:
|
|||||||||
tl:originalDeliveryNumber | 0/* |
0…1String | Original delivery number. Records the original delivery number that is replaced when a receipt is voided and corrections are made to that receipt. |