Skip to main content

GTF Requirements Specification

The normative requirements a conforming GTF implementation must satisfy: the Critical Tracking Events and Key Data Elements to capture, the event and master data model, identifier requirements, and the data formats and exchange protocols used to share traceability data.

This section defines the requirements for implementing the GTF. It specifies the minimum traceability data, identifiers, and technical requirements that conforming implementations must satisfy.

Scope & Objective

The GTF defines the minimum requirements for interoperable digital traceability across supply chains.

The GTF is commodity-agnostic and may be extended and/or tailored through Modules. Modules SHALL build upon the requirements contained in the GTF and SHALL NOT modify or replace GTF Requirements.

Conforming systems SHALL:

  1. Record the GTF CTEs and KDEs defined by the GTF.
  2. Model, format, and exchange data according to the protocols defined by the GTF.

CTEs & KDEs

The GTF establishes a common set of foundational CTEs and KDEs to support interoperable traceability across supply chains. The following tables define the minimum events and associated data elements that conforming systems SHALL support.

CTE Name

CTE Definition

Commission

An event in which a new product instance is created/documented for the first time. These events typically occur in the far upstream steps of a supply chain.

Ship

An event in which product is shipped from one physical location to another. Shipping events can occur internally (between facilities of a single organization) or externally (from one organization to another).

Receive

An event in which shipped product is received by the ship-to facility. Receiving events can occur internally (between facilities of a single organization) or externally (from one organization to another).

Transform

An event that involves irreversible changes to a product’s physical form (e.g. manufacturing, processing) or packaging (e.g. commingling, re-packing, re-labeling).

Decommission

An event in which a product instance is removed from a supply chain. These events typically occur when a product must be removed from the supply chain due to damage, defects, or final sale.

Aggregate

An event in which one or more distinct products are physically grouped together. Aggregation is always reversible and usually performed for shipping/storage purposes.

Disaggregate

An event in which previously aggregated items are separated (e.g. breaking down a pallet into distinct cases).

KDE Name

KDE Definition

Product Identification

A unique code that contains a product identifier (GTIN or GDST Identifier) assigned to a product to distinguish it from others as it moves through facilities, companies, or supply chains as well as an instance identifier assigned to a specific instance of product such as a batch/lot number, serial number or container number.

Product Classification

A standardized classification assigned to a product that identifies its commodity, product category, or product type for the purpose of determining applicable traceability requirements.

Product Description

A short description of a product using characteristics that define the product like brand, size, packaging, or composition.

Quantity

Numerical quantity of product associated with a given event.

Unit of Measurement

Unit of measurement associated with a given product quantity.

Event Location ID

A unique identifier (GLN or GDST identifier) assigned to a location where an event takes place, allowing it to be clearly distinguished from all other locations in the supply chain.

Location Address or Geolocation

Address or GPS coordinates (lat/long or geofence) associated with a location identifier.

Location Classification

A standardized classification assigned to a physical location that identifies the operational role or function of that location within a supply chain for the purpose of determining applicable traceability requirements.

Name (Location or Organization)

The name of a physical location associated with a location identifier or the party name associated with a party/organization identifier.

Event Date & Time

Date and time at which an event occurred.

Business Step

A standardized term that describes the type of activity being performed during a given event.

Event ID

A unique identifier assigned to a given event, used to distinguish it from other events that occur throughout the supply chain.

Data Model

Traceability information within the GTF is organized into two complementary data types:

  • Event Data records activities that occur throughout the supply chain, capturing what happened, when it occurred, where it occurred, and the products involved.
  • Master Data provides relatively static reference information used by those events, such as product definitions, location information, and other descriptive attributes.

Event Data

Event data SHALL be structured using the GS1 EPCIS 2.0 event model. EPCIS defines several standardized event types for representing supply chain activities. The GTF uses the Object Event, Aggregation Event, and Transformation Event types to represent the GTF CTEs.

