GS1 US Healthcare Transaction History Guidelines (EPCIS v1.2)

See How To Use this Guide before reading the below information.

Message Type: PT_SOMINT_SALES_SHIPMENT_IB

Info Exchange Display Name: Received SOM Serialized 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.
Data Element Occurs Format Length Enums Req Description
epcis:EPCISDocument [1…1] - - - M EPCIS message root element.
  @schemaVersion [1…1] Decimal [0/*] - M The version of the EPCIS schema used to populate the EPCIS document elements. Default value is "1.2". *1
  @creationDate [1…1] DateTime [1/*] - M The date the message was created in XML DateTime format YYYY-MM-DDTHH:MM:SS.mmZ. *2
  EPCISHeader [0…1] -   - M XML file control header record.
    sbdh:StandardBusinessDocumentHeader [1…1] - - - M -
      sbdh:HeaderVersion [1…1] String [0/*] - M The version number of the SBDH standard used. The HeaderVersion value is set to "1.0". *3
      sbdh:Sender [1…*] - - - M 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] String [1/*] - M The value of the Identifier element must be a GLN. The use of GLN as the identifier is mandatory with GS1 standards. *4
          @Authority [0…1] String [0/*] BusinessAndLocationId C When the identifier is a GLN or SGLN, the Authority attribute can be omitted or it can be set to GS1Authority. For all other identifier types, (e,g, DEA, DUNS) use a value from the linked enum list. *5
      sbdh:Receiver [1…*] - - - M A unique identification key for the direct Receiver party of the message. Represents the organization receiving the standard business document. The Receiver element MUST be used only once with GS1 XML messages.
        sbdh:Identifier [1…1] String [1/*] - M The value of the Identifier element must be a GLN. The use of GLN as the identifier is mandatory with GS1 standards.
          @Authority [0…1] String [0/*] BusinessAndLocationId C When the identifier is a GLN or SGLN, the Authority attribute can be omitted or it can be set to GS1Authority. For all other identifier types, (e,g, DEA, DUNS) use a value from the linked enum list.
      sbdh:DocumentIdentification [1…1] - - - M -
        sbdh:Standard [1…1] String [0/*] - M The name of the document standard contained in the payload. The Standard value must be set to "EPCglobal". *6
        sbdh:TypeVersion [1…1] String [0/*] - M The version of the document included in the payload of SBDH. This is the complete version of the document itself and is different than the HeaderVersion.

Valid value: "1.0". *7

        sbdh:InstanceIdentifier [1…1] String [1/*] - M Description containing reference information which uniquely identifies this instance of the Standard Business Document between the Sender and the Receiver. *8
        sbdh:Type [1…1] String [0/*] - M This element identifies the type of the document.

Valid value: "Events". *9

        sbdh:CreationDateAndTime [1…1] DateTime [0/*] - M Date and time of the SBDH document creation in XML DateTime format YYYY-MM-DDTHH:MM:SS.mmZ. *10
    extension [0…1] - - - O Header extension area with master data attributes.
      EPCISMasterData [0…1] - - - O Master data extension header. Contains business and ship party address information.
        VocabularyList [1…1] - - - M Vocabulary list group master data elements.
          Vocabulary [0…*] - - - O Looping vocabulary with discrete master data element groups. Vocabulary occurs once for each distinct SGTIN identifier across all commissioning events.
            @type [1…1] String [0/*] - C Vocabulary type identifying location master data elements. Required if Vocabulary group is populated. Master data type identified by VocabularyElement[@id].

Valid value: "urn:epcglobal:epcis:vtype:EPCClass"

Product master data attributes link to the SGTIN identifiers in epc lists in ObjectEvent Commissioning.
            VocabularyElementList [0…1] - - - O List of vocabulary elements that includes all product master data attributes for one or more unique SGTINs from ObjectEvent Commissioning groups; SGTIN identifiers and attributes stored in instances of the looping group VocabularyElement. When an EPCIS document includes one or more Commissioning events, the EPCIS header should contain master data including the following attributes for each distinct GTIN referenced in any Commissioning event.
If multiple Commissioning events in the same EPCIS document reference the same GTIN, the master data attributes for that GTIN need only be included once in the header.
              VocabularyElement [0…*] - - - O A looping group header for data elements that identify all product master data attributes. The VocabularyElement repeats for each unique SGTIN in epc lists in ObjectEvent Commissioning.

To comply with GS1 USHC standards, master data attributes must be sent in the VocabularyElement. Each unique SGTIN product code embedded in the Commissioning event epcList/epc serial numbers must be sent in one instance of the VocabularyElement.

The following GS1 USHC required item master data attributes are supported:

  • US NDC Code
  • Regulated product name
  • Manufacturer's name
  • Dosage form
  • Strength description
  • Content description
SSCC codes are not included in the VocabularyElement product master data.
                @id [1…1] String [0/*] - M Identifies the product code for which master data attributes are recorded (i.e. is being sent in the VocabularyElement loop). This element is a SGTIN GS1 compliant urn prefix (which is required for GS1 USHC compliance). These are the only values supported in this element. US NDC code will be sent as an additional trade item type. SSCC codes are not identified in the VocabularyElement group. *11

If the product code is present, this must match the product code embedded within the serial number in the epc code in one or more commissioning events.

  • SGTIN prefix example: urn:epc:idpat:sgtin:
  • SGTIN example: urn:epc:idpat:sgtin:0030001.0012345.*
                attribute [0…1] String [0/*] - M Instance 1 of the attribute for country drug code. NDC542 for GS1 USHC Compliance, identified by the enum value in the next attribute element in the current loop and by the attribute @id value as an additional trade item. *12
FDA_NDC_11 is the only valid value.
Instance 1 can be an attribute, where [@id] = urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode by having Instance 2 as attribute, where [@id] = urn:epcglobal:cbv:mda#additionalTradeItemIdentification.
                  @id [1…1] String [0/*] MD_Attributes M Id attribute identifying the internal material code.

Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentification

                attribute [0…1] String [0/*] - M Instance 2 of attribute for NDC code identifier type. Follow the attribute element with the NDC value. Sequence of attribute elements for the NDC code is: *13
  1. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentification">82025030221</attribute>
  2. <attribute id="urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode">FDA_NDC_11</attribute>
FDA_NDC_11 is the only valid value.
Instance 1 can be an attribute, where [@id] = urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode by having Instance 2 as attribute, where [@id] = urn:epcglobal:cbv:mda#additionalTradeItemIdentification.
                  @id [1…1] String [0/*] MD_Attributes M Id attribute identifying NDC code type.

Valid value: urn:epcglobal:cbv:mda#additionalTradeItemIdentificationTypeCode

                attribute [0…1] String [0/*] - M Instance 3 of the attribute for the regulated product name, where attribute[@id] = urn:epcglobal:cbv:mda#regulatedProductName. *14
                  @id [1…1] String [0/*] MD_Attributes M Id attribute identifying the regulated product name.

Valid value: urn:epcglobal:cbv:mda#regulatedProductName

                attribute [0…1] String [0/*] - M Instance 4 of the attribute for the regulated product manufacturer's name, where attribute[@id] = urn:epcglobal:cbv:mda#manufacturerOfTradeItemPartyName. *15
                  @id [1…1] String [0/*] MD_Attributes M Id attribute for identifying the regulated product manufacturer's name.

Valid value: urn:epcglobal:cbv:mda#manufacturerOfTradeItemPartyName

                attribute [0…1] String [0/*] - M Instance 5 of the attribute for regulated product dosage form, where attribute[@id] = urn:epcglobal:cbv:mda#dosageFormType. *16
                  @id [1…1] String [0/*] MD_Attributes M Id attribute identifying regulated product dosage form.

Valid value: urn:epcglobal:cbv:mda#dosageFormType

                attribute [0…1] String [0/*] - M Instance 6 of the attribute for regulated product strength description, where attribute[@id] = urn:epcglobal:cbv:mda#strengthDescription. *17
                  @id [1…1] String [0/*] MD_Attributes M Id attribute for identifying the regulated product strength description.

Valid value: urn:epcglobal:cbv:mda#strengthDescription *18

                attribute [0…1] String [0/*] - M Instance 7 of the attribute for regulated product description, where attribute[@id] = urn:epcglobal:cbv:mda#netContentDescription.
                  @id [1…1] String [0/*] MD_Attributes M Id attribute identifying regulated product description.

Valid value: urn:epcglobal:cbv:mda#netContentDescription

          Vocabulary [0…*] - -   O Looping vocabulary element with discrete item master and/or party master data element groups. Vocabulary occurs only once for all item master entries and party address info present in message, if the group is populated. This group is optional.

If the party master data does not appear in Vocabulary, sourceList and destinationList in the shipping event, this is used to map an identifier to look up address information from TraceLink's master data. If master data is not set up in TraceLink, an error results.

            @type [1…1] String [0/*] - C Vocabulary type identifying the party master data elements. Master data type defined by VocabularyElement[@id]. *19

Valid value: urn:epcglobal:epcis:vtype:Location = party master data Sold from, ship from, sold to, and ship to for shipping event are all tracked in header master data.

            VocabularyElementList [0…1] - - - O List of vocabulary elements that include all partner master information. Party identifiers and address information are stored in instances of the looping group VocabularyElement.
              VocabularyElement [1…*] - - - M 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 group populated)
  • Ship from location (Optional)
  • Sold/Transfer to business party (Mandatory, if group populated)
  • Ship to location (Optional)

If party address information added to the Vocabulary element in message header, create one instance of VocabularyElement for each party type created. 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 for 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] String [0/*] MD_PartyType_Attributes M SGLN or other partner identifier and type for party master data in VocabularyElement. Must match sourceList or destinationList owning or location party in shipping event from: //ObjectEvent/extension/sourceList/source (transfer from) OR //ObjectEvent/extension/destinationList/destination (transfer to). *20

The identifier value is required for regulatory reporting. GS1 USHC strongly prefers SGLN, but DEA or HIN and other identifier types may also be associated with the sold from party.

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

  • urn:epc:id:sgln: = SGLN (EPC URI syntax for Global Location Number)
  • http://epcis.tracelink.com/hc/companyId/loc/ = Company Id in Internal ERP System
  • http://epcis.tracelink.com/hc/companySiteId/loc/= Internal Location or Site Id in 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)
For outbound messages, the GLN extension digit for SGLN value is always "0". E.g. 8888882.02867.0.
                attribute(1) [1…1] String [0/*] - M Instance 1 of the attribute for party business name, where attribute[@id] = urn:epcglobal:cbv:mda#name . Partner master data items currently supported in shipping event: Business name. *21
Mandatory if the address is populated in VocabularyElement.

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

                  @id [1…1] String [0/*] MD_Attributes M Provide the name in the Name/Value pair attribute[@id]. Identifies the master data value stored in the attribute value element, using urn prefix.

Valid value: urn:epcglobal:cbv:mda#name

                attribute(2) [1…1] String [0/*] - M Instance 2 of the attribute for the party business main street address, where attribute[@id] = urn:epcglobal:cbv:mda#streetAddressOne. *22
                  @id [1…1] String [0/*] MD_Attributes M Provides the name in the Name/Value pair attribute[@id]. Identifies the master data value stored in the attribute value element, using urn prefix.

Valid value: urn:epcglobal:cbv:mda#streetAddressOne

                attribute(3) [1…1] String [0/*] - O Instance 3 of attribute for party business optional street address 2, where attribute[@id] = urn:epcglobal:cbv:mda#streetAddressTwo.
                  @id [1…1] String [0/*] MD_Attributes O Provides the name in the Name/Value pair attribute[@id]. Identifies the master data value stored in the attribute value element, using urn prefix.

Valid value: urn:epcglobal:cbv:mda#streetAddressTwo

                attribute(4) [1…1] String [0/*] - M Instance 4 of attribute for party business city name, where attribute[@id] = urn:epcglobal:cbv:mda#city. *23
                  @id [1…1] String [0/*] MD_Attributes M Provides the name in the Name/Value pair attribute[@id]. Identifies the master data value stored in the attribute value element, using urn prefix.

Valid value: urn:epcglobal:cbv:mda#city

                attribute(5) [1…1] String [0/*] - M Instance 5 of attribute for party business address ISO 2 character state code, where attribute[@id] = urn:epcglobal:cbv:mda#state. *24
                  @id [1…1] String [0/*] MD_Attributes M Provides the name in the Name/Value pair attribute[@id]. Identifies the master data value stored in the attribute value element, using urn prefix.

Valid value: urn:epcglobal:cbv:mda#state

                attribute(6) [1…1] String [0/*] - M Instance 6 of attribute for party business address postal code, where attribute[@id] = urn:epcglobal:cbv:mda#postalCode.
                  @id [1…1] String [0/*] MD_Attributes M Provides the name in the Name/Value pair attribute[@id]. Identifies the master data value stored in the attribute value element, using urn prefix.

Valid value: urn:epcglobal:cbv:mda#postalCode

                attribute(7) [1…1] String [0/*] - M Instance 7 of attribute for party business address ISO 2 character country code, where attribute[@id] = urn:epcglobal:cbv:mda#countryCode
                  @id [1…1] String [0/*] MD_Attributes M Provides the name in the Name/Value pair attribute[@id]. Identifies the master data value stored in the attribute value element, using urn prefix.

Valid value: urn:epcglobal:cbv:mda#countryCode

    dscsaTransactionStatement [0…1] - - - M Transaction statement. Stores Boolean flag and legal notice text recording DSCSA compliant transaction statement data. Contains affirmation of transaction statement with the shipment and the legal notice text recording DSCSA-compliant transaction statement data.
      affirmTransactionStatement [1…1] Boolean [0/*] - M

Indicates whether the seller has included a transaction statement with the shipment. Valid values:

  • true – A transaction statement is included in the transaction.
  • false – A transaction statement is not included in the transaction.
Mandatory if the seller must comply with DSCSA compliance regulations.
        legalNotice [1…1] String [0/*] - O

Statement indicating which sections of the applicable DSCSA compliance regulations the shipment complies with (e.g. seller has complied with each applicable subsection of FDCA Sec. 581(27)(A)–(G)).

For outbound messages, TraceLink automatically populates this field with the contents of the Statement Text field provided in the US Product Track app configuration in Company Administration.
  EPCISBody [1…1] - - - M Contains all of the EPCIS events for this message.
    EventList [1…1] - - - M The EventList has the following structure:
  • ObjectEvent Commissioning (Mandatory: 1 or more commissioning events)
  • AggregationEvent (Optional: 0 or more aggregation events)
  • ObjectEvent Shipping (Mandatory: 1 shipping event)
      choice%1   [1…*] - - - M Only one of the following choice options may be selected in any one loop on EPCISBody/EventList:
  • ObjectEvent Commissioning OR
  • AggregationEvent OR
  • ObjectEvent Shipping
      ObjectEvent [0…*] - - - M Choice 1 for EventList. Data = ObjectEvent for the Commissioning Events EventList = ObjectEvent Commissioning WHEN:
  • bizStep = urn:epcglobal:cbv:bizstep:commissioning AND
  • action = ADD AND
  • disposition = urn:epcglobal:cbv:disp:active

At least one commissioning event is required. An error results if commissioning events were omitted from the file.

        eventTime [1…1] DateTime [1/*] - M Timestamp of date/time when the event occurred. Include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *25
        recordTime [0…1] DateTime [0/*] - O Not Used.
        eventTimeZoneOffset [1…1] String [1/*] - M 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]. *26
        epcList [1…1] - - - M The Electronic Product Code (EPCs) of each item, case, and/or pallet commissioned.
          epc [1…*] String [1/*] - M The EPC identifier in EPC Pure Identity URI format: SGTIN:urn:epc:id:sgtin:<company prefix>.<inidcator digit + item reference>.<serial number>  *27
  • Ex:urn:epc:id:sgtin:068202.0401034.11220207026272
  • Ex SSCC: urn:epc:id:sscc:<company prefix>.<extension digit + serial number>
  • Ex: urn:epc:id:sscc:030944.10105363280
        action [1…1] String [0/*] - M Set the action value to "ADD". *28
        bizStep [0…1] anyURI [0/*] - M Set the bizStep value to urn:epcglobal:cbv:bizstep:commissioning. *29
        disposition [0…1] anyURI [0/*] - M Set the disposition value to urn:epcglobal:cbv:disp:active. *30
        readPoint [0…1] - - - O Read point is optional in commissioning event.
          id [1…1] anyURI [0/*] - M The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *31
          extension [0…1] - - - O Not Used - GS1 Reserved.
        bizLocation [0…1] - - - M Business location is required in commissioning event.
          id [1…1] anyURI [1/*] - M The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *32
For outbound messages, the GLN extension digit for SGLN value is always "0". E.g. 8888882.02867.0.
        bizTransactionList [0…1] - - - O Not Used.
        extension [0…1] - - - O Main extension body for the commission event.
          ilmd [0…1] - - - O Instance of the lot master data specific to the product being commissioned.
            cbvmda:lotNumber [0…1] String [0/20] - C The lot or batch code for the serialized item in an alphanumeric format. *33
Mandatory for commissioned serial numbers for China, GTINS, and/or NTINS.
            cbvmda:itemExpirationDate [0…1] Date [0/*] - C The expiration date for the serialized item, in YYYY-MM-DD format. *34
Mandatory for commissioned serial numbers for China, GTINS, and/or NTINS.
      AggregationEvent [0…*] - - - O AggregationEvent is Option 2 for the EventList choice for the Aggregation events. EventList = AggregationEvent WHEN :
  • bizStep = urn:epcglobal:cbv:bizstep:packing AND
  • action = ADD
  • AND disposition = urn:epcglobal:cbv:disp:in_progress
        eventTime [1…1] DateTime [1/*] - M Timestamp of date/time when the event occurred. Include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *35
        recordTime [0…1] DateTime [0/*] - O Not Used.
        eventTimeZoneOffset [1…1] String [1/*] - M 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]. *36
        parentID [1…1] anyURI [1/*] - M Identifier of the parent container in EPC Pure Identity URI format. *37

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

  • SGTIN:
    • Format: urn:epc:id:sgtin:<company prefix>.<inidcator digit + item reference>.<serial number>
    • Example: urn:epc:id:sgtin:068202.0401034.11220207026272
  • SSCC:
    • Format: urn:epc:id:sscc:<company prefix>.<extension digit + serial number>
    • Example: urn:epc:id:sscc:030944.10105363280
        childEPCs [1…1] - - - M List of identifiers of the child items in the parent container in EPC Pure Identity URI format.

Example: For an item-to-case aggregation, the EPCs of the items. For a case-to-pallet aggregation, the EPCs of the cases.

          epc [1…*] String [1/*] - M The EPC identifier in EPC Pure Identity URI format. *38
  • SGTIN:
    • Format: urn:epc:id:sgtin:<company prefix>.<inidcator digit + item reference>.<serial number>
    • Example: urn:epc:id:sgtin:068202.0401034.11220207026272
  • SSCC:
    • Format: urn:epc:id:sscc:<company prefix>.<extension digit + serial number>
    • Example: urn:epc:id:sscc:030944.10105363280
        action [1…1] String [1/*] - M Set the action value to 'ADD' for the aggregation event. *39
        bizStep [0…1] anyURI [0/*] - M Set the bizStep value to 'urn:epcglobal:cbv:bizstep:packing'. *40
        disposition [0…1] anyURI [0/*] - M The disposition value SHALL be set to 'urn:epcglobal:cbv:disp:in_progress'. *41
        readPoint [0…1] - - - O Optional for AggregationEvent.
          id [1…1] anyURI [0/*] - M The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *42
        bizLocation [0…1] - - - M Required for AggregationEvent.
          id [1…1] anyURI [0/*] - M The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier. *43
For outbound messages, the GLN extension digit for SGLN value is always "0". E.g. 8888882.02867.0.
        bizTransactionList [0…1] - - - O Not Used.
      ObjectEvent [1…1] - - - M EventList Data = ObjectEvent for Shipping Events, EventList = ObjectEvent Shipping WHEN :
  • bizStep = urn:epcglobal:cbv:bizstep:shipping AND
  • action = OBSERVE AND
  • disposition = urn:epcglobal:cbv:disp:in_transit

One shipping event is required. An error results if the shipping event is missing or if more than one is present.

        eventTime [1…1] DateTime [1/*] - M Timestamp of date/time when the event occurred. Include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1].
        recordTime [0…1] DateTime [0/*] - O Not Used.
        eventTimeZoneOffset [1…1] String [1/*] - M 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].
        epcList [1…1] - - - M List of the EPCs of top most containers (e.g. pallets, cases) in the shipment.
          epc [1…*] String [1/*] - M Identifier of the child items in the parent container in EPC Pure Identity URI format.
  • Ex SGTIN:urn:epc:id:sgtin:<company prefix>.<inidcator digit + item reference>.<serial number>
  • Ex:urn:epc:id:sgtin:068202.0401034.11220207026272 SSCC: urn:epc:id:sscc:<company prefix>.<extension digit + serial number>
  • Ex: urn:epc:id:sscc:030944.10105363280
        action [1…1] String [0/*] - M Set the action value to "OBSERVE".
        bizStep [0…1] anyURI [0/*] - M Set the bizStep value to 'urn:epcglobal:cbv:bizstep:shipping'.
        disposition [0…1] anyURI [0/*] - M Set the disposition value to 'urn:epcglobal:cbv:disp:in_transit'.
        readPoint [0…1] - - - M The readPoint is mandatory in the TraceLink system.
          id [1…1] anyURI [0/*] - M The SGLN EPC of the location from where the event occurred. This may be a site-level SGLN, or a finer-grain location identifier.
        bizLocation [0…1] - - - O Not used.
          id [1…1] anyURI [1/*] - M Not used. *44
        bizTransactionList [0…1] - - - O Mandatory when bizStep = urn:epcglobal:cbv:bizstep:shipping.
          bizTransaction [1…*] anyURI [0/*] - M The business transaction identifiers for the Despatch Advice (Advance Ship Notice) and/or Invoice and/or Purchase Order governing this shipment, subject to Section 8.4.2 of [CBV1.0]. *45

The transaction identifier is composed of:

  1. uri prefix.
  2. party identifier. GLN is strongly preferred by GS1 but other party types are also supported.
  3. transaction identifier, such as PO or delivery number.

Example: urn:epcglobal:cbv:btt: + 0614141000029: + 9847856.

The GLN that occurs after "urn:epcglobal:cbv:bt:" identifies the party that issued the message, i.e. if the customer issues a purchase order, the GLN of the customer is included as the GLN in the bizTransaction string. If a supplier issues an ASN, the supplier GLN is entered is used. Different states have different requirements for the message number. For the shipping event, the ASN (Despatch Advice) is required. For optimal pedigree compliance purposes, the Purchase Order number should always be included. Other message identifiers may also be included.

            @type [1…1] String [1/*] TransactionId M The transaction identifier type using the supported enumeration values (e.g. PO, ASN, RETURN, etc). Mandatory when cmn:TransactionIdentifier populated. *46

Valid values include:

  • urn:epcglobal:cbv:btt:desadv = Shipment Notification Number
  • urn:epcglobal:cbv:btt:po = Purchase Order Number
  • urn:epcglobal:cbv:btt:inv = Invoice Number
  • urn:epcglobal:cbv:btt:bol = Bill of Lading
  • urn:epcglobal:cbv:btt:rma = Return order
  • urn:epcglobal:cbv:btt:prodorder = Production order
  • http://epcis.tracelink.com/hc/btt/transfer = Transfer Order Number
  • http://epcis.tracelink.com/hc/btt/salesorder = Sales order
  • http://epcis.tracelink.com/hc/btt/packslip = Packing slip
  • http://epcis.tracelink.com/hc/btt/destruction = Destruction order
  • http://epcis.tracelink.com/hc/btt/other = Other document type
  • http://epcis.gs1br.org/hc/btt/notafiscal = Brazil Nota Fiscal
        extension [1…1] - - - M Main extension body for commission event.
Source and Destination lists are required even if the party address master data is stored in the VocabularyElement in the EPCISMasterData extension in the message header.
          sourceList [1…1] - - - M Mandatory group. Source list identifies sending business, location, carrier parties. sourceList supports one of two functions:
  1. VocabularyElement populated with party address master data - sourceList identifies sold-from, ship-from, or carrier party.
  2. VocabularyElement not populated with party address master data: - sourceList party identifiers used for master data lookup in backend. An error results if this sourceList is missing.
            source [1…*] String [0/*] MD_PartyType_Attributes M Source party identifier for sold-from, ship-from or carrier parties. Party identifier in source EITHER: *47
  1. Identifies sold-from, ship-from, or carrier party in populated VocabularyElement.
  2. sourceList/source supports master data lookup in the TraceLink system. When VocabularyElement is not populated or there is not a match between party identifiers in source and VocabularyElement[@id].
If the ship-from party is the same as sold-from party, ship-from identifier does not need to be sent.
For outbound messages, the GLN extension digit for SGLN value is always "0". E.g. 8888882.02867.0.
              @type [1…1] String [0/*] - M Identifies the type of source party identifier, i.e. owning (sold-from) or location (ship-from) or carrier party. *48

Valid values:

  • Sold-from party = urn:epcglobal:cbv:sdt:owning_party (required)
  • Ship-from party = urn:epcglobal:cbv:sdt:location (only include if identifier different from owning_party)
          destinationList [1…1] - - - M Mandatory group. Destination list identifies receiving business or location parties. destinationList supports one of two functions:
  1. VocabularyElement populated with party address master data: destinationList identifies sold-to, ship-to parties.
  2. VocabularyElement not populated with the party address master data. destinationList party identifiers used for master data lookup in backend. An error results if the destinationList is missing.
            destination [1…*] String [0/*] MD_PartyType_Attributes M Destination party identifier for sold-to or ship-to parties. Party identifier in destination either: *49
  1. Identifies sold-to or ship-to parties in populated VocabularyElement.
  2. destinationList/destination supports master data lookup in the TraceLink system. VocabularyElement is not populated or there is not a match between party identifiers in destination and VocabularyElement[@id].
If the ship-to party is the same as sold-to, party, ship-to identifier does not need to be sent.
For outbound messages, the GLN extension digit for SGLN value is always "0". E.g. 8888882.02867.0.
              @type [1…1] String [0/*] - M Identifies the type of destination party identifier, i.e. owning (sold-to) or location (ship-to) party. *50

Valid values:

  • Sold-to party = urn:epcglobal:cbv:sdt:owning_party (required)
  • Ship-to party = urn:epcglobal:cbv:sdt:location (only include if identifier different from owning_party)
        gs1ushc:transactionDate [0…1] dateTime - - O

Date associated with the business transaction document in bizTransactionList in YYYY-MM-DDThh:mm:ss.sssZ format. This date may or may not be the same as the eventTime. If transactionDate is not populated, TraceLink will pull from eventTime.  *51

        gs1ushc:directPurchase [0…1] - - - O

Identifies whether the products were purchased directly from the manufacturer, from the exclusive distributor of the manufacturer, or from a repackager that purchased directly from the manufacturer.

          @value [0…1] Boolean - - O Indicates the source of the product. Valid values:
  • true – If the products were purchased directly from the manufacturer, from the exclusive distributor of the manufacturer, or from a repackager that purchased directly from the manufacturer.

  • false – If the products were not purchased directly from the manufacturer, from the exclusive distributor of the manufacturer, or from a repackager that purchased directly from the manufacturer.

If the directPurchaseEPCs element is omitted, the directPurchase field applies to all products in the shipment, including children of containers listed explicitly in the shipping event.

          directPurchaseEPCs [0…1] - - - O

When specified, the directPurchaseEPCs limits the applicability of the directPurchase statement to the specified products or packages, including product contained inside any specified package. If omitted, the directPurchase statement applies to all products in this shipping event. Each serial number is either:

  • An EPC listed in the main epcList of this shipping event.

    Or

  • An EPC that is aggregated to one of the EPCs listed in the main epcList of this shipping event.

            epc [0…*] String - - O Identifier of the parent container in EPC Pure Identity URI format. *52

Valid values:

  • SGTIN: urn:epc:id:sgtin:[company prefix].[indicator digit + item reference].[serial number]

    • E.g. urn:epc:id:sgtin:068202.0401034.11220207026272

  • SSCC: urn:epc:id:sscc:[company prefix].[extension digit + serial number]

    • E.g. urn:epc:id:sscc:030944.10105363280

      TransactionEvent [0…*] - - - O

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] DateTime [1/*] - M Timestamp of date/time when the event occurred. Include a time zone indicator as specified in Section 9.5 of [EPCIS1.0.1]. *53
        recordTime [0…1] DateTime [0/*] - O Not Used.
        eventTimeZoneOffset [1…1] String [1/*] - M The time zone offset in effect time and place where the event occurred, as selected for eventTime. Per Section 7.2.8 of [EPCIS1.0.1].
        bizTransactionList [1…1] - - - M Mandatory when bizStep = urn:epcglobal:cbv:bizstep:shipping.
          bizTransaction [1…*] anyURI [0/*] - M The business transaction identifiers for the Advance Ship Notice and/or Invoice and/or Purchase Order governing this shipment, subject to Section 8.4.2 of [CBV1.0]. *54

Example: urn:epcglobal:cbv:btt:po:0333331013655:45006290016.

The GLN that occurs after "urn:epcglobal:cbv:bt:" identifies the party that issued the message, i.e. if the customer issues a purchase order, the GLN of the customer is included as the GLN in the bizTransaction string. If a supplier issues an ASN, the supplier GLN is entered is used. Different states have different requirements for the message number. For the shipping event, the ASN (Despatch Advice) is required. For optimal pedigree compliance purposes, the Purchase Order number should always be included. Other message identifiers may also be included.

            @type [1…1] String [1/*] TransactionId M The transaction identifier type. Valid value: urn:epcglobal:cbv:btt:po.
            @date [0…1] Date [0/*] - O The transaction identifier date attribute in YYYY-MM-DD format. *55
        epcList [1…1] - - - M List of the EPCs of top most containers (e.g. pallets, cases) in the shipment.
          epc [0…*] String [0/*] - M

The EPC identifier in EPC Pure Identity URI format:

  • SGTIN: urn:epc:id:sgtin:<company prefix>.<inidcator digit + item reference>.<serial number>

  • SSCC: urn:epc:id:sscc:<company prefix>.<extension digit + serial number>

        action [1…1] String [0/*] - M Set the action value to ADD.
        bizStep [0…1] String [0/*] - M Set the bizStep value to urn:epcglobal:cbv:bizstep:shipping.
        disposition [0…1] String [0/*] - M Set the disposition value to urn:epcglobal:cbv:disp:in_transit.
        readPoint [0…1] - - - M The readPoint in the TraceLink system.
          id [1…1] anyURI [0/*] - M The readPoint ID.
        bizLocation [0…1] - - - O Not used.
          id [1…1] anyURI [1/*] - O The EPC pure identity of the location where the objects are presumed to be following the event. This may be a site-level SGLN, or a finer-grain location identifier.
For outbound messages, the GLN extension digit for SGLN value is always "0". E.g. 8888882.02867.0.