Commission

Purpose: Introduces a product into the supply chain and creates a new Electronic Product Code (EPC) object.

Example: Packaging and labeling a product at the manufacturer before distribution.

Key elements:

  • Involves parentID (optional) or childEPCs and/or childQuantityList.
  • May include Instance/Lot Master Data (ILMD) , such as batch number or expiration date.
  • Records ownership, location, and status of newly created items.

XML payload fields

The following table describes EPCIS XML document payload fields applicable to commission events.

NameTypeDescriptionRequiredExample
eventTimestringSpecifies the UTC time in ISO 8601 format when the aggregation event occurred.Yes<eventTime>2013-06-08T14:58:56.591Z</eventTime>
eventTimeZoneOffsetstringSpecifies the time zone offset where the event occurred, expressed as an offset from UTC.Yes<eventTimeZoneOffset>+02:00</eventTimeZoneOffset>
epcListlistSpecifies a list of commissioned instance level objects (SGTIN, FTLPN, SFTPI) in an EPCIS commission event. LGTINs and other class level objects are specified in the quantityList tag. The Key concepts and glossary section has more information on instance level objects.

SGTIN syntax: urn:epc:id:sgtin:CompanyPrefix.IndicatorDigitAndItemRef.SerialNumber

  • CompanyPrefix.ItemRefAndIndicator should have 13 digits without counting the dot separator.
  • CompanyPrefix is equal to the CompanyPrefix derived from GTIN-14.
  • ItemRefAndIndicator is formed by concatenating the first digit (the indicator digit) from GTIN-14 with ItemRef digits from GTIN-14.
  • GTIN-14 check digit is dropped.
  • GTIN-12 or GTIN-13 should first be converted to GTIN-14 by adding leading 0s before above conversion.



Yes<epcList> <epc>urn:epc:id:sgtin:0614141.107346.2017\</epc> </epcList>
actionstringSpecifies the action of the EPCIS event. For commission events, the action is ADD.Yes<action>ADD</action>
bizStepstringSpecifies the business step that this event was a part of.

Valid bizStep values are:

  • accepting
  • arriving
  • assembling
  • collecting
  • commissioning
  • consigning
  • creating_class_instance
  • cycle_counting
  • decommissioning
  • departing
  • destroying
  • disassembling
  • dispensing
  • encoding
  • entering_exiting
  • holding
  • inspecting
  • installing
  • killing
  • loading
  • other
  • packing
  • picking
  • receiving
  • removing
  • repackaging
  • repairing
  • replacing
  • reserving
  • retail_selling
  • shipping
  • staging_outbound
  • stock_taking
  • stocking
  • storing
  • transforming (deprecated for use with EPCIS 1.2)
  • transporting
  • unloading
  • unpacking
  • void_shipping


For more information, see the Core Business Vocabulary Standard Section 7.1.3 (PDF) .
No<bizStep>urn:epcglobal:cbv:bizstep:packing</bizStep>
dispositionstringSpecifies the condition of the objects after this event.
Valid disposition values are:

  • active
  • container_closed
  • damaged
  • destroyed
  • dispensed
  • disposed
  • encoded
  • expired
  • in_progress
  • in_transit
  • inactive
  • no_pedigree_match
  • non_sellable_other
  • partially_dispensed
  • recalled
  • reserved
  • retail_sold
  • returned
  • sellable_accessible
  • sellable_not_accessible
  • stolen
  • unknown


For more information, see the Core Business Vocabulary Standard Section 7.2.3 (PDF) .
No<disposition>urn:epcglobal:cbv:disp:in_progress</disposition>
readPointstringSpecifies the Serial Global Location Number (SGLN) where the read event occurred. Used to indicate an event location other than the mandatory bizLocation.
SGLN sytax:
urn:epc:id:sgln:CompanyPrefix.LocationReference.Extension

