# Supply Chain Traceability Design (EPCIS): [Programme or network name]

> Solution design for supply chain event visibility: which physical and
> digital events are captured, with which identifiers and vocabulary,
> how they are shared with trading partners, and how they answer
> traceability, recall and product passport questions. It follows the
> GS1 EPCIS Standard Release 2.0 and the Core Business Vocabulary (CBV)
> Release 2.0, both ratified by GS1 in June 2022, with GS1 identifiers
> and GS1 Digital Link URIs. Regulatory drivers (EU product passports,
> US food traceability) are summarised for planning only. Replace every
> `[bracketed]` value and every row marked *Example*. This is a
> documentation format, not legal advice: check the current official
> texts with a qualified professional.

<!--
Guidance: How to use this template
- Write one design per traceability programme (one product family or one
  partner network). Start from the questions the data must answer
  (section 1), then the events (section 3), not from the technology.
- Fill the critical tracking events and key data elements first: they
  decide what every site must capture.
- Example identifiers use the GS1 company prefix 952, which GS1 reserves
  for examples and demonstrations; replace them with your own.
- Related documents: B2B EDI and file transfer design
  (`architecture/b2b-edi-file-transfer-design`), Event-driven
  architecture design (`architecture/event-driven-architecture-design`),
  Master data management design (`architecture/master-data-management-design`),
  Event API specification (`architecture/event-api-specification`),
  Manufacturing integration on ISA-95 (`industry/manufacturing-isa95-integration`).
-->

## Document control

<!-- Guidance: Record the EPCIS and CBV releases used and the partners in scope. A new event type or partner group is a minor version. -->

| Field | Value |
|---|---|
| Document ID | [TRC-001] |
| Programme | [*Example:* Fresh produce traceability, Fenwardine Foods (fictional)] |
| Standards | [EPCIS 2.0, CBV 2.0, GS1 Digital Link] |
| Version | [0.1] |
| Status | [Draft / In review / Approved / Superseded] |
| Owner | [@traceability-architect] |
| Approvers/reviewers | [@supply-chain-director], [@quality-lead], [@it-integration-lead], [@compliance-lead] |
| Last updated | YYYY-MM-DD |

### Revision history

| Version | Date | Author | Change summary |
|---|---|---|---|
| 0.1 | YYYY-MM-DD | [@name] | First draft |
| 1.0 | YYYY-MM-DD | [@name] | *Example:* Approved for pilot with three suppliers |

## 1. Questions and drivers

<!-- Guidance: List the questions the event data must answer and who asks them. Each question becomes a query to test in section 7. -->

| ID | Question | Asked by | Driver |
|---|---|---|---|
| QST-001 *(Example)* | Which customers received lot L-2611 within 24 hours of a recall decision? | Quality, regulator | Food safety recall |
| QST-002 *(Example)* | Where is pallet SSCC 095212340000001232 now, and was the cold chain kept? | Logistics | Service level |
| QST-003 *(Example)* | Which input lots went into finished lot L-2611? | Quality | Transformation trace |
| QST-004 *(Example)* | What product passport data must be available for this item? | Product compliance | EU product rules |

Regulatory context to check (examples, dated):

- US: the FDA food traceability rule under FSMA section 204 requires
  records of key data elements for critical tracking events for foods on
  the Food Traceability List. FDA states that the compliance date is
  20 July 2028 (moved from 20 January 2026). Check the FDA page.
- EU: Regulation (EU) 2024/1781 on ecodesign for sustainable products
  sets the framework for digital product passports, applied product
  group by product group through delegated acts; the Batteries
  Regulation (EU) 2023/1542 requires a battery passport for certain
  batteries from 18 February 2027. Check EUR-Lex and the Commission's
  pages for the current timetable.
- UK: check sector rules for the products in scope, such as food
  traceability under assimilated food law (the UK's
  version of Regulation (EC) No 178/2002).

## 2. Identifiers and master data

<!-- Guidance: Name the identifier for each thing, place and party, at which level (class, lot or instance), and the master data that goes with it. Use the same identifiers in events, labels and EDI messages. -->

