EPCIS Workbench Guide

This guide will help you get started with the EPCIS Workbench and walk you through generating valid EPCIS files for DSCSA compliance.

image

Updated on: 02/10/2026

The DSCSA requires pharmaceutical trading partners to exchange product and event data in a standardized format. EPCIS has become the cornerstone for meeting these requirements.

In the following sections, you’ll learn step-by-step how to use the EPCIS Workbench to create, validate, and send EPCIS data.

Note: Trust.med does not generate EPCIS data on your behalf. Instead, the EPCIS Workbench tool enables you to create EPCIS documents that can be exchanged with your trading partners through DataX, the regulatory data exchange system developed by Trust.med.

For support outside the scope of this guide, contact support@trust.med.

Accessing the Trust.med EPCIS Workbench Tool

Login to the Trust.med dashboard.
Access your dashboard by visiting: https://dashboard.trust.med

pre-login-screen

Select ‘Log in’ in the upper right corner and enter your details on the login screen.

login-screen

The EPCIS workbench tool can be accessed from the left hand navigation menu of the Trust.med dashboard. It is in the tools section. 

Group 1

After selecting the EPCIS workbench tool you are presented with a table of previously started EPCIS documents.
If this is your first time using the EPCIS workbench the table will be empty.

epcis-created-documents-table

All of your EPCIS documents are presented in the table. Regardless of their completeness. This allows you to start an EPCIS document, save your progress, and return back to the document if needed. 

You can edit your previously created documents as needed by selecting the ‘Action’ button next to the file you would like to edit.

You can start a new document by selecting the ‘New’ button in the top right corner of the table. 

new-epcis-button

Creating a new EPCIS Document

After selecting the ‘New’ button from the list of EPCIS documents you will be presented with a form. This form gives a title to your document so that you can easily locate it later.

new-epcis-setup-page

Complete the fields to start the creation of a new EPCIS document. 

If you need to return to the list of previously created EPCIS documents select the ‘Back’ button.

Document Name: The name you choose is used to identify the document within the Trust.med dashboard and is not used in the actual EPCIS document creation. Example: Document for Shipment 123 

EPCIS-version-dropdown

Document Version: Select the dropdown to select the EPCIS schema standard version. At this time version 1.2 is the most widely accepted version of the EPCIS schema and the only version acceptable at this time. 

Specification R1.3 is not a document version, but is a general specification that can be used with Document Version 1.2. This system is set to follow R1.3 where applicable and available.

EPCIS-date-dropdown

Creation Date:

Select the date you would like to show in the EPCIS document.

Create the document:

Once you have entered the ‘Document Name’, ‘Document Version’, and the ‘Creation Date’ the ‘Create’ button will become clickable. Click the ‘Create’ button to save the document and unlock the ability to enter in your EPCIS Header and EPCIS Body details.

create-epcis

Creating and Managing the EPCIS Header

After creating the document you will be able to manage your EPCIS Header and your EPCIS Body. Both the EPCIS Header and the EPCIS Body are required to create a valid EPCIS document. You must complete both the EPCIS Header and the EPCIS Body to have a complete EPCIS document.

At any time you can press the ‘Update’ button to save your changes. The document can be accessed from the table of previously created documents to resume the creation or modify a completed EPCIS document.

epcis-edit

Adding Master Data Items and Creating EPCIS Header

Master data provides the foundational context for the events recorded in an EPCIS document. While events capture when, where, and what happened, header master data defines the who and what behind those events. For example, master data describes product identifiers (like GTINs), trading partner details, and location information. Within DSCSA exchanges, this ensures that every EPCIS event is tied to clear, consistent definitions, so all trading partners interpret the data in the same way.

Select ‘Manage EPCISHeader’

A panel will slide out from the right side that allows you to manage the entire EPCIS Header. 

EPCIS-header-management