CompanyPrefix.LocationReference are the first 12 digits of the Global Location Number (GLN).The 13th check digit is not included. The extension can be a single 0 digit (denoting no extension), or can be any number of digits without leading zeros.
No<readPoint><id>urn:epc:id:sgln:0614141.00777.0</id></readPoint>
bizLocationstringSpecifies the Serial Global Location Number (SGLN) for the business where the aggregation event occurred.Yes<bizLocation><id>urn:epc:id:sgln:0614141.00888.0</id></bizLocation>
bizTransactionListlistSpecifies a list of business transactions associated with this event. The bizTransactionList element is required when this event is used to indicate a receiving shipment from a supplier to a retailer. The bizTransactionList should include a purchase order (PO) number.No<bizTransactionList> <bizTransaction type="urn:epcglobal:cbv:btt:po">urn:epcglobal:cbv:bt:5412345000037:3352</bizTransaction> <bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:5412345000037:3352-349875</bizTransaction> </bizTransactionList>
bizTransactionList.bizTransactionstringSpecifies a business transaction associated with the aggregation event. Valid bizTransaction attribute types are:

  • po
  • bol
  • desadv
  • inv
  • pedigree
  • poc
  • prodorder
  • recadv
  • rma


Syntax: urn:epcglobal:cbv:bt:GLN:TransactionID

TransactionID can be specified in two ways, depending on the attribute type that is defined. For purchase orders when the attribute type is defined as urn:epcglobal:cbv:btt:po, only the purchase order number is needed in the TransactionID. For dispatch advice when the attribute type is defined as urn:epcglobal:cbv:btt:desadv, then the TransactionID should be defined as PO-BOL, where PO is the purchase order number and BOL is the bill of lading number.
NoThe following example uses the urn:epcglobal:cbv:btt:po attribute type to indicate the identifier for a purchase order that is sent from a retailer to the supplier:

<bizTransaction type="urn:epcglobal:cbv:btt:po">urn:epcglobal:cbv:bt:5412345000037:3352</bizTransaction>

The following example uses the urn:epcglobal:cbv:btt:desadv attribute type to indicate the identifier for a dispatch advice that is sent from a supplier to the retailer:

<bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:5412345000037:3352-349875</bizTransaction>
extension.quantityListlistSpecifies a list of commissioned class level objects like LGTINS (GTIN+lot) along with the quantity and unit of measure. LGTINs should be constructed to be as unique as possible by concatenating the time and date of creation with the object identifier.

LGTIN syntax: urn:epc:class:lgtin:CompanyPrefix.IndicatorDigitAndItemRef.Lot

  • CompanyPrefix.ItemRefAndIndicator should have 13 digits without counting the decimal separator.
  • CompanyPrefix is equal to the CompanyPrefix derived from GTIN.
  • ItemRefAndIndicator is formed by concatenating the first (indicator) digit from the GTIN with the ItemRef digits from the GTIN.
  • Drop the GTIN check digit.


If a GTIN without a lot number is specified, use the following syntax: urn:epc:idpat:sgtin:CompanyPrefix.ItemRefAndIndicator.*
where CompanyPrefix.ItemRefAndIndicator is 13 digits as defined above.For more information, see the Core Business Vocabulary Standard Section 8.3.1 (PDF) .

This element is required if the epcList element is not populated.
No<quantityList> <quantityElement> <epcClass>urn:epc:class:lgtin:0614141.107346.101</epcClass> <quantity>10</quantity> <uom>CS</uom> </quantityElement> </quantityList>
extension.quantityList.quantityElementlistSpecifies one or more epcClass tags defining additional LGTINs that contain the quantity and uom definitions for each item.

This element is required if the quantityList is specified.
No<quantityElement> <epcClass>urn:epc:class:lgtin:0030223.104480.214</epcClass> <quantity>214</quantity> <uom>CS</uom> </quantityElement>
extension.quantityList.quantityElement.epcClassstringSpecifies class-level EPCs, such as LGTINs.

This element is required if the quantityElement is specified.
NoThis example defines that 10 cases of LGTIN 0614141.107346 belong to lot 101.