The tables in this section define the required EPCIS profile for each GTF CTE. The initial rows identify the required EPCIS event type and fixed EPCIS/CBV values, followed by the KDEs required by the GTF.

Using the Event Profiles

The following notes apply to all event profiles within the GTF.

  • Product terminology. Throughout the event profiles, the term product refers to any traceable object at any stage of the supply chain. This can include raw materials, intermediate products, and finished products. Product may refer to singular traceable objects or multiple traceable objects.
  • Set values. An asterisk (*) indicates that a field contains a fixed (predefined) value.
Commission

An event in which a new product instance is created or recorded for the first time. These events typically occur in the far-upstream steps of a supply chain.

KDE Name

CBV Field

Data Description or Value

Event Type

type

ObjectEvent*

Action

action

ADD*

Disposition

disposition

active*

Business Step

bizStep

commissioning*

Event ID

eventID

Identifier for the event that distinguishes it from other recorded events (this is usually generated by the capturing application)

Product Identification, Quantity, and Unit of Measure

epcList

The EPCs of the products or logistical units being commissioned. This field is used when product is being traced using instance-level traceability

quantityList

The EPCs and quantity of the product being commissioned. This field is used when products are being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Event Date & Time

eventTime

eventTimeZoneOffset

The date and time the product was commissioned

Event Location ID

bizLocation

The unique identifier (GLN or GDST identifier) of the location where the product was commissioned

Decommission

An event in which a product instance is removed from the supply chain. These events typically occur when a product is consumed or must be removed due to damage or defects.

KDE Name

CBV Field

Data Description or Value

EPCIS Data

Event Type

type

ObjectEvent*

Action

action

DELETE*

Disposition

disposition

Not Applicable

Business Step

bizStep

destroying*

Event ID

eventID

Identifier for the decommission event that distinguishes it from other recorded events (this is usually generated by the capturing application)

Product Identification, Quantity, and Unit of Measure

epcList

The EPC used to identify the product that was decommissioned. This field is used when product is being traced using instance-level traceability

quantityList

The EPC used to identify the product that was decommissioned. This field is used when products are being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Event Date & Time

eventTime

eventTimeZoneOffset

The date and time the product was decommissioned

Event Location ID

bizLocation

The unique identifier (GLN or GDST identifier) of the facility where the product was decommissioned

Aggregation

An event in which one or more distinct products are physically grouped into a single logistical unit. Aggregation is always reversible and is usually performed for shipping, storage, or other logistical purposes, such as combining multiple cases on a pallet.

KDE Name

CBV Field

Data Description or Value

Event Type

type

AggregationEvent*

Action

action

ADD*

Disposition

disposition

active*

Business Step

bizStep

packing*

Event ID

eventID

Identifier for the aggregation event that distinguishes it from other recorded events (this is usually generated by the capturing application)

Product Identification, Quantity, and Unit of Measure – Input

childEpcList

The EPC(s) of the product that is being aggregated. This field is used when the input product is being traced using instance-level traceability

childQuantityList

The EPCs and quantity of the product being aggregated. This field is used when the input product is being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Product Identification, Quantity, and Unit of Measure - Output

parentId

The SSCC of the logistical unit that the product is aggregated into

Event Date & Time

eventTime

The date and time the product was aggregated

Event Location ID

bizLocation

The unique identifier (GLN or GDST identifier) of the facility where the product was aggregated

Disaggregation

An event in which previously aggregated products are separated, such as breaking down a pallet into its individual cases, so each item can again be tracked on its own.

KDE Name

CBV Field

Data Description or Value

Event Type

type

AggregationEvent*

Action

action

DELETE*

Disposition

disposition

active*

Business Step

bizStep

unpacking*

Event ID

eventID

Identifier for the aggregation event that distinguishes it from other recorded events (this is usually generated by the capturing application)

Product Identification, Quantity, and Unit of Measure - Input

parentId

The SSCC of the logistical unit that is being disaggregated.

Product Identification, Quantity, and Unit of Measure - Output