Header Fields Explained

  1. Header Version
    • Definition: The version of the EPCIS header being used.
    • Example: 1.0
    • Note: Trust.med prefills this value for you.
  2. Sender Type
    • Definition: The type of identifier used to represent the sender of the EPCIS document (a location).
    • Example: SGLN/GLN
  3. Sender
    • Definition: The unique identifier of the sender, typically expressed as a URN following GS1’s EPC scheme.
    • Example: urn:epc:id:sgln:1200109076893.0
      (represents the GLN for the sender company or site)
  4. Receiver Type
    • Definition: The type of identifier for the receiving party of the EPCIS document.
    • Example: SGLN/GLN
  5. Receiver
    • Definition: The unique identifier of the receiver, again expressed as a GS1-compliant URN.
    • Example: urn:epc:id:sgln:95060001404.4.0
      (represents the GLN for the receiver company or site)
  6. Document Identification Standard
    • Definition: The standard that defines the EPCIS document format.
    • Example: EPCglobal
    • Note: Trust.med prefills this value for you.
  7. Document Identification Type
    • Definition: The type of document being sent (e.g., event data vs. master data).
    • Example: Events
    • Note: Trust.med prefills this value for you.
  8. Document Identification Type Version
    • Definition: The version of the document type specification.
    • Example: 1.0
    • Note: Trust.med prefills this value for you.
  9. Document Identification ID
    • Definition: A globally unique identifier for this specific EPCIS document.
    • Example: a586c9e2-cd1b-42d1-91ef-5a2140235326
      (UUID/GUID format, unique for every transmission)
generate-document-id
  • Press the ‘Generate Document Identification ID’ button to generate this value.

  1. Document Identification Creation Date
    • Definition: The timestamp when this EPCIS document was created.
    • Example: 2025-07-31T03:31:00Z
  2. Has DSCSA Transaction Statement
    • Definition: Indicates whether the document includes the DSCSA transaction statement.
    • Example: True
  3. DSCSA Transaction Value
    • Definition: The actual Boolean value for the DSCSA transaction statement. Required to confirm compliance.
    • Example: True

Select the ‘Update’ button after you have entered all the required values. This completes the creation of the EPCIS Header.

epcis-header-fields-update

Once you have created your header, you will be able to add Master Data Items by clicking “Manage MasterData Items at the top of the form.”

manage-master-data-button

You will see a list of any Master Data Items that you have already created in the document and have the ability to create new Master Data Items by selecting the ‘New’ button. 

manage-master-data-table

When creating a new Master Data Item use the drop down to select either ‘Product’ or ‘Location’ and enter the corresponding value. The value for your location will be a Global Location Number (GLN) or a Serialized Global Location Number (SGLN). 

If you are adding a product Master Data Item your value will be either a Global Trade Item Number (GTIN), or a Serialized Global Trade Item Number (SGTIN).

udpate-master-data-item

You can also select Master Data Items from previously entered Master Data by choosing the select option from the 'Manage Master Data Items' table.

manage-master-data

Note: SGLNs are stored in urn:epc:id:sgln:SGLN_VALUE & SGTINs are stored in urn:epc:idpat:sgtin:XXXX.XXXX.*

The asterisk (*) denotes that this is a SGTIN pattern. The EPCIS workbench tool uses SGTIN patterns for Master Data Items.

Once you have entered your Master Data Item select ‘Save’. 

You will be brought back to the list of Master Data Items and can enter more Master Data Items.

manage-master-data-attributes

Selecting the ‘Action’ menu next to a ‘Master Data Item’ allows you to ‘Manage Attributes’ of a Master Data Item, ‘Edit’ a Master Data Item, or ‘Delete’ a Master Data Item. 

Next you will create the EPCIS Body. Both the EPCIS Header and the EPCIS Body are required to create an EPCIS document.

Creating and Managing the EPCIS Body

Select ‘Manage EPCISBody’ to begin creating and editing the EPCIS Body. 

manage-epcis-body-button

Select ‘Manage EPCISBody’ to begin creating and editing the EPCIS Body. 

epcis-document-event-list-table

You can see any previously created events for the document, manage previously created events, and create new events. 

Events are the core of an EPCIS document, they record what happened, when, where, and why in the supply chain. Each EPCIS event captures a specific business step, such as commissioning a product, packing it into a case, shipping it, or receiving it. These events provide the transactional history that allows trading partners to track products across the supply chain.