<epcClass>urn:epc:class:lgtin:0614141.107346.101</epcClass>
extension.quantityList.quantityElement.quantitydecimalSpecifies the quantity of items.

This element is required if the quantityElement is specified.
No<quantity>10</quantity>
extension.quantityList.quantityElement.uomstringSpecifies the item quantity unit of measurement, such as cases (CS), each (EA), pounds (LBR), or kilograms (KGM).

For more information about units of measure for international trade, see Units of Measure: Code Elements Listed by Name (PDF) and Units of Measure: Code Elements Listed by Common Code (PDF).

This element is required if the quantityElement is specified.
No<uom>CS</uom>
extension.sourceListlistA list of source elements that specifies the serialized global location number (SGLN) of the facility or facilities that goods are being sent from.

The prefix of the type attribute starts with urn:epcglobal:cbv:sdt: and is followed by owning_party, possessing_party, or location. The attribute type must be specified in all lowercase letters. One or more source elements can be specified.

This element is required if the aggregation event involves a transfer of goods, such as a shipment from supplier to retailer.
No
urn:epc🆔sgln:0614141.00001.0





extension.destinationListlistA list of destination elements that specifies the SGLN of the receiving facility or facilities where goods are shipped to.

The prefix of the type attribute starts withurn:epcglobal:cbv:sdt: and is followed by owning_party, possessing_party, or location. The attribute type must be specified in all lowercase letters. One or more destination elements can be specified.

This element is required if the aggregation event involves a transfer of goods, such as a shipment from supplier to retailer.
No<destinationList> <destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:5012345.00001.0</destination> </destinationList>

ILMD extension fields

Instance/Lot Master Data (ILMD) enables tracking and monitoring of individual items within the supply chain. ILMD identifies and traces products at the item level, providing accurate and detailed information about the location, status, and condition. This helps improve supply chain efficiency, reduce errors, enhance visibility, and enable better inventory management.

The cbvmda namespace is used for specifying master data attributes that may be used to describe a physical location identifier or party identifier. Master data is associated with new item instances or lots. Expiration dates, sell by, and best before dates are often queried, and should be included wherever applicable. ILMD applies to all SGTIN, LGTIN, and SSCC objects in the epcList and quantityList tags. ILMD should include one or more elements from Core Business Vocabulary Standard Section 9.2 (PDF) . Use the ISO 3166-1 alpha-2 country code format (or numeric-3 format for script independence) to specify the countryOfOrigin.

NameTypeDescriptionRequiredExample
itemExpirationDatedate or date-timeSpecifies a date in ISO 8601 format

Use yyyy-mm-dd. for simple dates. Use UTC date-time format for date-timestamps.

This parameter defines the date after which the product should not be used or consumed. For food items, the date indicates the possibility of a direct health risk resulting from use of the product after the specified date.
No<itemExpirationDate>2026-08-01</itemExpirationDate>
sellByDatedateSpecifies the date by which the product should be sold.No<sellByDate>2026-08-01</sellByDate>
bestBeforeDatedateSpecifies the date before which the product is best used or consumed.No<bestBeforeDate>2026-06-01</bestBeforeDate>
lotNumberstringSpecifies a distinctive combination of numbers or letters from which the complete history of the manufacture, processing, packaging, coding and distribution of a batch can be determined.

Maximum string length: 20 characters.
No101
farmListlistSpecifies a list of one or more farms that contains identification and information about the type of farm at the location.No<farmList><farmIdentification>urn:epc:id:sgln:0614141.00001.0</farmIdentification><farmIdentificationTypeCode>EPC-SGLN</farmIdentificationTypeCode></farmList>
farmList.farmIdentificationstringSpecifies an identifier for the farm. The identifier is a GS1 Global Location Number (GLN), expressed as a GLN EPC URI.Nourn:epc:id:sgln:0614141.00001.0
farmList.farmIdentificationTypeCodestringSpecifies the farm identification type.NoEPC-SGLN