childEpcList

The EPC(s) of the product that was disaggregated. This field is used when the input product is being traced using instance-level traceability

childQuantityList

The EPCs and quantity of the product that was disaggregated. This field is used when the input product is being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Event Date & Time

eventTime

eventTimeZoneOffset

The date and time the product was disaggregated

Event Location ID

bizLocation

The unique identifier (GLN or GDST identifier) of the facility where the product was disaggregated

Shipping

An event in which a product is dispatched from one physical location to another. Shipping events can occur internally (between facilities owned by the same organization) or externally (between facilities owned by different organizations).

KDE Name

CBV Field

Data Description or Value

Event Type

type

ObjectEvent*

Action

action

OBSERVE*

Disposition

disposition

in_transit*

Business Step

bizStep

shipping*

Event ID

eventID

Identifier for the shipping event that distinguishes it from other recorded events (this is usually generated by the capturing application)

Product Identification, Quantity, and Unit of Measure

epcList

The EPCs of the product or logistical unit(s) being shipped. This field is used when product is being traced using instance-level traceability

quantityList

The EPCs and quantity of the product being shipped. This field is used when product is being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Event Date & Time

eventTime

eventTimeZoneOffset

The date and time the product was shipped

Event Location ID

bizLocation

The unique identifier (GLN or GDST identifier) of the facility from which the product was shipped

Source Location ID

sourceList.location

The unique identifier (GLN or GDST identifier) of the location from which the product was shipped

Destination Location ID

destinationList.location

The unique identifier (GLN or GDST identifier) of the location where the product will be received

Receiving

An event in which products are received at a facility from another facility, internally or externally. The products received should match those recorded on the corresponding shipping event.

KDE Name

CBV Field

Data Description or Value

Event Type

type

ObjectEvent*

Action

action

OBSERVE*

Disposition

disposition

active*

Business Step

bizStep

receiving*

Event ID

eventID

Identifier for the receiving event that distinguishes it from other recorded events (this is usually generated by the capturing application)

Product Identification, Quantity, and Unit of Measure

epcList

The EPCs of the product or logistical unit(s) being received. This field is used when product is being traced using instance-level traceability

quantityList

The EPCs and quantity of the product being received. This field is used when product is being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Event Date & Time

eventTime

eventTimeZoneOffset

The date and time the product was received

Event Location ID

bizLocation

The unique identifier (GLN or GDST identifier) of the facility where the product was received

Source Location ID

sourceList.location

The unique identifier (GLN or GDST identifier) of the location from which the product was shipped

Destination Location ID

destinationList.location

The unique identifier (GLN or GDST identifier) of the location where the product is received

* Indicates that the value is always this value.

Transformation

An event involving an irreversible change to a product’s form or configuration, such as manufacturing, processing, packaging, re-packing, re-labeling, or commingling. The event preserves the link between source inputs and the resulting outputs.

KDE Name

CBV Field

Data Description or Value

Event Type

type

TransformationEvent*

Action

action

NA

Disposition

disposition

active*

Business Step

bizStep

commissioning*

Event ID

eventID

Identifier for the transformation event that distinguishes it from other recorded events (this is usually generated by the capturing application)

Transformation ID

transformationID

Identifier for long-running transformations. This identifier can be used to link distinct transformation events, if applicable

Product Identification, Quantity, and Unit of Measure - Input

inputEpcList

The EPCs of the product that is being transformed. This field is used when product is being traced using instance-level traceability

inputQuantityList

The EPCs and quantity of the product being transformed. This field is used when the input product is being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Product Identification, Quantity, and Unit of Measure - Output

outputEpcList

The EPCs of the product that is produced from the transformation. This field is used when the output product is being traced using instance-level traceability

outputQuantityList

The EPCs and quantity of the product that is produced transformation. This field is used when the output product is being traced using lot-level traceability. (epcClass, quantity, and uom elements should be included)

Event Date & Time

eventTime

