EPCIS (Electronic Product Code Information Services) is the GS1 standard for recording what happens to a product in the supply chain and sharing those events between companies in a common format. Version 2.0, ratified in June 2022, added JSON and JSON-LD alongside XML and REST alongside SOAP. The standard has also been published as ISO/IEC 19987:2024.
What problem does EPCIS solve?
A manufacturer, a warehouse and a distributor keep the same shipment in their own systems, under different field names and codes. Each data exchange then needs its own mapping. EPCIS gives that exchange a shared language: it defines which fields describe an event and which interfaces capture and query those events.
It helps to be clear about the scope. EPCIS is not a software product, and it is not a labelling standard. Other GS1 standards decide how a product is numbered and how that number goes into a barcode. GS1 describes EPCIS as the bridge between the layer where data is captured and the layer where it is shared. Fixed information such as product descriptions is managed separately as master data; EPCIS is mainly concerned with what happened.
What does an EPCIS event record?
Every event is described along five dimensions, which the standard summarises as what, when, where, why and how.
| Dimension | Question | Example |
|---|---|---|
| What | Which object? | A serialised unit, a batch, a pallet with an SSCC |
| When | What date and time, in which time zone? | eventTime and eventTimeZoneOffset |
| Where | Read point and subsequent location | readPoint, bizLocation |
| Why | Which business step, in what state? | bizStep, disposition |
| How | What condition was the object in? | Sensor data (sensorElementList) |
The "how" dimension arrived with 2.0 and is filled from sensor readings, such as the temperature of a cold chain shipment. Business step and disposition values come from the companion Core Business Vocabulary (CBV). That shared vocabulary is why "shipping" means the same thing in the receiver's system.
What event types does EPCIS define?
| Event type | Used for | Example |
|---|---|---|
| ObjectEvent | Something that happened to one or more objects | End-of-line scan, shipment, receipt |
| AggregationEvent | Objects physically brought together | Cases placed on a pallet |
| TransactionEvent | Objects linked to a business transaction | A pallet tied to a purchase order |
| TransformationEvent | Inputs consumed and outputs produced | A raw material batch becoming a finished batch |
| AssociationEvent | Lasting parent and child relationships | A part tied to its parent equipment, or an object tied to a fixed location |
The action field states the relationship to the record: ADD means created or added to, OBSERVE means seen unchanged, DELETE means removed.
What do production, shipping and receiving look like as events?
One carton's journey from the line to the customer can be told in four events, using these CBV values.
| Step | Event type | action | bizStep | disposition |
|---|---|---|---|---|
| End of line, number matched to product | ObjectEvent | ADD | commissioning | active |
| Cases placed on a pallet | AggregationEvent | ADD | packing | usually omitted |
| Pallet shipped | ObjectEvent | OBSERVE | shipping | in_transit |
| Receipt by the customer | ObjectEvent | OBSERVE | receiving | usually omitted |
The CBV notes that in_progress adds little value and that omitting the disposition is generally recommended. The packing event also shows its practical payoff here: once a pallet is linked to its cases, later steps scan only the pallet and find the units from the record.
What changed in version 2.0?
- JSON and JSON-LD: Events can be written in JSON as well as XML, with compact forms such as
"bizStep": "shipping"for CBV values. - REST interface: REST bindings for capture and query sit alongside SOAP. The standard requires clients to authenticate on every API call.
- AssociationEvent: A new event type for lasting relationships.
- The how dimension and sensor data: Measurements became part of the event through
SensorElement. - Persistent disposition: The non-transient business state of an object can be held separately.
- GS1 Digital Link addresses: Objects can also be expressed with the web address structure used in QR codes.
Existing XML flows are not shut out. XML and SOAP remain in the standard.
Does every company need EPCIS?
The standard alone places no obligation on anyone. Demand usually comes from a customer specification or a sector rule. For a manufacturer sending regular files to a single buyer, an ERP integration is often enough. EPCIS becomes more valuable when several parties have to read the same product history.
There are three things it does not solve:
- Data quality: A scan that never happened on the line produces no event. Moving an empty record into EPCIS does not close the gap.
- Sharing decisions: Which company sees which event is agreed between the parties.
- Shared identifiers: If GTINs, serial numbers, SSCCs and location numbers are inconsistent, the events will not join up.
Before starting a project, answer these questions:
- Who will read the events, and for what purpose?
- What is the numbering level: batch or unit?
- Which points are scanned, and which produce no record today?
- Is the case and pallet relationship recorded?
- How are locations numbered?
- How will a wrong event be corrected? The standard provides a separate mechanism for declaring erroneous events.
We cover how to choose scan points in the article on setting up a product tracking system and the pallet number in the SSCC article.
Where does the Tagvex record fit?
Tagvex gathers changes of hands at end-of-line, warehouse, distributor and dealer points in a single record infrastructure, and connects those records to ERP, warehouse and other enterprise systems through its API. If a customer or a regulation requires data to be shared in EPCIS format, that requirement should be handled separately in the needs analysis.


