---
title: What is GS1 EPCIS 2.0? An in-depth guide
description: An in-depth guide describing the GS1 EPCIS 2.0 standard, including code examples and walkthroughs of how the standard is applied in business scenarios.
image: https://trackvision.ai/hubfs/EPCIS%20Guide%20Featured%20Image-1.png
---

[![Group 4638](https://trackvision.ai/hs-fs/hubfs/Group%204638.png?width=150&height=20&name=Group%204638.png "Group 4638")](https://www.trackvision.ai)

[![Logo-Long-Blue-On-Invis2-1](https://trackvision.ai/hs-fs/hubfs/Logo-Long-Blue-On-Invis2-1.png?width=150&height=20&name=Logo-Long-Blue-On-Invis2-1.png "Logo-Long-Blue-On-Invis2-1")](https://www.trackvision.ai)

[Platform](https://trackvision.ai/platform)

[![Vector-2](https://trackvision.ai/hubfs/Vector-2.svg) ![Vector-1](https://trackvision.ai/hubfs/Vector-1.svg) Platform Overview](https://trackvision.ai/platform)

[![gs1 epcis2](https://trackvision.ai/hubfs/gs1%20epcis2.svg) ![gs1 ecpis](https://trackvision.ai/hubfs/gs1%20ecpis.svg) GS1 EPCIS 2.0 Repository & API](https://trackvision.ai/capabilities/epcis-repository)

[![gs1 digital link](https://trackvision.ai/hubfs/gs1%20digital%20link.svg) ![gs1 digital](https://trackvision.ai/hubfs/gs1%20digital.svg) GS1 Digital Link Resolver](https://trackvision.ai/capabilities/gs1-digital-link-resolver)

[![digital identity](https://trackvision.ai/hubfs/digital%20identity.svg) ![digital identities](https://trackvision.ai/hubfs/digital%20identities.svg) Digital Identities & Serialization](https://trackvision.ai/capabilities/digital-identities-and-serialization)

[![traceability](https://trackvision.ai/hubfs/traceability.svg) ![product traceability](https://trackvision.ai/hubfs/product%20traceability.svg) Product Traceability](https://trackvision.ai/capabilities/product-traceability)

[![ai](https://trackvision.ai/hubfs/ai.svg) ![ai for supply](https://trackvision.ai/hubfs/ai%20for%20supply.svg) AI for Supply Chain](https://trackvision.ai/capabilities/ai-for-supply-chain)

[![no code](https://trackvision.ai/hubfs/no%20code.svg) ![nocode config](https://trackvision.ai/hubfs/nocode%20config.svg) No-Code Configuration](https://trackvision.ai/capabilities/no-code-configuration)

[![worflow](https://trackvision.ai/hubfs/worflow.svg) ![workflow](https://trackvision.ai/hubfs/workflow.svg) Workflow Engine](https://trackvision.ai/capabilities/workflow-engine)

[![sensor data](https://trackvision.ai/hubfs/sensor%20data.svg) ![sensor data-1](https://trackvision.ai/hubfs/sensor%20data-1.svg) Sensor Data Management](https://trackvision.ai/capabilities/sensor-data)

[![certification managment](https://trackvision.ai/hubfs/certification%20managment.svg) ![cert management](https://trackvision.ai/hubfs/cert%20management.svg) Certification Management](https://trackvision.ai/capabilities/certification-management)

Solutions

![Frame-1](https://trackvision.ai/hubfs/theme/Frame-1.svg)

![regulatory comp-1](https://trackvision.ai/hubfs/regulatory%20comp-1.svg) 

Regulatory Compliance

[![provenance assurance](https://trackvision.ai/hubfs/provenance%20assurance.svg) ![provenance assur](https://trackvision.ai/hubfs/provenance%20assur.svg) Provenance Assurance](https://trackvision.ai/solutions/provenance)

[![recall monitor-1](https://trackvision.ai/hubfs/recall%20monitor-1.svg) ![recall monitoring-1](https://trackvision.ai/hubfs/recall%20monitoring-1.svg) Recall Monitoring](https://trackvision.ai/solutions/recall-monitoring)

[![recall exec-2](https://trackvision.ai/hubfs/recall%20exec-2.svg) ![recall exec-3](https://trackvision.ai/hubfs/recall%20exec-3.svg) Recall Execution](https://trackvision.ai/solutions/recall-execution)

[![diversion detect](https://trackvision.ai/hubfs/diversion%20detect.svg) ![diversion detect-1](https://trackvision.ai/hubfs/diversion%20detect-1.svg) Diversion Detection](https://trackvision.ai/solutions/product-diversion)

[![waste](https://trackvision.ai/hubfs/waste.svg) ![waste reduct](https://trackvision.ai/hubfs/waste%20reduct.svg) Waste Reduction](https://trackvision.ai/solutions/waste-reduction)

[![certification monitoring](https://trackvision.ai/hubfs/certification%20monitoring.svg) ![certification monit](https://trackvision.ai/hubfs/certification%20monit.svg) Certification Monitoring](https://trackvision.ai/solutions/certification-monitoring)

[![cold chain](https://trackvision.ai/hubfs/cold%20chain.svg) ![cold chaing monit](https://trackvision.ai/hubfs/cold%20chaing%20monit.svg) Cold Chain Monitoring](https://trackvision.ai/solutions/cold-chain-monitoring)

[![carbon](https://trackvision.ai/hubfs/carbon.svg) ![carbon footprint red](https://trackvision.ai/hubfs/carbon%20footprint%20red.svg) Carbon Footprint Reduction](https://trackvision.ai/solutions/carbon-footprint-reduction)

[![fresh food](https://trackvision.ai/hubfs/fresh%20food.svg) ![fresh_food](https://trackvision.ai/hubfs/fresh_food.svg) FSMA Section 204 Compliance](https://trackvision.ai/solutions/fsma-204) [![pharmacy](https://trackvision.ai/hubfs/pharmacy.svg) ![pharmacy-1](https://trackvision.ai/hubfs/pharmacy-1.svg) DSCSA Compliance](https://trackvision.ai/solutions/dscsa) [![recall dpp](https://trackvision.ai/hubfs/recall%20dpp.svg) ![recall dpp-1](https://trackvision.ai/hubfs/recall%20dpp-1.svg) Digital Product Passports](https://trackvision.ai/solutions/dpp)

Industries

[![fresh food](https://trackvision.ai/hubfs/fresh%20food.svg) ![fresh_food](https://trackvision.ai/hubfs/fresh_food.svg) Fresh Food](https://trackvision.ai/industries/fresh-food)

[![apparel](https://trackvision.ai/hubfs/apparel.svg) ![apparel-1](https://trackvision.ai/hubfs/apparel-1.svg) Apparel](https://trackvision.ai/industries/apparel)

[![wine](https://trackvision.ai/hubfs/wine.svg) ![wine-1](https://trackvision.ai/hubfs/wine-1.svg) Wine & Spirits](https://trackvision.ai/industries/wine-and-spirits)

[![grocery](https://trackvision.ai/hubfs/grocery.svg) ![grocery-1](https://trackvision.ai/hubfs/grocery-1.svg) Grocery](https://trackvision.ai/industries/grocery)

[![restaurant](https://trackvision.ai/hubfs/restaurant.svg) ![restaurants](https://trackvision.ai/hubfs/restaurants.svg) Restaurants](https://trackvision.ai/industries/grocery)

[![pharmacy](https://trackvision.ai/hubfs/pharmacy.svg) ![pharmacy-1](https://trackvision.ai/hubfs/pharmacy-1.svg) Pharmaceutical](https://trackvision.ai/industries/pharma)

[Resources](https://trackvision.ai/resources)

[![blog](https://trackvision.ai/hubfs/blog.svg) ![blog-1](https://trackvision.ai/hubfs/blog-1.svg) Blog](https://trackvision.ai/blog)

[![Digital Link Icon](https://trackvision.ai/hubfs/qr-2.svg) ![qr-3](https://trackvision.ai/hubfs/qr-3.svg) What is GS1 Digital Link?](https://trackvision.ai/blog/what-is-gs1-digital-link)

[![EPCIS Icon](https://trackvision.ai/hubfs/database-4.svg) ![database](https://trackvision.ai/hubfs/database.svg) What is GS1 EPCIS?](https://trackvision.ai/blog/what-is-gs1-epcis-2.0)

[![diversion detect](https://trackvision.ai/hubfs/diversion%20detect.svg) ![diversion detect-1](https://trackvision.ai/hubfs/diversion%20detect-1.svg) Technical Documentation](https://docs.trackvision.ai/)

[About us](https://trackvision.ai/about)

[![recall dpp](https://trackvision.ai/hs-fs/hubfs/recall%20dpp.webp?width=35&height=28&name=recall%20dpp.webp) ![recall dpp-1](https://trackvision.ai/hubfs/recall%20dpp-1.svg) Our Team](https://trackvision.ai/about)

[![share-2](https://trackvision.ai/hubfs/share-2.svg) ![share data](https://trackvision.ai/hubfs/share%20data.svg) Our Partners](https://trackvision.ai/partners)

[Contact us](https://cta-eu1.hubspot.com/web-interactives/public/v1/track/click?encryptedPayload=AVxigLK%2FT2tXtCwLkNybssrDRz0W%2Fq8th3A7d917FyuSpeU0UfIL1XhhHv4zTr%2Bm%2BsTp3KoQ9jgV70Xu1z%2FF8iESdFL0l9dWkTO4WxGxrVxlJKEcEtUrWc3X2HcFmH6WCmv87%2BxNm4MaaeIdXsupa4qybdsJZYCRxo5NGGSwDJ3C644Y%2BA%3D%3D&portalId=143236257)

[![Group 4638](https://trackvision.ai/hs-fs/hubfs/Group%204638.png?width=150&height=20&name=Group%204638.png "Group 4638")](https://www.trackvision.ai)

[Platform](https://trackvision.ai/platform)

 Solutions

 Industries

[Resources](https://trackvision.ai/resources)

[About us](https://trackvision.ai/about)

[Contact us](https://cta-eu1.hubspot.com/web-interactives/public/v1/track/click?encryptedPayload=AVxigLK%2FT2tXtCwLkNybssrDRz0W%2Fq8th3A7d917FyuSpeU0UfIL1XhhHv4zTr%2Bm%2BsTp3KoQ9jgV70Xu1z%2FF8iESdFL0l9dWkTO4WxGxrVxlJKEcEtUrWc3X2HcFmH6WCmv87%2BxNm4MaaeIdXsupa4qybdsJZYCRxo5NGGSwDJ3C644Y%2BA%3D%3D&portalId=143236257)

back 

[Platform](https://trackvision.ai/platform)

[![Vector-2](https://trackvision.ai/hubfs/Vector-2.svg) Platform Overview](https://trackvision.ai/platform)

[![gs1 epcis2](https://trackvision.ai/hubfs/gs1%20epcis2.svg) GS1 EPCIS 2.0 Repository & API](https://trackvision.ai/capabilities/epcis-repository)

[![gs1 digital link](https://trackvision.ai/hubfs/gs1%20digital%20link.svg) GS1 Digital Link Resolver](https://trackvision.ai/capabilities/gs1-digital-link-resolver)

[![digital identity](https://trackvision.ai/hubfs/digital%20identity.svg) Digital Identities & Serialization](https://trackvision.ai/capabilities/digital-identities-and-serialization)

[![traceability](https://trackvision.ai/hubfs/traceability.svg) Product Traceability](https://trackvision.ai/capabilities/product-traceability)

[![ai](https://trackvision.ai/hubfs/ai.svg) AI for Supply Chain](https://trackvision.ai/capabilities/ai-for-supply-chain)

[![no code](https://trackvision.ai/hubfs/no%20code.svg) No-Code Configuration](https://trackvision.ai/capabilities/no-code-configuration)

[![worflow](https://trackvision.ai/hubfs/worflow.svg) Workflow Engine](https://trackvision.ai/capabilities/workflow-engine)

[![sensor data](https://trackvision.ai/hubfs/sensor%20data.svg) Sensor Data Management](https://trackvision.ai/capabilities/sensor-data)

[![certification managment](https://trackvision.ai/hubfs/certification%20managment.svg) Certification Management](https://trackvision.ai/capabilities/certification-management)

back 

 Solutions

![Frame-1](https://trackvision.ai/hubfs/theme/Frame-1.svg) 

Regulatory Compliance

[![provenance assurance](https://trackvision.ai/hubfs/provenance%20assurance.svg) Provenance Assurance](https://trackvision.ai/solutions/provenance)

[![recall monitor-1](https://trackvision.ai/hubfs/recall%20monitor-1.svg) Recall Monitoring](https://trackvision.ai/solutions/recall-monitoring)

[![recall exec-2](https://trackvision.ai/hubfs/recall%20exec-2.svg) Recall Execution](https://trackvision.ai/solutions/recall-execution)

[![diversion detect](https://trackvision.ai/hubfs/diversion%20detect.svg) Diversion Detection](https://trackvision.ai/solutions/product-diversion)

[![waste](https://trackvision.ai/hubfs/waste.svg) Waste Reduction](https://trackvision.ai/solutions/waste-reduction)

[![certification monitoring](https://trackvision.ai/hubfs/certification%20monitoring.svg) Certification Monitoring](https://trackvision.ai/solutions/certification-monitoring)

[![cold chain](https://trackvision.ai/hubfs/cold%20chain.svg) Cold Chain Monitoring](https://trackvision.ai/solutions/cold-chain-monitoring)

[![carbon](https://trackvision.ai/hubfs/carbon.svg) Carbon Footprint Reduction](https://trackvision.ai/solutions/carbon-footprint-reduction)

back 

 Industries

[![fresh food](https://trackvision.ai/hubfs/fresh%20food.svg) Fresh Food](https://trackvision.ai/industries/fresh-food)

[![apparel](https://trackvision.ai/hubfs/apparel.svg) Apparel](https://trackvision.ai/industries/apparel)

[![wine](https://trackvision.ai/hubfs/wine.svg) Wine & Spirits](https://trackvision.ai/industries/wine-and-spirits)

[![grocery](https://trackvision.ai/hubfs/grocery.svg) Grocery](https://trackvision.ai/industries/grocery)

[![restaurant](https://trackvision.ai/hubfs/restaurant.svg) Restaurants](https://trackvision.ai/industries/grocery)

[![pharmacy](https://trackvision.ai/hubfs/pharmacy.svg) Pharmaceutical](https://trackvision.ai/industries/pharma)

back 

[Resources](https://trackvision.ai/resources)

[![blog](https://trackvision.ai/hubfs/blog.svg) Blog](https://trackvision.ai/blog)

[![Digital Link Icon](https://trackvision.ai/hubfs/qr-2.svg) What is GS1 Digital Link?](https://trackvision.ai/blog/what-is-gs1-digital-link)

[![EPCIS Icon](https://trackvision.ai/hubfs/database-4.svg) What is GS1 EPCIS?](https://trackvision.ai/blog/what-is-gs1-epcis-2.0)

[![diversion detect](https://trackvision.ai/hubfs/diversion%20detect.svg) Technical Documentation](https://docs.trackvision.ai/)

back 

[About us](https://trackvision.ai/about)

[![recall dpp](https://trackvision.ai/hs-fs/hubfs/recall%20dpp.webp?width=35&height=28&name=recall%20dpp.webp) Our Team](https://trackvision.ai/about)

[![share-2](https://trackvision.ai/hubfs/share-2.svg) Our Partners](https://trackvision.ai/partners)

back 

Regulatory Compliance

[![fresh food](https://trackvision.ai/hubfs/fresh%20food.svg) FSMA Section 204 Compliance](https://trackvision.ai/solutions/fsma-204) [![pharmacy](https://trackvision.ai/hubfs/pharmacy.svg) DSCSA Compliance](https://trackvision.ai/solutions/dscsa) [![recall dpp](https://trackvision.ai/hubfs/recall%20dpp.svg) Digital Product Passports](https://trackvision.ai/solutions/dpp)

[epcis](https://trackvision.ai/blog/tag/epcis) [gs1](https://trackvision.ai/blog/tag/gs1) [traceability](https://trackvision.ai/blog/tag/traceability)

Published: 11 November 2024 | [Jonathan Ling](https://trackvision.ai/blog/author/jonathan-ling)

# What is GS1 EPCIS 2.0? An in-depth guide

GS1 EPCIS (Electronic Product Code Information Services) is an open standard designed to facilitate the seamless capture and sharing of supply chain event data across organizations. EPCIS enables businesses to track the journey of goods and products by recording critical events - such as production, shipping, and receipt - throughout the supply chain. By standardizing how data is structured and communicated, EPCIS helps organizations achieve greater visibility, traceability, and interoperability, supporting more efficient operations, regulatory compliance, and consumer transparency.

EPCIS 2.0 - the latest version of the standard - does this by giving us two important elements:

1. A consistent, **standard data model** to ***represent*** supply chain activity in an electronic, machine-readable format
2. A set of **standard APIs** that allow EPCIS systems to ***exchange*** this data with no additional system integration costs

 

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQhmSAcvS0QE4J2wv_SpaKQ22a_ebeuIuk7rigN0ldxbCp8MqifkM0LzlpersnG8RuWBFkIx_NT3jhgPWr2Vs41fUV8LGa9qyIUtCR6JKcYmbT1e71IuLSdW2BNJF9kw2Bnx2Rbd1Jamm_5L4p2zqWWfMh?key=jQU2X21tx6w8K1WdKgVyIy7w)

**In this in-depth technical guide, you will discover:**

1. What is meant by a “supply chain event”
2. The anatomy of real EPCIS events
3. How EPCIS events can be exchanged seamlessly between businesses using standard APIs without custom system integration costs
4. How EPCIS events are used to record real world supply chain processes

## What is an event in EPCIS?

In the context of EPCIS, an "event" refers to a specific occurrence that provides meaningful information about the movement, status, or transformation of a product or asset within the supply chain. An event consists of information about “what”, “where”, “when” and “why”:

- **What** object(s) did the event involve?
- **When** did the event occur?
- **Where** did the event occur?
- **Why** did the event occur?

By recording events, we are able to accurately represent any supply chain process or activity that occurs as ***data***. Consider a typical supply chain process like the one below:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcT9kCmOVmsxKiD6ojkxaZh9YAhELDgsmmj8enM-49a0hPFfd021lt5st6_4d5G2oeBy-qu8ExX1urlGI7146Twy-Fhgjgxkjb6eFGa-ONtsl1fx1vD5bR6XJFgf6IdzhK5Z7HNNmIAXeXhVZjBOXSrzCE?key=jQU2X21tx6w8K1WdKgVyIy7w)

Each discrete step in the process can be recorded with an EPCIS event:

1. **During manufacturing** we record “commissioning” events (“why”) that tell us the identifiers of the exact items (“what”) that were manufactured, the exact timestamp (“when”), and the location “where” the event occurred
2. **During case packing** we record “packing” events (“why”) that tell us that specific items were packed into parent cases (“what”) at a specific timestamp (“when”) at a particular location (“where”)
3. **During pallet packing** we record “packing” events (“why”) that tell us that specific cases were packed into parent pallets (“what”) at a specific timestamp (“when”) at a particular location (“where”)
4. **During shipping** we record “shipping” events (“why”) that tell us that specific pallets were shipped at a specific timestamp (“when”) at a particular location (“where”)
5. **During receiving** we record “receiving” events (“why”) that tell us that specific pallets were received at a specific timestamp (“when”) at a particular location (“where”)

Any supply chain process you can think of can be modelled and recorded using EPCIS events. For example, if you wanted to record the installation of components into an asset, you could record an “installing” event using EPCIS:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXflKh5R-fl1s5xGSKPC9hPE8gsua7IMW0C0Na6iRKWSVNRBNs38wNoeLLumFn57RJ1Ghz_MPVo8G27MgNx7HMDjaRVO8eokNJIm9_nG7g6ShNfRzepSUEvQlVE8EpROnPgWwfuH2ycwHPZlktz6gTEcnXIs?key=jQU2X21tx6w8K1WdKgVyIy7w)

Or if you wanted to record the exact input ingredient batches that contributed to a batch of output products, you can using a “transformation event”:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcduM1L9E4mpxU7qwiiw0Q7UiMsLQUrQ6vcQQ2meDMpoq-RYox61IdsTX_wTBuUYNgWXo8ul8xK14gWexU-P8-oYugIZZ-nlIHYxZCA8ythv0CFbdNJZYbKtB1bZT5sCVCJpcTcEJ282348W-o8hDRz2s4?key=jQU2X21tx6w8K1WdKgVyIy7w)

## Diving deeper: the anatomy of an EPCIS event

So what does an EPCIS event actually look like under the covers? Let’s use a very simple scenario as our example - the receipt of a pallet at a warehouse:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXctAYCbLTV1NEqstEWCIfpkfMDZwMC4TN--DlQy66yUIyXHFcWY-OtynQ0yJqxz_tfp7XdwoBd1vkTJdV5iVWrz1HW7UTRkNKULLpS1jJ2GpuZbGgCztiKfgpAj-p7BYHYEblNzhyYZIVXutJ11PQA8zwHN?key=jQU2X21tx6w8K1WdKgVyIy7w)

What we want to record is simple: that we observed a pallet as part of a warehouse receiving process (the “why”), uniquely identified by the [SSCC](https://www.gs1.org/standards/id-keys/sscc) **277776661000000203** (the “what”), at a particular moment in time (the “when”), at location identified by the [Global Location Number \[GLN\]](https://www.gs1.org/standards/id-keys/gln) **4444999400018** (the “where”).

If we were to show this conceptually, it looks like this:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXe6t6nBi2tswaTzUv7EOblkEykLJ1lTtGOHqxoorA8vZXeGLRux__62DZCQFplxA-jSn-zB_PL3gPGR2MT4WmX020Oh0seHSqy_lvoSmkTOG9E3u1bRQdwOEOOeDvRDCC-Zdto8nEymv2qeYsL6VXIhT8Hv?key=jQU2X21tx6w8K1WdKgVyIy7w)

But let’s take it one step further and look at a real EPCIS event represented as a JavaScript Object Notation (JSON) message. JSON is a text-based format for storing and exchanging data that's both human-readable and machine-parsable. It is heavily used by developers creating the Internet, and is fully supported by the latest version of EPCIS.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf6GqOTrXnHMFJgfu3nKlduHEVcVlL41U87esxr40Hbz1nHi8RM1CmQtTbKE5UA9glVfNhMEg9eVkl1nFZKI9t5xRB7fvLjz3iaIJcJGGNd5U0aUUusvf5GC0I8Qig0wQIgmdM9TjS0h-qUF06jOGA8Svk?key=jQU2X21tx6w8K1WdKgVyIy7w)

This is a very simple, valid EPCIS event. Let’s go through the data fields related to each dimension:

- **What:** The field **epcList** allows us to specify a set of GS1 identifiers that this event applies to. Here we have used a GS1 Digital Link ([click here to learn more about Digital Link](https://trackvision.ai/blog/what-is-gs1-digital-link)) to specify that the event has occurred to a single logistic unit with an SSCC code of “**277776661000000203**”. If multiple pallets were received as part of this supply chain operation, we could have added more identifiers to this list. Note that identifiers can be expressed either as Digital Links or in a format known as a “Pure Identity URI” which is commonly used in RFID projects. The [GS1 Tag Data Standard](https://ref.gs1.org/standards/tds/) explains each format and how to convert between
- **When**: The field **eventTime** stores the exact date and time the event occurred, in Universal Coordinated Time (UTC). The field **eventTimeZoneOffset** allows us to specify the local timezone the event was captured in
- **Where:** The field **bizLocation** refers to a single GS1 identifier corresponding to the location where the objects can be physically assumed to be *following* the event. In this example, we have received the pallet at a warehouse identified by the GS1 Global Location Number “**4444999400018**”, expressed here in [Digital Link](https://trackvision.ai/blog/what-is-gs1-digital-link) syntax. Sub-locations are also supported (e.g. a specific loading dock, store-room, field or production line within a business address). Note that you may also have a field called **readPoint** that represents the location dimension - this corresponds to the exact location where the object was *interacted with*, but may subtly differ from bizLocation in scenarios where an object is scanned in one location but then placed in another location; for example, an RFID-equipped doorway could be the readPoint, but the store-room beyond is the bizLocation.
- **Why:** The most important field for expressing the “why” dimension is **bizStep,** which contains the code of the supply chain process that was being executed when this event was captured (in this example, “receiving”). The value in this field comes from a list of possible values defined inside a companion standard to EPCIS called the [GS1 Core Business Vocabulary (CBV)](https://ref.gs1.org/standards/cbv/) - we’ll explain this more in the next section. Another interesting field that also contains a value from the CBV is **disposition**, which tells us what ***state*** the object is in directly after this event. In this example, the value “sellable\_not\_accessible” tells us the object is in a sellable state but not accessible by customers. The field called **action** can be one of three values “ADD”, “DELETE” or “OBSERVE”, and represents whether we are adding, deleting or just observing objects. In this example we are just recording that we’ve seen an object, so we use OBSERVE. We’ll explain the **type** field in just a few moments, but first…

## What is the GS1 Core Business Vocabulary?

The [GS1 Core Business Vocabulary (CBV)](https://ref.gs1.org/standards/cbv/) is a standardized set of terms and definitions used within the EPCIS framework to ensure consistent communication and interpretation of supply chain events across different organizations and systems. It provides an agreed-upon language for describing business processes, including key terms related to business steps, disposition codes, and more. By establishing uniform terminology, the CBV helps ensure that data recorded and shared through EPCIS is understood in the same way by all parties, reducing ambiguity and enhancing interoperability.

In the previous section, we learnt about two special fields in the “Why” dimension called **bizStep** and **disposition**. Starting with bizStep, if we [open up the standard](https://ref.gs1.org/standards/cbv/) and navigate to section 7.1.3, we can see a full list of all the **business step codes and definitions** - about 41 in total. Here is a screenshot of just a few of the values:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcwQ_od5wCnZe6bYyaX-51pwROnoNb8_XgvydSAS__d7R1Nl2SnIwV9FZJ-tGQMrpl02xH8Vs3xJAfZTf9yWY0j5InqjYly10YDNNqFdw17EymMCJ5A_1GYbDNqIfvhWox0uc5JKg?key=jQU2X21tx6w8K1WdKgVyIy7w)

Similarly, the possible values of the field **disposition**, which is used to indicate the *state* of an object after an event, is defined in section 7.2.3:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfQRS12MZvR_5wQlizID_rjyXkZB1Vst9cDtqkldb5zRkKqLNZRjT5iMfqpPcaV-nAlQQGoALWo8rVAW1LFTruvP9440PDX6c-b3E3aeLYHLUFw2fpXqcYcy6OFje1t33DH-qcIZQ?key=jQU2X21tx6w8K1WdKgVyIy7w)

By creating events that use **business step** and **disposition** codes, we can describe different business processes in a consistent, interoperable way.

The CBV defines many other code lists used in EPCIS, such as business transaction types, error codes, sensor measurement types and more. It also describes the format of other fields (such as identifiers) to ensure everyone expresses them in a consistent way. For example, section 8.4 describes the possible syntaxes that can be used in a location field (such as business location or read point), such as Digital Link, EPC URI, or proprietary schemes.

## What does the “type” field mean in an EPCIS Event?

When a business user thinks about an “event type” in the supply chain, they would probably (and correctly!) think about packing, shipping, selling, and other business steps. As we saw before, this is already captured in the **bizStep** field. But in our previous example, we saw a field called “**type**”, with a value “ObjectEvent”:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcwdXr_3xDSx6ym9tlD2BvTgyh1OolNCBgDJUBgqP6vnBM3hITKxXJtIcNW_QzWj0sm13RFHgZpfrIAVg_iFLA9SlsrnjDWPqju_zfp_qrnilMxfjLxrbYqLAlMBrRj_XtirmiD5w?key=jQU2X21tx6w8K1WdKgVyIy7w)

What does this mean, and why do we need this? The field **type** refers to the EPCIS **technical event type**, which can either be “ObjectEvent”, “AggregationEvent”, “TransformationEvent”, “AssociationEvent” or “TransactionEvent”.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcwb0GY58nGoo3QzcTDzpzPo7Utx3hTCans5S530lACXZw9MUefkMvbkUOVamvhpht0bFDbs7p3OmuzwrimZImpHnuGwx3Ww8vd46bIYV191aZpqnlDDYFzUB5mP3UvqyBtFCup?key=jQU2X21tx6w8K1WdKgVyIy7w)

The main reason we need this is because the “what” fields - i.e. the subject(s) of an event, can **vary** depending on the supply chain scenario.

Because EPCIS defines a data schema, and we want to apply rules on that schema, a decision was made to define “sub-classes” of the main “EPCISEvent” data entity (a concept from “object oriented programming”), resulting in the five event types in the current version of the standard.

## More Examples: Packing with AggregationEvent

So let’s take a look at another important scenario - how do we record the act of **packing items** into a container in EPCIS? Consider the business scenario below. We pack **three sellable tomato cartons**, identified uniquely with a combination of a GTIN and a Serial ID (SGTIN), into a pallet, identified by an SSCC:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf91on0-Kg4cPZSllzBeBXyRN-CaoOaR5Qy1WaBV-y5q5w8yHRbNltacft2kOFC0nHUhbpd4SVhgPL0MJfncZTGlaGkauMhz8b2qyvxu6vXz15ndb3-gVnkjnemIX3PZgCnk4YF?key=jQU2X21tx6w8K1WdKgVyIy7w)

In EPCIS packing is handled through the special event type called **AggregationEvent**. The easiest way to understand is by looking at an example:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcfzNgbpuR9-UoVAMEuRzTfAP8f6-idcBv0x4jA0KbXlUgKf4tfbmzpDlSeZcnDSMbTLTz2Cf0QVE-6dsu4UtidVfASmO9lUR0u8LiTcrWO0brnZxZ5SI7F-va0iPCO7W5puaguHQ?key=jQU2X21tx6w8K1WdKgVyIy7w) The fields for “**When**” and “**Where**” are the same as our previous example. The fields in “Why” have changed:

- The **bizStep** field is still present, but its value is “**packing**”, as defined by the CBV
- The technical EPCIS event type, indicated by the **type** field, has changed to **AggregationEvent** (instead of ObjectEvent). This allows the data schema for the “What” dimension to accommodate additional fields
- The **action** field is set to a value of **ADD**, used to signal that items are being packed into a parent object. If we were unpacking objects out of a parent, we would see a value of **DELETE**

The fields in the “What” dimension are also named subtly different, because this is an AggregationEvent.

- The **parentID** field tells us the identifier of the object being packed into. In this example, it is a pallet identifier with an SSCC of 277776661000000203. We use [Digital Link syntax](https://trackvision.ai/blog/what-is-gs1-digital-link) to express the identifier
- The **childEPCs** field lets us list the child objects being packed into the parent. In this case, we are packing three objects identified uniquely with a GTIN and Serial Number. Here we express this identifier as a Digital Link

## More Examples: Packing Batch/Lots into Containers

What if we were doing batch/lot level traceability, such as the following example where a mixed pallet is being packed with 4 cartons of one batch and 6 cartons of another batch?

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeMi3J3FtVKfDfk6h2pD2XWnBHEmi3dHg-awqXKrV7ruUQLlWx_a6h-cg14foZVyhVCzHXY7EpfMNhitjyhTJWj8UnsKedlg-dUWIbYXdmyXa9MyrrRuKFSOohKoB53BOsCN1eT?key=jQU2X21tx6w8K1WdKgVyIy7w)

EPCIS events support batch level traceability too. Here is how the event changes:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfzI-AAGnPyKQgBYW5iKziCkJ2JBBOZea4yj8_ye08HGzQAPqiZ3gGCk_nFAaVMTY16-SAlxpHJg_6RIacdzYB-AgchzA-6beJLIJzQdGZ0w8YqbnjkWGkFQ8L_UqguNCaBPSIIpw?key=jQU2X21tx6w8K1WdKgVyIy7w)

Most fields are the same as our previous example. Inside the “What” dimension, epcList has been replaced with **childQuantityList**. Items inside this list allow us to specify a class of product in the **epcClass** field - in this case, a batch of tomatoes, expressed as a [Digital Link](https://trackvision.ai/blog/what-is-gs1-digital-link) - and a **quantity**. An optional field we omitted from our example, **uom**, allows us to specify a unit of measure, which would support scenarios such as packing a quantity of liquid into a bottle, or a weight of loose goods into a container.

## More Examples: Unpacking

In our first packing example, what if we made a mistake and wanted to unpack the third carton? We can use an unpacking event, which looks like this:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcvRsjlrL4sCHXTBXOlXrNwmNMyGnkz4cI88iB3PbDw4mh9d-YfJWFg3nhZOHgKJTcjAULb99Sxk7RE4xdUcZig5ZzJ5y1yKfWR2JyoKNF8-RAoRmheVtx4ImC65A9GyhEXQyqc?key=jQU2X21tx6w8K1WdKgVyIy7w)

The bizStep field is set to **unpacking** and the **action** field is now set to **DELETE**, indicating we are removing the children specified from the parent. Easy!

## More Examples: Transformation

Let's look at one last important example. In traceability, we often want to track which input ingredients or materials were used to produce a particular output product. This means that if one of the ingredients is defective, we can trace all the output products that might be affected. Or if an output product is defective, we can understand all the inputs that might have caused the problem.

Lets take an example where 1 kilogram of a batch of salt and 10 liters of a batch of milk is being combined to produce a batch of 4 blocks of cheese:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdHWpTdGYVCMtkiwooG4Wu35Gsle052mGbxqvTyjEKsY1AoWkZYvKDv2K7JwT9BLdh8Q4z5x_0rq5RLMxLJzA1ybkln_3Q46NP02WwLA1AOIMpDQF_-ul5Y4tYxl5LlH9w0lILEtA?key=jQU2X21tx6w8K1WdKgVyIy7w)

Here is the above business process represented as an EPCIS Transformation event:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdQ_QfeAjIdZS1O1oUv1JHlIBSKcxMeePGaOjnGl53DlsGEEGR5k8YUms4fi9-x-kEhuGQR5klLpKEi74Q5OY03jwR9QZk46gWe_TDAm85tUSfPRsSbfx9_w7ZLRAQibD4VeREOwg?key=jQU2X21tx6w8K1WdKgVyIy7w)

Let’s look at key differences to our previous examples:

- **“Why”**: The native EPCIS event **type** is set to “**TransformationEvent**”, which allows the schema to accommodate the special input/output lists that this scenario requires. The field **bizStep** is set to **commissioning** from the CBV to indicate new objects are being created/manufactured. Note that **action** is omitted, as a Transformation event always consumes inputs and creates new outputs.
- **“What”**: The field **inputQuantityList** allows us to provide a list of input ingredients and quantities that were consumed as part of manufacturing the batches specified in the **outputQuantityList**. Note the addition of another optional feature of EPCIS, the “**ilmd**” field, which stands for **Instance/Lot Master Data**. This is a set of extra attributes that the output product has - in this example, the output has an expiration date of 2024-04-10. The permissible values are defined in the [GS1 CBV in section 9.2](https://ref.gs1.org/standards/cbv/)
- **“When”** is the same as in other events we’ve seen so far
- **“Where”** is also the same. However note here we show an example of a **sub-location** (such as a specific production line), by using a Digital Link identifier that contains a **Global Location Number** (signaled by the qualifier /414/) and a **Global Location Number Extension** (signaled by the qualifier /254/)

## The EPCIS APIs: getting data in and out

Now that we’ve learned what EPCIS events look like, how do we get data into and out of an EPCIS system? The EPCIS 2.0 standard defines both a data model and a set of **REST APIs** for system to system data exchange. That means that two EPCIS compatible systems can be configured to exchange data with **no integration middleware** and **no data transformation/mapping** required, which means the cost of integration is **reduced to practically nothing** compared to connecting two systems that each have a proprietary, non-standard API.

Note that the standard also includes bindings for XML and other older options, but in this guide we’ll focus on the modern REST APIs with JSON data payloads.

### Getting data in

If an application needs to push supply chain data into an EPCIS system, the primary way is to send a message containing a list of events into the special **capture** API. This is useful for business to business scenarios where traceability data needs to be sent to accompany a physical goods shipment:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcs5gTIKoyOVA2uMa1OPS6QQcdPylzWheff6SJUOI64kR31jT-1wfcsfI11EEU89puHDodhIjlfE0yDXHZIim65sejK_IzpT-qdIaf1g2PVctWZvLenaP0oTn85OQXGrid6JCkWeA?key=jQU2X21tx6w8K1WdKgVyIy7w)

The capture API is asynchronous, designed to be able to accept thousands of events at one time. A simpler **/events** API is also available that allows a single event to be pushed in, but we recommend using **/capture**. [Section 12.6 of the EPCIS specification](https://ref.gs1.org/standards/epcis/) describes the endpoint:

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd9JYQlFbOyIs-t9r_P0o9u1sA_iKVWK6MBCd0Zvh0au9Cn1t11Dh-w1ZHNml6ZBklSYj6ZkwiNmoGCXYIKi2turqI8-fUa4rNDuwBRya6V4TgC1OF3ZBrRPhtg8V0OvGlOu0_iLA?key=jQU2X21tx6w8K1WdKgVyIy7w)

### Getting data out

EPCIS provides a **query** interface to allow an application to fetch specific events that match a search criteria.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfmGP080JazyYVQ_AyE_2XpvfVNehI2D-xykhcZkSK5gQDs9Iue9KebwY-EuC1bKwRYvG83WLOsYItrOTQXJNK8uh5axWPM1slUMTedVWzCUJzMIKH45oqoPr0_SpODFyVfPYwp9Q?key=jQU2X21tx6w8K1WdKgVyIy7w)

In the REST API there are a number of query related endpoints that allow events to be fetched. The **/queries** interface allows a “standing query” to be defined which can be run over and over again.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfdJYKwCdUhXhMXiQGluezNgiHOdOijKsPpAXMFUrY23jaYyF2c_RwRUHrKpJOAJAoiuy9GzNOODlfysPjUyhTU0Rbt9b78Hx3l2mhN_x6HEfXdYBElnEgQ5MGbD0HZ5BKuWu2cYg?key=jQU2X21tx6w8K1WdKgVyIy7w)

### Asking for events to be continually sent that match a criteria

The final set of APIs that EPCIS defines is a “subscription” mechanism, where one system can ask another system to continually send any events that arise that match a specific criteria. For example, “send me all events that occur at location ABC”. The accepting system will watch for new events that match that criteria and then send them automatically to the **callback** URL defined by the first system.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeeEjVcyZZyYWV2Dk9W2lLE1RMZqcoBdbGLdwKpWypeE_Di4d-WOVvGEONYj46hK3aoQldi_p7EsVMh-lbmPVSMsHzxexiiJABy6u3b4XGxGvzusFalTpsryP7TmxhRC84c_SUw5A?key=jQU2X21tx6w8K1WdKgVyIy7w)

## Using EPCIS in real life: Food Safety Modernization Act 204(d)

EPCIS is the perfect standard to apply in any scenario where businesses need to record and exchange traceability information. One such example is Section 204(d) of the Food Safety Modernization Act in the United States - entitled “Additional Recordkeeping Requirements for High Risk Foods” - which will require thousands of businesses in the USA to store and exchange lot-level traceability information if they produce, handle or process any food identified on the FDA’s [Food Traceability List](https://www.fda.gov/food/food-safety-modernization-act-fsma/food-traceability-list). The FDA has defined a series of [Critical Tracking Events (CTEs), each containing Key Data Elements (KDEs)](https://www.fda.gov/media/163132/download?attachment), which they expect businesses to record. The FDA diagram below illustrates the CTEs and KDEs involved for a produce supply chain:

 

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfgmLKCX6lLP3Q1I6CLGFFS1__zH4S6SoKsnEzuZWK_R7f2cvTpdw9CsLbNvYqJZxBkFs2k9bLBLIBZC5GPILOlmIBbBU_og0rVpiMTNtUkr7TcFjRPbPZUll9jPMq_29GNSnZS1w?key=jQU2X21tx6w8K1WdKgVyIy7w)

 

Note that not only do businesses need to record data, but they also need to **send data to other parties in the supply chain**, so those businesses can store accurate information too. For example, some harvesting and cooling KDEs need to be provided to the initial packer, and shipping CTE/KDEs always need to be forwarded to the receiver: 

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfY8I5iJIdq_XVy-aBIdLMVDIiGWId4vEH6HPj-v07wE8p7Da7tDlLzjS7ebr1PnFVYIHHYD8p-8cE51IT_c4ka4EwGxguN8xG-xeLk2eKWG4bzzeFMrkqhhcYhoJPxK8opJc7y?key=jQU2X21tx6w8K1WdKgVyIy7w)

EPCIS is the perfect data standard for both storing and sending the required data for this legislation. Consider the following snippet of a supply chain that covers a **grower** that **harvests**, **cools**, **packs** and **ships** produce to a **food processor**, who **transforms** the food and ships it onwards.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfnl3YpQ4TZ0wfcKAcKap8HmfYNVTEuhIrJliBq6-oFfveHGSj5A5kyY1PTregmyPk9fTroJHt7m3q2fyD_rMiW0t6n13cbH5_eAbXDxc6DeN7e5w3ZYfGcBctpW82k6ClCBKxtgg?key=jQU2X21tx6w8K1WdKgVyIy7w)

As we can see, each logical CTE defined by the FDA (in blue) can comfortably be recorded using the building blocks provided by the EPCIS standard that we’ve learnt about in this guide. If both parties were using an EPCIS compatible system, the farm could easily send the required data to the packed salad manufacturer using EPCIS APIs, with no additional system integration costs.

## Conclusion

GS1 EPCIS 2.0 is an extremely powerful traceability data standard that provides both a data model and an API. It can help businesses record and exchange vital supply chain data that can meet legislative requirements, prove provenance, surface certifications, detect supply chain fraud, enable rapid and targeted product recalls, reduce waste and more. It can be applied to any supply chain, in any industry, with any product or asset - at item, batch or SKU level of granularity.

But because it is so powerful, it is also difficult to understand and leverage for new audiences. At TrackVision AI, we provide an easy to use traceability platform that has been built from the ground up on the GS1 EPCIS 2.0 standard. It includes a [scalable EPCIS repository](https://trackvision.ai/capabilities/epcis-repository), full implementations of [EPCIS APIs and data exchange frameworks](https://trackvision.ai/capabilities/epcis-repository), and comes packed with out-of-the-box analytics, workflow and AI features to help businesses meet their supply chain traceability requirements. [Talk to us today](https://trackvision.ai/contact) for a free consultation on how your business could adopt and leverage the GS1 EPCIS 2.0 standard.

11 November 2024 | [Jonathan Ling](https://trackvision.ai/blog/author/jonathan-ling)

 share: <https://twitter.com/intent/tweet?original_referer=https://trackvision.ai/blog/what-is-gs1-epcis-2.0&url=https://trackvision.ai/blog/what-is-gs1-epcis-2.0&text=What%20is%20GS1%20EPCIS%202.0?%20An%20in-depth%20guide> <https://www.facebook.com/sharer/sharer.php?u=https://trackvision.ai/blog/what-is-gs1-epcis-2.0> <https://www.linkedin.com/shareArticle?mini=true&url=https://trackvision.ai/blog/what-is-gs1-epcis-2.0>

Recommended for you

[What is GS1 Digital Link?](https://trackvision.ai/blog/what-is-gs1-digital-link) [Our EPCIS Solution](https://trackvision.ai/capabilities/epcis-repository)

About the author

Jonathan Ling

With over 15 years experience in supply chain system integration, consulting and IT architecture, Jonathan is passionate about improving supply chain traceability and transparency through the application of open industry standards.

## Recommended reading

NEW

digital-link gs1 natural-trace

[Full-Spectrum Product Authentication: Combining QR codes and Natural DNA tagging to fight food fraud](https://trackvision.ai/blog/full-spectrum-product-authentication-combining-qr-codes-and-natural-dna-tagging-to-fight-food-fraud)

10 June 2026 | [Jonathan Ling](https://trackvision.ai/blog/author/jonathan-ling)

[ESPR 2027 textiles timeline: what's confirmed, what's not](https://trackvision.ai/blog/espr-2027-textiles-timeline)

20 May 2026 | [Dave Ashenhurst](https://trackvision.ai/blog/author/dave-ashenhurst)

[DPP vs EPD vs PEF: what's the difference and which do you need?](https://trackvision.ai/blog/dpp-vs-epd-vs-pef)

20 May 2026 | [Dave Ashenhurst](https://trackvision.ai/blog/author/dave-ashenhurst)

## Get ahead with TrackVision updates

Join our newsletter today and don't miss out on the opportunity to be part of a community driving innovation in tracking technology.   
Sign up now and be in the know!

[![TrackVision_Logo](https://trackvision.ai/hs-fs/hubfs/Logo-Long-Blue-On-Invis2-1.png?width=150&height=20&name=Logo-Long-Blue-On-Invis2-1.png "TrackVision_Logo")](https://www.trackvision.ai)

##### Headquarters

![Group 4266](https://trackvision.ai/hubfs/theme/Group%204266.svg) London

United Kingdom

![Group 4266](https://trackvision.ai/hubfs/theme/Group%204266.svg) San Francisco

United States

[![Group 4508](https://trackvision.ai/hubfs/theme/Group%204508.svg) ![linkdin](https://trackvision.ai/hubfs/Group%204630.svg)](https://linkedin.com/company/trackvision-supply-chain-software/)

- [Platform](https://trackvision.ai/platform) 
    - [GS1 EPCIS 2.0 Repository](https://trackvision.ai/capabilities/epcis-repository)
    - [GS1 Digital Link Resolver](https://trackvision.ai/capabilities/gs1-digital-link-resolver)
    - [Digital Identities & Serialization](https://trackvision.ai/capabilities/digital-identities-and-serialization)
    - [Product Traceability](https://trackvision.ai/capabilities/product-traceability)
    - [AI for supply Chain](https://trackvision.ai/capabilities/ai-for-supply-chain)
    - [No Code Configuration](https://trackvision.ai/capabilities/no-code-configuration)
    - [Workflow and Rules Engine](https://trackvision.ai/capabilities/workflow-engine)
    - [Sensor Data Management](https://trackvision.ai/capabilities/sensor-data)
    - [Certification Management](https://trackvision.ai/capabilities/certification-management)
- Solutions 
    - [FSMA 204](https://trackvision.ai/solutions/fsma-204)
    - [DSCSA](https://trackvision.ai/solutions/dscsa)
    - [Digital Product Passport](https://trackvision.ai/blog)
    - [Provenance Assurance](https://trackvision.ai/solutions/provenance)
    - [Recall Monitoring](https://trackvision.ai/solutions/recall-monitoring)
    - [Recall Execution](https://trackvision.ai/solutions/recall-execution)
    - [Product Diversion](https://trackvision.ai/solutions/product-diversion)
    - [Waste Reduction](https://trackvision.ai/solutions/waste-reduction)
    - [Certification Monitoring](https://trackvision.ai/solutions/certification-monitoring)
    - [Cold Chain Monitoring](https://trackvision.ai/solutions/cold-chain-monitoring)
    - [Carbon Footprint Reduction](https://trackvision.ai/solutions/carbon-footprint-reduction)
- Industries 
    - [Fresh Food](https://trackvision.ai/industries/fresh-food)
    - [Apparel](https://trackvision.ai/industries/apparel)
    - [Wine & Spirits](https://trackvision.ai/industries/wine-and-spirits)
    - [Grocery](https://trackvision.ai/industries/grocery)
    - [Restaurants](https://trackvision.ai/industries/grocery)
    - [Pharmaceutical](https://trackvision.ai/industries/pharma)
- [Resources](https://trackvision.ai/resources) 
    - [Blog](https://trackvision.ai/blog)
    - [About us](https://trackvision.ai/about)
    - [Contact us](https://trackvision.ai/contact)

Copyright © 2026, Trackvision AI Ltd | [Terms & Conditions](https://trackvision.ai/terms-conditions) | [Privacy Policy](https://trackvision.ai/privacy-policy)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Jonathan Ling",
    "url" : "https://trackvision.ai/blog/author/jonathan-ling"
  },
  "dateModified" : "2024-11-11T13:22:17.330Z",
  "datePublished" : "2024-11-11T12:10:22.000Z",
  "headline" : "What is GS1 EPCIS 2.0? An in-depth guide",
  "image" : [ "https://trackvision.ai/hubfs/EPCIS%20Guide%20Featured%20Image-1.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://trackvision.ai/blog/what-is-gs1-epcis-2.0",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://trackvision.ai/hubfs/Logo-Long-Blue-On-Invis2-1.png"
    },
    "name" : "Trackvision AI Ltd"
  }
}
```