| ID | Object | Identifier | Level | Example |
|---|---|---|---|---|
| IDT-001 *(Example)* | Trade item | GTIN | Class | 09521234543213 |
| IDT-002 *(Example)* | Trade item lot | GTIN plus batch or lot | Lot | 09521234543213, lot L-2611 |
| IDT-003 *(Example)* | Serialised item | GTIN plus serial (SGTIN) | Instance | https://id.gs1.org/01/09521234543213/21/A1B2C3 |
| IDT-004 *(Example)* | Logistic unit | SSCC | Instance | https://id.gs1.org/00/095212340000001232 |
| IDT-005 *(Example)* | Location | GLN | Place | https://id.gs1.org/414/9521234000105 (packing site), 9521234000204 (distribution centre), 9521234000303 (store) |
| IDT-006 *(Example)* | Business transaction | Purchase order and despatch advice numbers | Document | PO-7781, DESADV-5521 |

Master data (product descriptions, location addresses, party names) is
shared once through master data channels, not repeated in every event.

## 3. Critical tracking events

<!-- Guidance: List each business step where an event is captured, with its EPCIS event type and CBV business step. EPCIS 2.0 has five event types: ObjectEvent, AggregationEvent, TransactionEvent, TransformationEvent and AssociationEvent. -->

| ID | Business step | Site | EPCIS event type | Action | CBV bizStep | CBV disposition |
|---|---|---|---|---|---|---|
| CTE-001 *(Example)* | Harvest and labelling of lot | Farm | ObjectEvent | ADD | commissioning | active |
| CTE-002 *(Example)* | Packing cases onto a pallet | Packing site | AggregationEvent | ADD | packing | in_progress |
| CTE-003 *(Example)* | Shipping to distribution centre | Packing site | ObjectEvent | OBSERVE | shipping | in_transit |
| CTE-004 *(Example)* | Receiving at distribution centre | Distribution centre | ObjectEvent | OBSERVE | receiving | in_progress |
| CTE-005 *(Example)* | Processing into a new product | Processing plant | TransformationEvent | Not applicable | [CBV value for the step] | active |
| CTE-006 *(Example)* | Linking a temperature logger to a pallet | Packing site | AssociationEvent | ADD | [CBV value for the step] | active |
| CTE-007 *(Example)* | Linking shipment to purchase order | Packing site | TransactionEvent | ADD | shipping | in_transit |

Each event answers what (identifiers or quantities), when (event time
and time zone offset), where (read point and business location), why
(business step, disposition, transactions, source and destination) and,
new in EPCIS 2.0, how (sensor data such as temperature).

### 3.1 Example event

*Example:* the shipping event CTE-003 in the EPCIS 2.0 JSON-LD binding.

```json
{
  "@context": ["https://ref.gs1.org/standards/epcis/2.0.0/epcis-context.jsonld"],
  "type": "EPCISDocument",
  "schemaVersion": "2.0",
  "creationDate": "2026-11-03T08:15:00Z",
  "epcisBody": {
    "eventList": [
      {
        "type": "ObjectEvent",
        "eventTime": "2026-11-03T09:02:11+01:00",
        "eventTimeZoneOffset": "+01:00",
        "epcList": ["https://id.gs1.org/00/095212340000001232"],
        "action": "OBSERVE",
        "bizStep": "shipping",
        "disposition": "in_transit",
        "readPoint": {"id": "https://id.gs1.org/414/9521234000105"},
        "bizTransactionList": [
          {"type": "po", "bizTransaction": "urn:example:po:PO-7781"}
        ]
      }
    ]
  }
}
```

## 4. Event capture and sharing architecture

<!-- Guidance: Describe where events are created (scanners, ERP, warehouse system), where they are stored (EPCIS repository) and how partners get them (query interface, subscriptions, files). -->

```mermaid
flowchart LR
  Scan["Scanners and RFID readers"] --> WMS["Warehouse and ERP systems"]
  WMS -->|EPCIS capture| Repo["EPCIS repository"]
  Logger["Temperature loggers"] -->|sensor data| Repo
  Repo -->|query and subscriptions| Partner["Partner repositories"]
  Repo -->|traceability queries| Quality["Quality and recall tools"]
  Repo -->|passport data| DPP["Product passport service"]
```

