Before the header

  • Schema version used.
  • File creation datetime.
  • There should be a reference to descriptors that define the tags that can be used in the EPCIS XML.


  • Sender GLN.
  • Receiver GLN.
  • Document identifiers (like an instance identifier) that is a UUIDv4 code.


Three types of events with date and timestamps:

  • Commissioning (as ObjectEvents)
    • SSCC
    • SGTIN (here batch is also defined)
  • Packing (as AggregationEvents)
    • SGTINs into SGTIN
    • SGTINs into SSCC
    • SSCCs into SSCC
  • Shipping (as an ObjectEvent).
    • Top-level SSCCs and SGTINs that are not further aggregated (packed) into anything so these are scanned for shipping.
    • TransactionList
      • Purchase order (po) - optional
      • Despatch advice (desadv) - optional
      • Invoice number (inv) - optional
    • Extension
      • Source SGLNs (owning party and location)
        • Owning party → sold-from (seller)
        • Location → ship-from
      • Destination SGLNs (owning party and location)
        • Owning party → sold-to (buyer)
        • Location → ship-to

However, the EPCIS file content and format can slightly vary, depending on the region / organization / systems that exchange the EPCIS. A few examples:

  • The EPCIS file content can be embedded into a SOAP envelope.
    • Typically when sending to SAP ICH.
    • This means the EPCIS XML is wrapped into special "soap" XML tags.
    • It can be detected by checking the first characters inside the XML in channel logs.
  • EPCIS header can contain product master data and stakeholder master data (DSCSA USA only).
  • EPCIS header can contain a transaction statement (DSCSA USA only).
  • Sender and receiver SGLNs are included in the EPCIS header (SAP ICH only).
  • Different tags define the batch inside the commissioning events.