eventTimeZoneOffset

The date and time the product was transformed

Event Location ID

bizLocation

The unique identifier (GLN or GDST identifier) of the facility where the product was transformed

* Indicates that the value is always this value.

Master Data

The event records defined above capture what occurred during supply chain activities by referencing products, locations, and other entities through unique identifiers. Master data provides the descriptive information associated with those identifiers and is maintained separately from event records to avoid duplication and ensure consistency across events. The tables below define the minimum master data elements required by the GTF.

Product Definition Master Data

KDE Name

EPCIS/CBV Field

Data Description or Value

Product Identification

gtin

A unique identifier (GTIN or GDST identifier) assigned to a product to distinguish it from others as it moves through facilities, companies, or supply chains

Product Classification

productClassification

A standardized classification assigned to a product that identifies its commodity, product category, or product type for the purpose of determining applicable traceability requirements.

Product Description

tradeItemDescription

A short description of a product using characteristics that define the product like brand, size, packaging, or composition.

Location Definition Master Data

KDE Name

EPCIS/CBV Field

Data Description or Value

Location Identification

gln

A unique identifier (GLN or GDST identifier) assigned to a location where an event takes place, allowing it to be clearly distinguished from all other locations in the supply chain.

Location Name

name

The name of the physical location

Location Classification

locationClassification

A standardized classification assigned to a physical location that identifies the operational role or function of that location within a supply chain for the purpose of determining applicable traceability requirements.

Location Address or Geolocation

geoLocation

The physical location described as latitude and longitude coordinates

geoFence

The physical location described as an array of geo-coordinates used to geo-fence the location

streetAddressOne

The street address of the location.

streetAddressTwo

The street address two of the location.

city

The city of the location.

state

The state, province, or other constituent unit of a nation.

postalCode

The postal or zip code of the location.

countryCode

The country of the location.

Party Definition Master Data

KDE Name

EPCIS/CBV Field

Data Description or Value

Party Identification

pgln

A unique identifier (PGLN or GDST Identifier) assigned to a party, used to distinguish it from all other parties in a supply chain

Organization Name

name

Name of the organization associated with the Party ID.

Identifiers

The GTF relies on standardized identifiers to consistently reference products, locations, logistical units, and organizations across event records. These include:

  • GS1 Identifiers, constructed using a licensed GS1 Company Prefix.
  • GDST Identifiers, constructed according to the GDST URN specification and intended for organizations that do not use GS1 identifiers.

Both identifier systems are fully compatible with this Standard and may be used within the same implementation where appropriate.

Organizations using GS1 identifiers SHALL represent those identifiers using the GS1 Digital Link URI syntax when included within EPCIS events. GS1 Digital Link URI identifiers included within EPCIS events SHALL use the canonical GS1 resolver domain: https://id.gs1.org

Organizations may use GDST identifiers in place of GS1 identifiers for Product Definition Identifiers, Product Identifiers, Location Identifiers, and Party Identifiers. GDST identifiers SHALL conform to the GDST URN registration specification. GDST identifiers SHALL be constructed using URL-compatible characters and SHALL NOT rely on case distinctions.

Implementations MAY use both GS1 and GDST identifiers within the same implementation provided each identifier is used consistently for the entity it represents.

Conforming systems SHALL support the identifier types specified below when recording, exchanging, and resolving traceability data.

Identifier Type

Identifier

Expressed as

Product Identifier

GTIN+Lot, GTIN + Serial, Equivalent GDST Identifier

epcClass / epcList, GS1 Digital Link URI

Location Identifier

GLN, Equivalent GDST Identifier

bizLocation.id, sourceList/destinationList location

Logistical Unit Identifier

SSCC, License Plate, Equivalent GDST Identifier

parentID, epcList

Party Location Identifier

PGLN, Equivalent GDST Identifier

sourceList/destinationList owning_party or possessing_party

Data Exchange

Data exchange within the GTF relies entirely on standard HTTP requests following the REST (Representational State Transfer) architecture.