XML payload examples

The following sections provide two EPCIS aggregation event XML documents.

Annotated payload

This example provides an annotated XML payload. Remove the comments in this XML file before sending data to the blockchain.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<epcis:EPCISDocument xmlns:epcis="urn:epcglobal:epcis:xsd:1" xmlns:cbvmda="urn:epcglobal:cbv:mda" xmlns:example="http://ns.example.com/epcis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creationDate="2005-07-11T11:30:47.0Z" schemaVersion="1.2"> <EPCISBody> <EventList> <ObjectEvent> <eventTime>2013-06-08T14:58:56.591Z</eventTime> <--! WHEN--> <--! MANDATORY. UTC time (ISO 8601) when event occurred.--> <eventTimeZoneOffset>+02:00</eventTimeZoneOffset> <--! MANDATORY. Time-zone of location, as an offset from UTC.--> <baseExtension> <eventID>urn:uuid:6926712e-599f-4c4e-b6e9-8dd888c906bd</eventID> <--! OPTIONAL. A unique ID (UUID) for the event. If not specified, the system generates an event ID.--> <--! RECOMMENDED. Supply a unique eventID (UUID) for disambiguation.--> </baseExtension> <epcList> <epc>urn:epc:id:sgtin:0614141.107346.2017</epc> <--! Additional entries go here--> </epcList> <--! WHAT--> <--! MANDATORY, but can be empty, if quantityList (see below) is present--> <--! List of commissioned instance-level objects (SSCC, SGTIN, FTLPN, SFTPI).--> <--! LGTINs and other class-level objects go in quantityList (see below)--> <--! General SGTIN syntax: urn:epc:id:sgtin:CompanyPrefix.IndicatorDigitAndItemRef.SerialNumber--> <--! CompanyPrefix.ItemRefAndIndicator should have 13 digits (without counting dots).--> <--! CompanyPrefix is equal to the CompanyPrefix derived from GTIN-14.--> <--! ItemRefAndIndicator is formed by concatenating the first digit (Indicator) from GTIN-14 with ItemRef digits from GTIN-14.--> <--! GTIN-14 check digit is dropped.--> <--! GTIN-12 or GTIN-13 should first be converted to GTIN-14 by adding leading 0s before above conversion.--> <--! General EPC SSCC syntax: urn:epc:id:sscc:CompanyPrefix.SerialRefAndExtension--> <--! EPC SSCC is 17 digits--> <--! CompanyPrefix is equal to the CompanyPrefix in GS1 SSCC--> <--! SerialReferenceAndExtension is formed by concatenating the first digit (Extension) from GS1 SSCC with SerialRef digits from GS1 SSCC.--> <--! GS1 SSCC check digit is dropped.--> <action>ADD</action> <--! MANDATORY. EPCIS action. Don't change this.--> <bizStep>urn:epcglobal:cbv:bizstep:creating_class_instance</bizStep> <--! OPTIONAL. From Section 7.1.3 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-r-2016-09-29.pdf--> <--! The business step that this event was a part of.--> <--! The business step should be "creating_class_instance" for commissioning lots, and "commissioning" for commissioning serials--> <--! Custom bizSteps are supported, in the format http://<client-controlled-domain-name/path/biz_step_name>--> <--! Custom bizStep example: http(s)://epcis.company.com/bizStep/roasting_duck_batch--> <disposition>urn:epcglobal:cbv:disp:active</disposition> <--! OPTIONAL. From Section 7.2.3 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-r-2016-09-29.pdf--> <--! The condition of the objects after this event.--> <readPoint><id>urn:epc:id:sgln:0614141.00777.0</id></readPoint> <--! OPTIONAL: SGLN, FTLI, or SFTLI where the read occurred. Used to indicate an event location other than the mandatory bizLocation.--> <--! General syntax of SGLN: urn:epc:id:sgln:CompanyPrefix.LocationReference.Extension--> <--! CompanyPrefix.LocationReference are the first 12 digits of GLN (13th check digit is not included).--> <--! Extension can be a single 0 digit (denoting no extension), or can be any number of digits without leading zeros--> <bizLocation><id>urn:epc:id:sgln:0614141.00888.0</id></bizLocation> <--! WHERE--> <--! MANDATORY: SGLN (extensible global location number), FTLI, or SFTLI for the business location where the event occurred.--> <bizTransactionList> <bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:5412345000037:3352-349875</bizTransaction> <--! Additional entries go here--> </bizTransactionList> <--! WHY--> <--! OPTIONAL. From Page 28 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-1-r-2017-05-05.pdf --> <--! List of business transactions associated with this event.--> <--! The example above shows a despatch advice (ASN)--> <--! General EPCIS transaction id format: urn:epcglobal:cbv:bt:GLN:TransactionID--> <--! See transaction XMLs for TransactionID format.--> <extension> <quantityList> <quantityElement> <epcClass>urn:epc:class:lgtin:0614141.107346.101</epcClass> <--! MANDATORY for quantityElement. Class-level EPCs like LGTINs. See note below for description.--> <quantity>10</quantity> <--! MANDATORY for quantityElement.--> <--! Meaning: 10 cases of LGTIN '0614141.107346' belonging to lot '101'--> <uom>CS</uom> <--! MANDATORY for quantityElement. Item quantity unit of measurement. "CS" = Case.--> <--! Two or three-character codes from UN/CEFACT Recommendation 20.--> <--! Other examples: EA (each), LBR (pound), KGM (kilogram).--> <--! See https://www.unece.org/fileadmin/DAM/cefact/recommendations/rec20/rec20_rev3_Annex2e.pdf and--> <--! https://www.unece.org/fileadmin/DAM/cefact/recommendations/rec20/rec20_rev3_Annex3e.pdf.--> </quantityElement> <--! Additional quantityElement entries go here.--> </quantityList> <--! WHAT--> <--! MANDATORY that quantityList be present if epcList is empty.--> <--! List of commissioned class-level objects like LGTINS (GTIN+lot) along with their quantity and unit of measure.--> <--! LGTINs should be constructed to be as unique as possible; by concatenating time/date of creation with object id, e.g.--> <--! General LGTIN syntax: urn:epc:class:lgtin:CompanyPrefix.IndicatorDigitAndItemRef.Lot--> <--! CompanyPrefix.ItemRefAndIndicator should have 13 digits (without counting dots).--> <--! CompanyPrefix is equal to the CompanyPrefix derived from GTIN.--> <--! ItemRefAndIndicator is formed by concatenating the first digit (Indicator) from GTIN with ItemRef digits from GTIN.--> <--! GTIN check digit is dropped.--> <--! If a GTIN (without lot) is to be represented, the following syntax is used:--> <--! From Page 35 of https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-1-r-2017-05-05.pdf:--> <--! urn:epc:idpat:sgtin:CompanyPrefix.ItemRefAndIndicator.* where --> <--! CompanyPrefix.ItemRefAndIndicator is 13 digits as above.--> <sourceList> <source type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:0614141.00001.0</source> <--! Additional source entries go here.--> <--! OPTIONAL: SGLN of the facility or facilities that goods are being sent from.--> <--! MANDATORY if this event involves a transfer of goods.--> </sourceList> <destinationList> <destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:5012345.00001.0</destination> <--! Additional destination entries go here.--> <--! OPTIONAL: SGLN of the receiving facility or facilities.--> <--! MANDATORY if this event involves a transfer of goods. --> </destinationList> <ilmd> <cbvmda:itemExpirationDate>2015-03-15</cbvmda:itemExpirationDate> <cbvmda:sellByDate>2015-03-15</cbvmda:sellByDate> <cbvmda:bestBeforeDate>2015-03-15</cbvmda:bestBeforeDate> <cbvmda:farmList> <cbvmda:farm> <cbvmda:farmIdentification>urn:epc:id:sgln:0614141.00001.0</cbvmda:farmIdentification> <cbvmda:farmIdentificationTypeCode>EPC-SGLN</cbvmda:farmIdentificationTypeCode> </cbvmda:farm> </cbvmda:farmList> <cbvmda:lotNumber>101</cbvmda:lotNumber> </ilmd> <--! OPTIONAL in general: Master data associated with the created item instances or lots.--> <--! Expiration/sell-by/best-before dates are especially important from a query perspective, and should be included wherever applicable.--> <--! Dates must follow ISO 8601 format yyyy-mm-dd and dates with times must follow ISO 8601 format in UTC time.--> <--! ILMD applies to all objects in epcList and quantityList (SGTIN/LGTIN/SSCC/...)--> <--! ILMD should include one or more elements from Section 9.2 in:--> <--! https://www.gs1.org/sites/default/files/docs/epc/CBV-Standard-1-2-1-r-2017-05-05.pdf--> <--! Elements from Section 9.2 (e.g. expiration date) are allowed to be directly specified for both item instances and lots.--> <--! countryOfOrigin should use ISO 3166-1 alpha-2 (per CBV 1.2) or numeric-3 (for script-independence) code.--> </extension> </ObjectEvent> </EventList> </EPCISBody>
</epcis:EPCISDocument>