Within DSCSA compliance, EPCIS events are what prove product movement and ownership changes. By sharing event data, trading partners create an auditable record of a drug’s journey, ensuring traceability and helping to prevent counterfeit or diverted products from entering the market.

update-epcis-event

Select the type of event you would like to add to your EPCIS Body and complete the corresponding fields. 

Commissioning – assigning unique identifiers (serial numbers) to products as they enter the supply chain. Example: A manufacturer commissions a batch of GTIN+Serial products.

  • Note: This can be used for decommission or destroy events as well as long as the correct Actions and Business Steps are associated.

Aggregation – grouping individual products into a case or pallet.
Example: Serial numbers of bottles are aggregated into a serialized case.

Shipping – recording that items were shipped from one trading partner to another.
Example: A distributor ships cases of product to a pharmacy wholesaler.

Commissioning, Aggregation, and Shipping Fields Explained

update-epcis-event-fields

Event Time

  • Definition: The actual time when the event occurred (when the product was commissioned).
  • Example: 2025-07-31T11:49:00Z

Timezone Offset

  • Definition: The offset from UTC for the event time. Ensures time can be normalized across systems.
  • Example: +04:00
  • List of timezones by country

Record Time

  • Definition: When the system recorded the event. May differ slightly from Event Time.
  • Example: 2025-07-31T11:55:00Z

Event ID

  • Definition: A unique identifier for this EPCIS event (usually a UUID).
  • Example: a7d5257c-2a05-42dc-833b-b469d0148e99
  • Select ‘Generate Event ID’ to populate this field
epcis-event-id-generation

Action

  • Definition: Describes how EPCs are being handled in this event.
    • ADD = New items introduced (used in commissioning)
    • OBSERVE = Items observed
    • DELETE = Items removed (e.g., decommissioning)
  • Example (Commissioning): ADD

Readpoint

  • Definition: The physical location (SGLN) where the event was observed (e.g., a packaging line or scanner).
  • Example: urn:epc:id:sgln:1200109076893.0

Business Location

  • Definition: The broader business location (usually the company or site’s GLN) where the event took place.
  • Example: urn:epc:id:sgln:1200109076893.0

Business Step

  • Definition: Defines the business process step for the event.
  • Example (for commissioning): Commissioning
    (Other steps could be Shipping, Receiving, Packing, etc.)
  • Understand Business Steps and what they mean

Disposition

  • Definition: The business state of the item after the event.
    • Common values: active, inactive, in_transit, reserved
  • Example: Active

Lot Number

  • Definition: The batch or lot number assigned to the product.
  • Example: 1234ABC

Item Expiration

  • Definition: The expiration date of the item(s) being commissioned.
  • Example: 2031-01-01

Managing EPCs and Child EPCs

After you have completed the fields required for your commissioning, aggregation or shipping event you can manage your EPCs by selecting the ‘Manage EPC’ button at the bottom of the create event panel.

Note: You will need to “Save” the initial information in the event before you will be able to add EPCs, Quantities, or for shipping events, manage the ShipList Items.

manage-epcs-button

The Manage EPCs panel allows you to view and edit previously added EPCs in your document. Add a single new EPC or add EPCs in bulk.

manage-epc-table

Select the ‘Add Single’ button to add a singular SGTIN or SSCC. SGTIN’s are used for a singular product and SSCC are used for a container or serialized products.

Note: When entering the SGTIN pattern in the Header's MasterData, the "pattern" format was used. Ensure that when actual SGTINs are utilized, like in the epc and childEpc lists, the non pattern format of "urn:epc:id:sgtin:XXXX.XXXX.SERIAL" is used.

create-new-epc

If you would like to add SGTINs in bulk, select the ‘Add Bulk’ button and enter you SGTIN or SSCC values separated by comma. 

create-epc-bulk

Managing Quantities

  • DSCSA requires serialized EPCIS events at the package level, but quantity events are still important for:
    • Handling bulk non-serialized items (e.g., APIs, medical kits, or grandfathered stock).
    • Managing cases or pallets where full serialization detail may not be available.
    • Supporting inventory movements or aggregate reporting where counts are more practical than listing serials.
manage-quantities-button

Select the ‘Manage Quantities’ button if you need to add quantities. This may be optional, please review the bullet points above to determine if you prefer to add quantities to your EPCIS.