To enable seamless, interoperable communication, the GTF establishes standardized protocols for discovery, filtering, and secure transmission.

Data Format

All event data payloads transferred between trading partners SHALL be formatted in canonical EPCIS 2.0 JSON-LD. In addition to the requirements outlined in the EPCIS 2.0 standard, the GTF implements following requirements:

Requirement

Standard Reference

The @context of a JSON-LD file must reference the officially hosted EPCIS JSON-LD context at https://ref.gs1.org/standards/epcis/epcis-context.jsonld

EPCIS 2.0 Standard – Section 10.1.2

JSON-LD context information must be recorded in the root @context of the body of a JSON-LD file, as recommended by the EPCIS 2.0 standard.

EPCIS 2.0 Standard – Section 10.1.3

JSON-LD files must be communicated in the compact format, as recommended by the EPCIS 2.0 standard.

Section 10.1.2 2.4

EPCIS Query Interface

The GTF implements a streamlined subset of the full GS1 EPCIS 2.0 Query Interface, exposing a RESTful protocol defined via OpenAPI specifications. Conforming systems SHALL implement the following GTF REST API method:

  • GET - /events: Used to retrieve all events in the repository or a specific subset that matches defined query parameters.

To prevent overly broad queries from straining systems, the repository SHALL support the following query parameters in a named query or as parameters in the requesting URL:

Query Parameter

Description

LT_recordTime & GE_recordTime:

UTC timestamps formatted as xsd:dateTimeStamp. Filters events recorded less than (LT), or greater than/equal to (GE) the provided timestamp.

LT_eventTime & GE_eventTime:

UTC timestamps formatted as xsd:dateTimeStamp. Filters events based on when the physical activity occurred.

MATCH_anyEPC

A list of URIs. Restricts results to events containing any matching EPC within the epcList, childEPCs, parentID, inputEPCList, or outputEPCList fields.

MATCH_anyEPCClass

A list of URIs. Restricts results to events matching specific lot/batch classes inside quantityList, childQuantityList, inputQuantityList, or outputQuantityList.

EQ_bizStep

A list of URIs. Filters events to include only those matching specific business steps (e.g., commissioning, shipping).

EQ_transformationID

A list of URIs used to facilitate critical tracebacks across long-running transformation events.

EQ_bizLocation

A list of URIs that filters events by a specific physical facility or GLN.

*Technical Safeguard: If a client provides query parameters that are too broad (e.g., requesting only an eventType without time boundaries), the server is permitted to return an HTTP 413 (Query Too Complex) response.

At a minimum, implementations MUST support execution of the following combined search parameter sets:

  • MATCH_anyEPC and/or MATCH_anyEPCClass
  • EQ_bizStep + GE_eventTime + LT_eventTime
  • EQ_bizStep + GE_recordTime + LT_recordTime

Trading partners SHALL implement a GS1 Digital Link Resolver to handle decentralized information lookups. The resolver maps physical product/location identifiers directly to web-based endpoints containing master data or transaction event logs.

Application Identifiers

All URL paths MUST use numeric Application Identifiers. Alphabetic text labels (such as "/gtin/" or "/gln/") are obsolete and prohibited. Resolvers SHALL support the following Application Identifiers:

Application Identifier

Description

00

Serialized Shipping Container Code (SSCC)

01

Product Definition Identifier

414

Location Identifier

417

Party Location Identifier

21

Serial Number

10

Lot Number

Every resolver SHALL support, at a minimum, the following link types:

Link Type

Description

gs1:epcis

This will return a link that points to the EPCIS Query Interface for the requested EPC.

gs1:masterData

This will return a link that can resolve the GS1 Web Vocab JSON-LD for the requested GTIN/GLN/PGLN

Standard URL Structure and Resolution

Digital Link URLs follow a rigid hierarchical syntax:

{Base URL}/{Application Identifier}/{Value 1}/{Application Identifier 2}/{Value 2}

