Skip to main content

Digital Traceability Events

info

Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses.

Artifacts

Are maintained at https://test.uncefact.org/vocabulary/untp/dte/0/about

Stable Releases For Implementation

Version 1.0 stable release for production implementation is due Jan 2025

Release for Pilot Testing

Version 0.5.0 release artifacts can be used for pilot testing.

Latest Development Version

Latest development versions are used to reflect lessons learned from pilots but should not be used for either pilot testing or production purposes.

Version History

History of releases is available from the Version history page.

Visualization

A UNTP digital traceability event may be rendered in any format desired by the issuer. However a default Visualization is provided here and includes mapping of visual rendering elements to the Logical Data Model.

Overview

Traceability events are very lightweights collections of identifiers that specify the “what, when, where, why and how” of the products and facilities that constitute a value chain. The UNTP is based on the GS1 EPCIS standard for this purpose because it is an existing and proven mechanism for supply chain traceability. Note that UNTP supports but does not require the use of GS1 identifiers. The basic idea behind the traceability event structure is that any supply chain of any complexity can always be accurately modeled using a combination of four basic event types. An object event describes an action on specific product(s) such as an inspection. A transaction event describes the exchange of product(s) between two actors such as sale of goods between seller and buyer. An aggregation event describes the consolidation or de-consolidation of products such as stacking bales of cotton on a pallet for transportation. An association event describes the assembly of sub-components to make a composite product. Finally, a transformation event describes a manufacturing process that consumes input product(s) to create new output product(s). The UNTP uses these events in a decentralised architecture as the means to traverse the linked-data "graph" that represents the entire value-chain.

Conceptual Model

Traceability events conceptual model

Requirements