Shipping Event Lists

If you are creating a shipping event you will be presented with a ‘Manage Shipping List’ button. 

shipping-event-lists-button

The ‘Manage Shipping Lists’ button allows you to set the owning party and location, source owning party and location, and gives you the ability to add identifiers like PO Numbers and ASNs (DESADV)

create-new-list-item

Refer to the Shipping List: BizTransaction Items table for more detail about selecting the appropriate EPC type.

Generating EPCIS

After completing the required fields for both the EPCIS Header and the EPCIS Body you will now be able to generate your EPCIS. 

generate-epcis-button

Select the ‘Generate EPCIS’ button from the top right corner of the document creation screen. 

Your EPCIS XML will be generated and displayed.

generated-epcis

Use the download button (down arrow) in the upper right corner to download your EPCIS XML. 

Congratulations! You have successfully created an EPCIS document and can now upload it into Trust.med to exchange with your partner. Refer to the submitting EPCIS guide to learn how to upload your EPCIS to Trust.med using secure file transfer (SFTP). Download Filezilla Here.

Definitions and Reference Tables

Business Step Definitions

  • Accepting – Goods are formally accepted after inspection or handoff.
    Example: A wholesaler accepts a pallet after verifying against the ASN.

  • Arriving – Items are registered as having arrived at a location.
    Example: A shipment arrives at a distribution center gate.

  • Assembling – Items are combined to form a new unit.
    Example: Components are assembled into a finished medical kit.

  • Collecting – Items are picked up or gathered.
    Example: A courier collects cases from a manufacturer.

  • Commissioning – Assigning unique identifiers (serial numbers) to items as they are introduced into the supply chain.
    Example: A manufacturer commissions bottles with GTIN + serials.

  • Consigning – Assigning goods to a consignee under a consignment agreement.
    Example: A manufacturer sends drugs to a distributor for resale, retaining ownership until sold.

  • Creating Class Instance – Creating a new instance of a product class.
    Example: A new serialized lot of product is created in the system.

  • Cycle Counting – Performing a periodic count of inventory for reconciliation.
    Example: A warehouse does cycle counting to validate stock levels.

  • Decommissioning – Deactivating identifiers, removing items from active supply.
    Example: Damaged serials are marked as decommissioned.

  • Departing – Items are leaving a site or location.
    Example: Pallets depart the shipping dock.

  • Destroying – Items are destroyed so they cannot re-enter the supply chain.
    Example: Expired or damaged drugs are incinerated.

  • Disassembling – Breaking down items into their component parts.
    Example: A kit is disassembled back into single-use items.

  • Dispensing – Providing a drug to the end patient.
    Example: A pharmacy dispenses a carton to a patient.

  • Encoding – Writing data (like a serial) onto a data carrier such as a barcode.
    Example: Printing a 2D DataMatrix onto a carton.

  • Entering/Exiting – Recording when items enter or leave a defined area.
    Example: Items scanned entering a storage vault.

  • Holding – Items are placed on hold, pending inspection or release.
    Example: Quarantined inventory awaiting QA clearance.

  • Inspecting – Items are checked for quality, compliance, or accuracy.
    Example: QA inspects a batch before release.

  • Installing – Placing an item into operational use.
    Example: A serialized medical device is installed in a hospital.

  • Killing – Deactivating an EPC physically or logically (often used with RFID tags).
    Example: An RFID tag is killed when the product leaves circulation.

  • Loading – Items are being loaded into a transport container.
    Example: Cases are loaded into a truck.

  • Other – Catch-all for business steps not otherwise classified.

  • Packing – Placing items into cases or pallets.
    Example: 24 bottles are packed into a serialized case.

  • Picking – Selecting items from inventory to fulfill an order.
    Example: A warehouse picker retrieves cases for shipment.

  • Receiving – Goods are received at a location into inventory.
    Example: Distributor receives products into warehouse.

  • Removing – Taking items out of stock or process.
    Example: A case is removed from inventory due to damage.

  • Repackaging – Changing the packaging of an item.
    Example: A 100-count bottle is repackaged into 10x10 packs.

  • Repairing – Fixing or restoring items to acceptable condition.
    Example: A device is repaired and returned to stock.

  • Replacing – Swapping one item for another.
    Example: A defective item is replaced with a new one.

  • Reserving – Holding inventory aside for specific use.
    Example: Inventory reserved for a hospital order.

  • Retail Selling – Selling product to an end customer.
    Example: A pharmacy sells a drug to a patient.

  • Shipping – Sending goods from one trading partner to another.
    Example: Manufacturer ships serialized cases to a wholesaler.

  • Staging Outbound – Preparing goods for outbound shipment.
    Example: Cases staged at the dock awaiting loading.

  • Stock Taking – Taking full inventory count.
    Example: Annual warehouse stock audit.

  • Stocking – Placing goods into storage.
    Example: Cases stocked onto warehouse shelves.

  • Storing – Keeping goods in inventory storage.
    Example: Pallets stored in cold chain facilities.

  • Transporting – Goods are in transit.
    Example: A truck transporting pallets between DCs.

  • Unloading – Goods are removed from a transport container.
    Example: Pallets unloaded from a truck at the destination.

  • Unpacking – Removing items from cases or pallets.
    Example: A case is unpacked into individual cartons.

  • Void Shipping – Cancelling a shipping event that was previously recorded.
    Example: A shipment is voided after being created in error.