When a system needs to resolve a remote identifier, it replaces the global canonical base URL ([https://id.gs1.org/](https://id.gs1.org/)) with the base URL of the target partner’s Digital Link Resolver.

The following AI query pairs SHALL be supported

AI Pair

Target Concept

Description, Link Type & Example

417

Trading Party/Org

This Application Identifier (PGLN) can be queried with either the gs1:masterData link type to get a link to the master data or with the gs1:epcis to get the default EPCIS Query Interface for the organization.

EXAMPLE

[https://resolver.example.org/417/0860003130308](https://resolver.example.org/417/0860003130308)

414

Specific Location

This Application Identifier (GLN) can be queried with either the gs1:masterData link type to get a link to the master data or with the gs1:epcis to get the default EPCIS Query Interface for the organization.

EXAMPLE: [https://resolver.example.org/414/00860003130308](https://resolver.example.org/414/00860003130308)

01/10

Trade Item Batch/Lot

This Application Identifier pair (GTIN/Lot) can be queried with the link type gs1:epcis.

EXAMPLE:

[https://resolver.example.org/01/00860003130308/10/LOT07082021](https://resolver.example.org/01/00860003130308/10/LOT07082021)

01/21

Serialized Instance

This Application Identifier pair (GTIN/Serial) can be queried with the link type gs1:epcis.

EXAMPLE: [https://resolver.example.org/01/00860003130308/21/ABCDEFGH123](https://resolver.example.org/01/00860003130308/21/ABCDEFGH123)

Preparing for Data Exchange

Onboarding

Before initializing data exchange, trading entities must cross-reference their identities. This onboarding bootstrap is accomplished simply by swapping:

  • The partner's GS1 Digital Link Resolver Base URI.
  • The target Party Identifier (GLN/PGLN).
  • An API Key (if required).

Authentication

While the GTF EPCIS 2.0 specification does not mandate a rigid security layer, secure production data exchange is fully expected under the GTF.

  • Mandatory Baseline: Conforming systems SHALL support API Key validation transmitted via the custom HTTP header X-API-Key.

GET /events?MATCH_anyEPC=urn:epc:id:sgtin:0086000.313030.8... HTTP/1.1

Host: epipe.trace-solution-example.com

X-API-Key: 81C6C194-B445-4FFB-907E-CDBC7FF7F36F

Accept: application/ld+json

Alternative Security Protocols: If two trading partners mutually support more robust protocols (e.g., OAuth2, mTLS), they are explicitly permitted to implement them instead of API Keys.

Data Exchange Workflow

All requests between two parties exchanging traceability data will be done using HTTP request following the REST (REpresentational State Transfer) architecture. All requests between two parties exchanging traceability data will be made using HTTP requests following the REST (Representational State Transfer) architecture. In the workflow below, the Receiver refers to the trading partner requesting traceability information, while the Sender refers to the trading partner providing that information.

  • Step 1
    • Receiver will query the GS1 Digital Link of the Sender for the EPCIS Query Interface URL using the gs1:epcis link type.
    • Sender will return one of more links in the standardized JSON format.
  • Step 2
    • Receiver will query the EPCIS Query Interface of the Sender for all events pertaining to the Product Identifier(s).
    • Sender will return the EPCIS 2.0 data in the JSON-LD Format.
  • Step 3
    • Receiver will scan returned EPCIS data for all unknown master data such as Product Definition Identifiers, Location Definition Identifiers, and Party Definition Identifiers.
  • Step 4
    • Receiver will query the GS1 Digital Link Resolver of the Sender for all unknown Product Definition Identifiers, Location Definition Identifiers, and Party Definition using the gs1:masterData link type.
    • Sender will return one or more links in the standardized JSON format.
  • Step 5
    • Receiver will query the return links for the master data
    • Sender will return the master data in the GS1 Web Vocab JSON-LD format.

How did we do?

About the Global Traceability Framework

Understanding the GTF Approach

Contact