Core Business Vocabulary Modules

The Core Business Vocabulary (CBV) module is mostly a collection of enumerated values that, as such, make the development of CVB/EPCIS applications considerably easier and much less prone to error. For most Python development environments, this module will enable code-completion for the various enumerations within this module. To represent any of the enumeration values in your code as a python string, reference the .value property of the enum value in question. For example:

>>> from EPCPyYes.core.v1_2.CBV.dispositions import Disposition
>>> print(Disposition.encoded.value)

CBV Helper Functions

The helper functions assist in the creation of properly formed URN values for use in EPCIS events.

EPCPyYes.core.v1_2.CBV.helpers.get_ilmd_enum_by_value(value: str)[source]

Returns an enum in the ILMD module based on the inbound string value or None if no enum containing value is found. :param value: The value to search for.

EPCPyYes.core.v1_2.CBV.helpers.make_trade_item_master_data_urn(company_prefix, indicator_digit, item_reference, lot=None, serial_number=None)[source]

Create the right trade item master data urn based on supplied values per the section 9 and instructions in the standard.

  • company_prefix – Company prefix.

  • indicator_digit – Product indicator digit

  • item_reference – The Item reference number.

  • lot – (Optional) the lot number. If supplied, this will result in a lot-based identifier and the serial_number will be ignored.

  • serial_number – (Optional) the serial number of the trade item.


A properly formatted trade item master data urn value.

Business Steps (BizSteps)

The Business Steps enumerations make it easy for developers to programatically include the proper CBV compliant business step data in their events.

Click on the source link to see the enumeration values for business steps.

class EPCPyYes.core.v1_2.CBV.business_steps.BusinessSteps[source]

CVB 1.2 Business Steps as defined in section 7.1 of the standard.

Business Transactions (BizTransactions)

class EPCPyYes.core.v1_2.CBV.business_transactions.BusinessTransactionType[source]

Business Transaction Types as defined in section 7.3 of the standard.


class EPCPyYes.core.v1_2.CBV.dispositions.Disposition[source]

CBV Disposition values as defined in section 7.2 of the standard.

Error Reasons

class EPCPyYes.core.v1_2.CBV.error_reasons.ErrorReason[source]

As defined in section 7.5 of the CBV standard.

Trade Item Master Data

This section containes enumerations that specifie master data attributes that may be used to describe a trade item identifier that appears in the “what” dimension of an EPCIS event, including the EPC, Parent ID, and EPC Class fields.

Defined in section 9 of the CBV standard.

class EPCPyYes.core.v1_2.CBV.instance_lot_master_data.FarmListAttributeName[source]

An enumeration.

class EPCPyYes.core.v1_2.CBV.instance_lot_master_data.ILMDAttributeName[source]

An enumeration.

class EPCPyYes.core.v1_2.CBV.instance_lot_master_data.InstanceLotMasterDataAttribute(name: str, value: str)[source]

The ILMD class as defined in section 7.3.6 of the EPCIS standard and section 9 of the CBV.

Initializes a new InstanceLotMasterDataAttribute instance that is CBV 1.2 compliant.

  • name – An ILMDAttribute as defined in the CBV

  • value – The value of that attribute.

property name

Gets and sets this class’s ILMDAttributeName enum.


an ILMDAttributeName enum from the CBV instance_lot_master_data package. Use the value attribute of the returned enum to convert to a string.

property value

Gets and sets the value of the ILMD node. This value should be XML safe and is not auto-escaped.

class EPCPyYes.core.v1_2.CBV.instance_lot_master_data.ItemLevelAttributeName[source]

The following attributes may be used to describe a trade item identifier at the trade item (GTIN) level.

As defined in section 9.2.3

class EPCPyYes.core.v1_2.CBV.instance_lot_master_data.LotLevelAttributeName[source]

The following attributes may be used to describe a trade item identifier at the lot level.

As defined in section 9.2.2

class EPCPyYes.core.v1_2.CBV.instance_lot_master_data.MeasurementAttributeName[source]

Each value of type Measurement is a structure having the subelements represented in this enumeration.

As defined in seciton 9.2.4

class EPCPyYes.core.v1_2.CBV.instance_lot_master_data.TradeItemLevelAttributeName[source]

The following attributes may be used to describe a trade item identifier at the trade item (GTIN) level.

As defined in section 9.2.1

Location Party Master Data

This section contains enumerations and classes taht express master data attributes that may be used to describe a physical location identifier or party identifier. Physical location master data attributes may be used to describe a location identifier whether the location identifier is used as a EPCIS Read Point, Business Location, Source, or Destination. Party master data attributes may be used whether the party identifier is used as an EPCIS Source or Destination.

Defined in section 10 of the CBV standard.

class EPCPyYes.core.v1_2.CBV.location_party_master_data.LocationEnum[source]

An enumeration.

class EPCPyYes.core.v1_2.CBV.location_party_master_data.LocationPartyMasterDataAttributes[source]

As defined in section 10.2

class EPCPyYes.core.v1_2.CBV.location_party_master_data.SubSiteAttributesMasterDataAttribute[source]

As defined in section 10.3.2

class EPCPyYes.core.v1_2.CBV.location_party_master_data.SubSiteTypeMmasterDataAttribute[source]

As defined in section 10.3.1

class EPCPyYes.core.v1_2.CBV.source_destination.SourceDestinationTypes[source]

Source Destination Types as defined in section 7.4 of the document.