Ready to use

The following XML file is ready to use. Define your own values for each tag, then send the data to the blockchain.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<epcis:EPCISDocument xmlns:epcis="urn:epcglobal:epcis:xsd:1" xmlns:cbvmda="urn:epcglobal:cbv:mda" xmlns:example="http://ns.example.com/epcis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creationDate="2005-07-11T11:30:47.0Z" schemaVersion="1.2"> <EPCISBody> <EventList> <ObjectEvent> <eventTime>2013-06-08T14:58:56.591Z</eventTime> <eventTimeZoneOffset>+02:00</eventTimeZoneOffset> <baseExtension> <eventID>urn:uuid:6926712e-599f-4c4e-b6e9-8dd888c906bd</eventID> </baseExtension> <epcList> <epc>urn:epc:id:sgtin:0614141.107346.2017</epc> </epcList> <action>ADD</action> <bizStep>urn:epcglobal:cbv:bizstep:creating_class_instance</bizStep> <disposition>urn:epcglobal:cbv:disp:active</disposition> <readPoint><id>urn:epc:id:sgln:0614141.00777.0</id></readPoint> <bizLocation><id>urn:epc:id:sgln:0614141.00888.0</id></bizLocation> <bizTransactionList> <bizTransaction type="urn:epcglobal:cbv:btt:desadv">urn:epcglobal:cbv:bt:5412345000037:3352-349875</bizTransaction> </bizTransactionList> <extension> <quantityList> <quantityElement> <epcClass>urn:epc:class:lgtin:0614141.107346.101</epcClass> <quantity>10</quantity> <uom>CS</uom> </quantityElement> </quantityList> <sourceList> <source type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:0614141.00001.0</source> </sourceList> <destinationList> <destination type="urn:epcglobal:cbv:sdt:owning_party">urn:epc:id:sgln:5012345.00001.0</destination> </destinationList> <ilmd> <cbvmda:itemExpirationDate>2015-03-15</cbvmda:itemExpirationDate> <cbvmda:sellByDate>2015-03-15</cbvmda:sellByDate> <cbvmda:bestBeforeDate>2015-03-15</cbvmda:bestBeforeDate> <cbvmda:farmList> <cbvmda:farm> <cbvmda:farmIdentification>urn:epc:id:sgln:0614141.00001.0</cbvmda:farmIdentification> <cbvmda:farmIdentificationTypeCode>EPC-SGLN</cbvmda:farmIdentificationTypeCode> </cbvmda:farm> </cbvmda:farmList> <cbvmda:lotNumber>101</cbvmda:lotNumber> </ilmd> </extension> </ObjectEvent> </EventList> </EPCISBody>
</epcis:EPCISDocument>