Shipping List: BizTransaction Items

Item Name Description
desadvDespatch AdviceA document/message by means of which the seller or consignor informs the consignee about the despatch of goods. Also called an “Advanced Shipment Notice,” but the value desadv is always used regardless of local nomenclature.

Example Format: urn:epcglobal:cbv:bt:SENDER_GLN:ASN
poPurchase OrderA document/message that specifies details for goods and services ordered under conditions agreed by the seller and buyer.

Example Format: urn:epcglobal:cbv:bt:RECEIVER_GLN:PO_NUMBER
bolBill of LadingA document issued by a carrier to a shipper, listing and acknowledging receipt of goods for transport and specifying terms of delivery
invInvoiceA document/message claiming payment for goods or services supplied under conditions agreed by the seller and buyer.
pedigreePedigreeA record that traces the ownership or custody and transactions of a product as it moves among various trading partners.
pocPurchase Order ConfirmationA document that provides confirmation from an external supplier to the request of a purchaser to deliver a specified quantity of material, or perform a specified service, at a specified price within a specified time.
prodorderProduction OrderAn organisation-internal document or message issued by a producer that initiates a manufacturing process of goods.
recadvReceiving AdviceA document/message that provides the receiver of the shipment the capability to inform the shipper of actual goods received, compared to what was advised as being sent.
rmaReturn Merchandise AuthorisationA document issued by the seller that authorises a buyer to return merchandise for credit determination.

Shipping List: Source / Destination List

Item Description
owning_partyThe source or destination identifier denotes the party who owns (or is intended to own) the objects at the originating endpoint or terminating endpoint (respectively) of the business transfer of which this EPCIS event is a part.

Example: urn:epc:id:sgln:95060001404.4.0
possessing_partyThe source or destination identifier denotes the party who has (or is intended to have) physical possession of the objects at the originating endpoint or terminating endpoint (respectively) of the business transfer of which this EPCIS event is a part.

Example: urn:epc:id:sgln:95060001404.4.0
locationThe source or destination identifier denotes the physical location of the originating endpoint or terminating endpoint (respectively) of the business transfer of which this EPCIS event is a part. When a source of this type is specified on an EPCIS event at the originating endpoint of a business transfer, the source identifier SHOULD be consistent with the Read Point specified in that event. When a destination of this type is specified on an EPCIS event at the terminating endpoint of a business transfer, the destination identifier SHOULD be consistent with the Read Point specified in that event.

Example: urn:epc:id:sgln:95060001404.4.0

Business Steps

Item Description
commissioningProcess of associating an instance-level identifier (such as an EPC) with a specific object, or the process of associating a class-level identifier, not previously used, with one or more objects. A tag may have been encoded and applied in this step, or may have been previously encoded.

