# Bill of Materials

## Overview

A **Bill of Materials** **(BOM)** feature represents a structured table of all materials and components required to produce a product. It defines *what* is needed, *in what quantity*, and *how components relate to each other* within the production workflow. The BOM serves as a central source of truth for production planning and cost calculation.&#x20;

In the system, BOMs are organized by **workflows**, where each workflow contains all active **product variants** within the selected configuration. This enables to maintain different material compositions depending on how a product is produced.

Each BOM variant provides:

* a structured list of **materials and components**
* **quantities and units of measure**
* **cost information**, including both *Published cost* and *Current cost*
* **tags and filters** for easier classification and navigation

<figure><img src="/files/ZG2O7x6X5fhieMINcMRe" alt=""><figcaption></figcaption></figure>

### Permissions

1. User needs to have [Product view](/manuals/users/permissions.md#products) permission to be able to view “BOM” section.
2. User needs to have [Product edit](/manuals/users/permissions.md#products) permission to be able to edit “BOM” section.

## BOM variant table

Each BOM variant contains a **table of materials and components** that define the product structure and its associated costs within a selected workflow.

#### Search by BOM Name

Use the **search field** at the top of the section to quickly find BOM variants by name across all workflows.

* The search is applied globally, not limited to the currently selected workflow
* Results are updated dynamically as you type
* This helps quickly find specific variants when working with a large number of BOMs

<figure><img src="/files/Vi5dmnvFthGRHi7RfR49" alt=""><figcaption></figcaption></figure>

### Table c**olumns**

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="147.60003662109375">Column</th><th>Description</th></tr></thead><tbody><tr><td><strong>Type</strong></td><td>Indicates whether the item is a <em>Material</em> or a <em>Component</em>.</td></tr><tr><td><strong>Name</strong></td><td><p>Displays the <strong>material / component</strong> name along with its attributes:<br></p><ul><li><strong>Material</strong>: Photo, Category, Subcategory<mark style="color:$info;">(if exists)</mark>, Parameters<mark style="color:$info;">(if exists)</mark></li><li><strong>Component</strong>: Photo, Version, Configuration, Workflow, Variant</li></ul></td></tr><tr><td><strong>Quantity</strong></td><td><p>Specifies the item amount needed and corresponding UOM</p><p></p><ol><li>Material - supports decimal values</li><li>Component - only positive integer values</li></ol></td></tr><tr><td><strong>Published cost</strong></td><td><mark style="color:$danger;"><code>Cost of the item * Quantity</code></mark> at the moment of publishing product.<br>*This value is typically used in production planning and reporting.</td></tr><tr><td><strong>Current cost</strong></td><td>The latest calculated or updated <mark style="color:$danger;"><code>Cost of the item * Quantity</code></mark>.<br>*It may differ from the published cost if changes were made but not yet approved (published).</td></tr><tr><td><strong>Tags</strong></td><td>Labels assigned to items (e.g., <em>Eco-friendly</em>, <em>Sheer</em>) for filtering and classification.</td></tr></tbody></table>

### Total material value

At the top of each BOM variant, the system displays:

* **Total material cost (Published)**
* **Total material cost (Current)**

These totals are calculated as the sum of all items in the table based on their respective cost columns.

<figure><img src="/files/CkQTNhImLFx9OtrFhRgU" alt=""><figcaption></figcaption></figure>

### Table interactions

Users can interact with the BOM variant table in the following ways:

* **Add item - a**dd new materials or components to the BOM variant.
* **Table actions (⋯ menu) -** additional actions for the table:
  * **Apply to -** copy BOM table to other variants and workflows.
  * **Remove all items** - clear the BOM table completely.
* **Edit rows -** update quantity and tags in each row.
* **Row actions (⋯ menu)** - access additional actions such duplicate or remove.
* **Filtering** - use filters (by material name or tag) to quickly find specific items within the table.

{% hint style="info" %}
Learn more about each action in the BOM table in the next article.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hesh.app/manuals/product-management/product-configuration/bill-of-materials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