| ID | Decision | Choice |
|---|---|---|
| ARC-001 *(Example)* | Repository | One EPCIS 2.0 repository per company, hosted by [provider] |
| ARC-002 *(Example)* | Capture interface | EPCIS 2.0 REST capture with JSON-LD documents |
| ARC-003 *(Example)* | Sharing model | Each partner keeps its own events; others query with access rights (no central copy) |
| ARC-004 *(Example)* | Access control | Partners see only events about items they bought, sold or handled |
| ARC-005 *(Example)* | Corrections | Errors corrected with error declarations and new events, never by editing stored events |

## 5. Data quality and governance

<!-- Guidance: State the rules that make events usable: completeness, timeliness, identifier validity, and who owns fixes. -->

| ID | Rule | Measure | Target |
|---|---|---|---|
| DQ-001 *(Example)* | Every shipped pallet has a shipping and a receiving event | Share of pallets with both events | 99.5 percent |
| DQ-002 *(Example)* | Events captured within 15 minutes of the business step | Capture delay | 95 percent within target |
| DQ-003 *(Example)* | Identifiers pass check digit and master data validation | Rejected events | Under 0.5 percent |

*Example:* in a pilot week 2,400 pallets shipped and 2,388 had a matching
receiving event: 2,388 / 2,400 = 99.5 percent, which meets DQ-001.

## 6. Partner onboarding

<!-- Guidance: List what each partner must provide and the order of onboarding. Start with the largest volume partners. -->

| ID | Partner | Role | Events required | Status |
|---|---|---|---|---|
| PTN-001 *(Example)* | [Grower cooperative] | Supplier | CTE-001 to CTE-003 | Pilot |
| PTN-002 *(Example)* | [Third-party logistics provider] | Carrier and warehouse | CTE-004, CTE-006 | Planned |
| PTN-003 *(Example)* | [Retailer] | Customer | Receiving events | Planned |

## 7. Testing

<!-- Guidance: Test with the questions from section 1, on real pilot data. -->

| ID | Test | Exit criterion |
|---|---|---|
| TST-001 *(Example)* | Recall query QST-001 on pilot data | Full customer list within 24 hours |
| TST-002 *(Example)* | Transformation trace QST-003 | All input lots found |
| TST-003 *(Example)* | Schema validation of captured documents | All documents valid against EPCIS 2.0 |

## 8. Glossary and references

<!-- Guidance: Define terms for partners new to EPCIS. -->

| Term | Meaning |
|---|---|
| EPCIS | GS1 standard for capturing and sharing visibility event data |
| CBV | GS1 Core Business Vocabulary with standard values for business steps and dispositions |
| CTE | Critical tracking event: a step where traceability data must be recorded |
| KDE | Key data element: data that must be recorded for a CTE |
| SSCC | Serial Shipping Container Code for a logistic unit |
| GS1 Digital Link | Web URI syntax for GS1 identifiers |

| Reference | Version or date | Access |
|---|---|---|
| GS1 EPCIS Standard | Release 2.0, ratified June 2022 | https://ref.gs1.org/standards/epcis/ |
| GS1 Core Business Vocabulary | Release 2.0, ratified June 2022 | https://ref.gs1.org/standards/cbv/ |
| FDA FSMA food traceability rule | Compliance date 20 July 2028 | https://www.fda.gov/food/food-safety-modernization-act-fsma/fsma-final-rule-requirements-additional-traceability-records-certain-foods |
| Regulation (EU) 2024/1781; Regulation (EU) 2023/1542 | Consolidated texts, checked YYYY-MM-DD | EUR-Lex |

## Standard and licence note

Based on the GS1 EPCIS Standard Release 2.0 and the Core Business
Vocabulary Release 2.0, which GS1 publishes free of charge, and on
public legal texts named above. Event type names, vocabulary values and
the JSON-LD context URL are used for interoperability; no standard text
is reproduced, and all descriptions are original text written for this
collection. Check the current GS1 releases and the official legal texts
before use. This is a documentation format, not legal advice. GS1 and
EPCIS are trademarks of GS1 AISBL; this template is not affiliated with
or endorsed by GS1. Template licence: MIT.