The traceability event is designed to meet the following detailed requirements as well as the more general [UNTP Requirements(https://uncefact.github.io/spec-untp/docs/about/Requirements)]

IDNameRequirement StatementSolution Mapping
TEV-01Sub-componentsThe traceability event MUST provide a mechanism to trace from a DPP representing a product assembly to the individual DPPs of each sub-assembly component partAssociation Event
TEV-02Consumed materialsThe traceability event MUST provide a mechanism to trace a manufactured product DPP back to the DPPs representing batches of input materials that are consumed in manufacturing one or more output products.Transformation Event
TEV-03Aggregated bundlesWhen a DPP represents an aggregated bundle of similar items (eg a pallet of cotton bales) then the traceability event MUST provide a means to allocate the aggregate measures to each individual item (ie each bale)Aggregation Event
TEV-04Transportationwhen a product (or consolidated consignment) is shipped from one physical location to another, the traceability event MUST provide a means to record the movement and associate sustainability measures such as transport emissions to the shipped bundleTransaction event
TEV-05items or quantitiesTraceability events MUST work equally well whether the input or output items are individually serialised items or measured quantities (mass or volume) of a product class.Items Quantity
TEV-06IoT Sensor dataTraceability events will often be generated by or associated with physical sensor readings. In such cases, the traceability event SHOULD support the association of sensor data with the eventSensor element
TEV-07Time & LocationTraceability events MUST always record the timestamp and physical location of the event so that multiple events can be be connected in time and spaceEvent

Logical Model

Data Model

Core Vocabulary Documentation

The UNTP core types vocabulary defines the uniquely identified Linked Data entities such as Product, Location, Facility, Party, Standard, Regulation, Criteria, Declaration, Attestation, Endorsement. These entities provide the building blocks for construction of Digital Product Passports and Digital Conformity Credentials.

DTE Documentation

The UNTP Digital Traceability Events Vocabulary defines the core traceability event and it's variants including aggregation event, transformation event, association event, transaction event, and object event.

Implementation Guidance

Verifiable Credential

Digital Traceability Events are issued as Vierifiable credentials. Note that one UNTP Digital Traceability Event credential may contain multiple events.

Please refer to DPP VC Guidance for information about the use of the verifiaible credentials data model for UNTP.

Traceability Event

There are five types of traceability event which all extend the same abstract Event model.

  • A TransformationEvent describes manufacturing processes where input materials are consumed and/or assembled to create new output products. For example cotton thread is consumed to make woven cotton fabric.
  • An AssociationEvent is used to establish relationships between otherwise independent items. For example new tyres on a car.
  • An AggregationEvent describes the grouping (or un-grouping) of a quantity of similar items, usually for transport. For example the stacking of several bales of cotten onto a pallet.
  • A TransactionEvent represents the transfer of products between organisations or facilites. For example the sale of some cotton cloth from seller to buyer.
  • An ObjectEvent represents an action on an idividual item or quantity of product. For example an inspection or test of a battery.

Any value chain of any complexity can be represented as a combination of these types of events. However for UNTP value chain traceability, the most important event is the transformation event because it represents a manufacturing step that consumes inputs to create new outputs. When an identified output product (with it's digital product passport) can be traced to it's identified input products (each with their own digital product passport) then a linked set of credentials can be followed to define an entire value chain.

Transformation Event

This transformation event example describes the manufacture of a battery cell (output EPC) from an anode and a cathode (input EPC list) and a quantity of electrolyte (input quantity list).

   "credentialSubject": [
{
"type": [
"TransformationEvent",
"Event"
],
"id": "https://events.sample.com/b681df10-c682-454a-b11b-d0b9374c01bd",
"processType": "Cell Manufacture",
"eventTime": "2024-09-01T12:00:00",
"action": "Add",
"disposition": "https://ref.gs1.org/cbv/Disp-active",
"bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning",
"bizLocation": "https://plus.codes/8CGRC78W+MM",
"sensorElementList": [...],
"outputEPCList": [
{
"type": [
"Item"
],
"id": "https://id.gs1.org/01/09520123456788/21/12345",
"name": "EV battery 300Ah."
}
],
"inputEPCList": [
{
"type": [
"Item"
],
"id": "https://id.gs1.org/01/09520123456788/21/99876",
"name": "Graphite Anode"
},
{
"type": [
"Item"
],
"id": "https://id.gs1.org/01/09520123456788/21/99987",
"name": "Copper Cathode"
}
],
"inputQuantityList": [
{
"productId": "https://id.gs1.org/01/095201299876",
"productName": "Lithium electrolyte",
"quantity": 2,
"uom": "KGM"
}
],
"outputQuantityList": [...]
}

Association Event

This association event example describes the replacement of a new battery cell (child EPC) in an elctric vehicle (parent EPC).

   "credentialSubject": [
{
"type": [
"AssociationEvent",
"Event"
],
"id": "https://events.sample.com/b681df10-c682-454a-b11b-d0b9374c01bd",
"processType": "Replace battery",
"eventTime": "2024-09-01T12:00:00",
"action": "Add",
"disposition": "https://ref.gs1.org/cbv/Disp-active",
"bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning",
"bizLocation": "https://plus.codes/8CGRC78W+MM",
"sensorElementList": [...],
"parentEPC": {
"type": [
"Item"
],
"id": "https://sample-car-company/VIN-Number/12345678987654",
"name": "My Electric car."
},
"childEPCs": [
{
"type": [
"Item"
],
"id": "https://id.gs1.org/01/09520123456788/21/12345",
"name": "EV battery 3000Ah."
}
],
"childQuantityList": [...]
}

Aggregation Event

This aggregation event describes the packaging for shipment of two battery cells (child EPCs) into a battery consignment (parent EPC)

   "credentialSubject": [
{
"type": [
"AggregationEvent",
"Event"
],
"id": "https://events.sample.com/b681df10-c682-454a-b11b-d0b9374c01bd",
"processType": "Packing",
"eventTime": "2024-09-01T12:00:00",
"action": "Add",
"disposition": "https://ref.gs1.org/cbv/Disp-active",
"bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning",
"bizLocation": "https://id.gs1.org/414/9520123456788",
"sensorElementList": [...],
"parentEPC": {
"type": [
"Item"
],
"id": "https://consignments.com/1234567890",
"name": "shipment of batteries"
},
"childEPCs": [
{
"type": [
"Item"
],
"id": "https://id.gs1.org/01/09520123456788/21/12345",
"name": "EV battery 300Ah."
},
{
"type": [
"Item"
],
"id": "https://id.gs1.org/01/09520123456788/21/678910",
"name": "EV battery 300Ah."
}
],
"childQuantityList": [...]
}

Transaction Event

This trasnaction event describes the sale of 200 batteries (quantity list) from source party to destination party.

   "credentialSubject": [
{
"type": [
"TransactionEvent",
"Event"
],
"id": "https://events.sample.com/b681df10-c682-454a-b11b-d0b9374c01bd",
"processType": "shipping",
"eventTime": "2024-09-01T12:00:00",
"action": "Add",
"disposition": "https://ref.gs1.org/cbv/Disp-active",
"bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning",
"bizLocation": "https://plus.codes/8CGRC78W+MM",
"sensorElementList": [...],
"sourcePartyId": "https://somebusinessregister/ID/9988765443",
"destinationPartyId": "https://abr.business.gov.au/ABN/View?abn=90664869327",
"bizTransaction": "https://ref.gs1.org/cbv/BTT-prodorder",
"epcList": [...],
"quantityList": [
{
"productId": "https://id.gs1.org/01/09520123456788",
"productName": "EV battery 300Ah.",
"quantity": 200,
"uom": "KGM"
}
]
}

Object Event

This object event describes the repair of a battery cell (EPC list).

   "credentialSubject": [
{
"type": [
"ObjectEvent",
"Event"
],
"id": "https://events.sample.com/b681df10-c682-454a-b11b-d0b9374c01bd",
"processType": "Repair",
"eventTime": "2024-09-01T12:00:00",
"action": "Add",
"disposition": "https://ref.gs1.org/cbv/Disp-active",
"bizStep": "https://ref.gs1.org/cbv/BizStep-commissioning",
"bizLocation": "https://id.gs1.org/414/9520123456788",
"sensorElementList": [...],
"epcList": [
{
"type": [
"Item"
],
"id": "https://id.gs1.org/01/09520123456788/21/12345",
"name": "EV battery 300Ah."
}
],
"quantityList": [...]
}

Item

The item structure is desinged to represent serialised items such as a specific battery cell.

      "epcList": [
{
"type": [
"Item",
"Entity"
],
"id": "https://id.gs1.org/01/09520123456788/21/12345",
"name": "EV battery 300Ah.",
"registeredId": "90664869327",
"idScheme": {
"type": [
"IdentifierScheme"
],
"id": "https://id.gs1.org/01/",
"name": "Global Trade Identification Number (GTIN)"
}
},

Quantity Element

THe quantity element structure is designed to represent a measured quantity of lithium hydroxide.

      "quantityList": [
{
"product": {
"type": [
"Entity"
],
"id": "https://sampleRegister.com/material/876544321",
"name": "Lithium hydroxide",
"registeredId": "876544321",
"idScheme": {
"type": [
"IdentifierScheme"
],
"id": "https://sampleRegister.com/material",
"name": "Register of mining products"
}
},
"quantity": 20,
"uom": "KGM"
},

Sensor Element

The sensort element structure accomodates the association of one or more sensor readings to a given event. Each reading is measured by an identified sensor.

      "sensorElementList": [
{
"sensorMetadata": {
"device": {
"type": [
"Item"
],
"id": "https://sampledeviceregister.com/123456",
"name": "Temperature sensor",
"registeredId": "123456",
"idScheme": {
"type": [
"IdentifierScheme"
],
"id": "https://sampledeviceregister.com",
"name": "Sample sensor device register"
}
},
"dataProcessingMethod": "https://standards.org/sensorMethod#1234"
},
"sensorReport": [
{
"time": "2024-07-24T12:00:00",
"sensorType": "https://samplesensors.com/model1234",
"value": 25,
"uom": "KGM"
},
{
"time": "2024-07-24T12:00:00",
"sensorType": "https://samplesensors.com/model1234",
"value": 25,
"uom": "KGM"
}
],
"sensorIntegrityProof": "..."
}
],

Samples