In the case of a class-level identifier, commissioning differs from creating_class_instance in that commissioning always indicates that this is the first use of the class-level identifier, whereas creating_class_instance does not specify whether the class-level identifier has been used before.

Disposition: active
packingDenotes a specific activity within a business process that includes putting objects into a larger container – usually for shipping. Aggregation of one unit to another typically occurs at this point.

Disposition: in_progress
shippingIndicates the overall process of staging_outbound, loading and departing. It may be used when more granular process step information is unknown or inaccessible. It may indicate a final event from a shipping point. The use of shipping is mutually exclusive from the use of staging_outbound, departing, or loading.

Disposition: in_transit

Dispositions

Item Description
activeA commissioned object has just been introduced into the supply chain.

Business Step: Commissioning
in_progressDefault disposition for objects proceeding through points in the supply chain.

Business Step: Packing
in_transitObject being shipped between two trading partners.

Business Step: Shipping

Master Data Items: Location

Item Description
nameThe name of the location or party expressed in text.

Example: ACME CORPORATION
streetAddressOneThe first free form line of an address. This first part is printed on paper as the first line below the name.

Example: 123 Main Street
streetAddressTwoThe second free form line of an address. This second part is printed on paper as the second line below the name. The second free form line complements the first free form line to locate the party or location.

Example: BLDG A
streetAddressThreeThe third free form line of an address. This third part is printed on paper as the third line below the name. The third free form line complements the first and second free form lines where necessary.

Example: ROOM 123
cityText specifying the name of the city.

Example: Cleveland
stateOne of the constituent units of a nation having a federal government.

Example: OH
postalCodeText specifying the postal code for an address.

Example: 44115
countryCodeThe ISO 3166-1 alpha-2 code specifying the country for the address.

Example: US
latitudeLatitude of the location, in degrees. Positive numbers are northern latitude; negative numbers are southern latitude.

Example: 40.7580
longitudeLongitude of the location, in degrees. Positive numbers are eastern longitude; negative numbers are western longitude.

Example: 73.9855

Master Data Items: Product

Item Description
additionalTradeItemIdentificationA trade item identifier that is in addition to the GTIN.

Example: 12345111111
additionalTradeItemIdentificationTypeCodeA code that indicates what type of identifier is used for additionalTradeItemIdentification The code list for this attribute is defined in GDSN; GDSN Code List

Example: FDA_NDC_11
countryOfOrigin 2-Digit Country from which the goods are supplied.

Example: UK
descriptionShortA free form short length description of the trade item that can be used to identify the trade item at point of sale.

Example: FAKE-A-CILLIN 50MG
dosageFormTypeA dosage form is the physical form of a medication that identifies the form of the pharmaceutical item.

Example: PILL
functionalNameDescribes use of the product or service by the consumer. Should help clarify the product classification associated with the GTIN.

Example: FAKE-A-CILLIN
manufacturerOfTradeItemPartyName Party name information for the manufacturer of the trade item.

Example: ACME CORPORATION
netContentDescriptionFree text describing the amount of the trade item contained by a package, usually as claimed on the label.

Example: 20 COUNT 50MG
labelDescription A literal reproduction of the text featured on a product's label in the same word-by-word order in which it appears on the front of the product's packaging. This may not necessarily match the GTIN description as loaded by the supplier into the GTIN description field in GDSN.

Example: ACME FAKE-A-CILLIN 50MG
regulatedProductName The prescribed, regulated or generic product name or denomination that describes the true nature of the product and is sufficiently precise to distinguish it from other products according to country specific regulation.

Example: FAKE-A-CILLIN
strengthDescriptionFree text describing the strength of the active ingredient(s) of the product.

Example: 50MG
tradeItemDescription An understandable and usable description of a trade item using brand and other descriptors. This attribute is filled with as little abbreviation as possible while keeping to a reasonable length. Free form text field, this data element is repeatable for each language used and must be associated with a valid ISO language code. Field length is 178 characters. This should be a meaningful description of the trade item with full spelling to facilitate message processing. Retailers can use this description as the base to fully understand the brand, flavour, scent etc. of the specific GTIN in order to accurately create a product description as needed for their internal systems.

Example: ACME FAKE-A-CILLIN 50MG 20CT BOTTLE