# What is Bill of Material (BOM)?

A bill of material (BOM) is a list of raw materials, sub-assemblies, or any labor required for manufacturing a specific item. It provides detailed information about the quantity, description, and specifications of each raw material required to manufacture the final product. The materials listed in the BOM get consumed to produce the final manufactured item.

There are typically two main types of BOMs:

1. **Single-Level BOM:** This type of BOM lists all the components or raw materials directly used in manufacturing a product.&#x20;
2. **Multi-Level BOM:** In a Multi-Level BOM, some or all of the materials listed in the BOM can themselves be produced. This means that this BOM includes a sub-BOM for these materials, detailing the steps required to produce them

### Creating a BOM

Creating a BOM entails entering the details of the manufacture item number, bill of material name, instructions, validity, and revision #. The details section allows you to add components, item qty, and instructions.

{% hint style="info" %}
To create a BOM, go to **Menu > Manufacturing > Bill Of Material**
{% endhint %}

#### Entering a BOM

When entering a BOM, you'll begin by entering header-level information, such as the manufacture item number, bill of material name, instructions, validity, and revision #.

<table><thead><tr><th width="165.33333333333331">Section</th><th width="157">Field</th><th>Description</th></tr></thead><tbody><tr><td>Bill Of Material</td><td>Manufacture Item Number</td><td>Search and select an item that this bill of materials is for. Note that only items that are configured as manufacturable will be fetched in this field.</td></tr><tr><td>Bill Of Material</td><td>Revision #</td><td>Enter a revision for the BOM here, if necessary.</td></tr><tr><td>Bill Of Material</td><td>Bill Of Material Instruction</td><td>This field allows you to add the manufacturing instructions, if required</td></tr><tr><td>Bill Of Material</td><td>Bill Of Material Name</td><td>This field allows you give a name to the bill of material. This field should already be fetched once the manufacture item number has been selected. You can edit this, if required.</td></tr><tr><td>Bill Of Material</td><td>Time To Complete (Minutes)</td><td>Enter the time required for the completion of the bill of material.</td></tr><tr><td>Bill Of Material</td><td>BOM Type</td><td>This field allows you to select the type of the BOM.</td></tr><tr><td>Bill Of Material</td><td>Valid From Date</td><td>This field allows you to select a date from where the validity of this BOM starts.</td></tr><tr><td>Bill Of Material</td><td>PPE Notes</td><td>This field allows you to add specific instructions or information related to Personal Protective Equipment (PPE) that should be followed during the manufacturing or assembly of the product.</td></tr><tr><td>Bill Of Material</td><td>Memo</td><td>This field provides space for writing notes or any additional information related to the bill of material. This allows you to add important details or instructions that need to be considered during the manufacturing or assembly of the product.</td></tr><tr><td>Bill Of Material</td><td>Valid To Date</td><td>This field allows you to select a date from the validity of this BOM ends.</td></tr><tr><td>Revisions</td><td>BOM Name</td><td>This field shows the bill of material name.</td></tr><tr><td>Revisions</td><td>BOM Type</td><td>This field shows the bill of material type.</td></tr><tr><td>Revisions</td><td>Description</td><td>This field displays the description of the item.</td></tr><tr><td>Revisions</td><td>Is Revision</td><td>This field shows whether the item is a revision or not.</td></tr><tr><td>Revisions</td><td>Item Number</td><td>This filed shows the unique identifier for the BOM item.</td></tr><tr><td>Revisions</td><td>Memo</td><td>Any additional information recorded for the BOM item is captured in this field.</td></tr><tr><td>Revisions</td><td>Revision</td><td>This field captures the revision number of the BOM, if any.</td></tr><tr><td>Revisions</td><td>Valid From </td><td>This field shows the date from where the validity of this BOM starts.</td></tr><tr><td>Revisions</td><td>Valid To</td><td>This field shows the date from where the validity of this BOM ends.</td></tr><tr><td>Custom Fields</td><td>Custom Fields</td><td>This section allows you to enter data in the custom fields defined for the bill of material entity. This feature provides the flexibility to capture and store additional information relevant to the bill of material.</td></tr><tr><td>Processes</td><td>Processes</td><td>This section allows users to add and manage <a href="#creating-processes-from-the-bill-of-material-module">manufacturing processes</a> at the Bill of Material (BOM) level.</td></tr></tbody></table>

#### Adding Components to a BOM

Once the basics are set, you will begin to enter the raw materials to the bill of material. Click on "Add Raw Materials" to add the component, the item quantity and instructions for using the raw material.

{% hint style="info" %}
*Please note that only items configured as raw materials can be added to the bill of materials.*
{% endhint %}

#### Add Items Fields

<table><thead><tr><th width="222">Field</th><th>Description</th></tr></thead><tbody><tr><td>Item Type</td><td>Select the item type that you want to add to the bill of material (Inventory, Non-Inventory, Labor, etc.).</td></tr><tr><td>Item Number</td><td>Search for the item number that you want to add to the BOM.</td></tr><tr><td>Description</td><td>This field displays the description of the item.</td></tr><tr><td>Qty</td><td>Enter the quantity of the item to be added.</td></tr><tr><td>Instructions</td><td>Enter the instruction for the processing of this BOM item.</td></tr><tr><td>One Time Item</td><td>Check the "Yes" radio button if this item is only consumed once during the manufacturing process, regardless of the quantity being produced.</td></tr></tbody></table>

{% hint style="info" %}
Use the convenient keyboard shortcut **(Alt+A)** for the "Add Item" option
{% endhint %}

#### Bill Of Material Components: Line Level Columns

<table><thead><tr><th width="256">Field </th><th>Description</th></tr></thead><tbody><tr><td>Alternative Item Number1</td><td>This field displays an alternative item number 1 for the item, providing additional identification.</td></tr><tr><td>Alternative Item Number2</td><td>This field displays an alternative item number 2 for the item, providing additional identification.</td></tr><tr><td>Alternative Item Number3</td><td>This field displays an alternative item number 3 for the item, providing additional identification.</td></tr><tr><td>Barcode</td><td>The barcode recorded for the item is captured in this field.</td></tr><tr><td>Description</td><td>This is an editable input field that displays the description of the item.</td></tr><tr><td>Instructions</td><td>This field displays the manufacturing instructions for the raw material.</td></tr><tr><td>Is Manufacturable?</td><td>If this item itself is manufacturable, then this box will be checked.</td></tr><tr><td>Item</td><td>This is the unique identifier for the item.</td></tr><tr><td>One Time Item?</td><td>Check this box if this item is only consumed once during the manufacturing process, regardless of the quantity being produced.</td></tr><tr><td>Prevent Sub MO</td><td>Select this checkbox to prevent auto-creation of sub-MO for this item line even if inventory is short when releasng the MO. </td></tr><tr><td>Qty</td><td>This field displays the quantity of the raw material added to the BOM.</td></tr><tr><td>Service Unit Cost</td><td>This is an editable field that allows you to enter/update the unit cost of the raw material.</td></tr><tr><td>Type</td><td>Specifies the type of item, such as inventory, labor, etc.</td></tr><tr><td>UOM</td><td>Specifies the unit of measure for the item (liter, unit, kilogram, etc.).</td></tr><tr><td>Revision</td><td>This allows you to select the revision of the sub-BOM for manufacturable raw materials. By selecting the appropriate revision, users can ensure that the correct version of the sub-BOM is used in the production process.</td></tr><tr><td>Average Unit Cost</td><td>The average cost per unit of the item.</td></tr></tbody></table>

After completing the header fields and adding the components, click on "**Save"** to create a BOM.&#x20;

### Header Options

Within the **Bill of Material (BOM) module**, the following options are available to enhance flexibility, version control, and tracking:

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

#### **1. Create Duplicate**

This option allows you to quickly **create a copy of an existing BOM**. It is useful when you need to reuse the same structure with minor changes for a new product, saving time and reducing manual effort.

#### **2. Save as New Revision**

The BOM often evolves with design or production changes. Using this option, you can **save the BOM as a new revision** while keeping track of older versions. This ensures that every modification is recorded, supporting **proper version control and audit trails**.

#### **3. Show Activity**

This option provides a **log of activities performed on the BOM**, such as edits, revisions, and user actions. It helps in maintaining **transparency and accountability**, giving visibility into who made changes and when.

### Creating BOM Revisions

A BOM revision allows you to make continual updates to the specifics of a BOM during the entire product lifecycle. It also provides a user-friendly historical log of all revisions made. You can use the revisions to analyze and monitor cost reductions, especially when multiple BOM revisions are used in the production process.

BOM revisions can be created in two ways:

#### Creating BOM Revision from the Bill Of Material module

To create a BOM revision, open an already existing BOM and make the necessary changes, such as adding or removing items or adjusting quantities.

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

After the changes have been made, specify the Revision # and validity dates (Valid From Date and Valid To Date) in the BOM header section. Then, navigate to Options and select "Save as New Revision" to create the new revision.

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

#### Creating BOM Revision via upload

Fill in the details of the revision in the upload BOM file, making sure to enter the Revision, ValidFromDate and ValidToDate columns. Set the "Is Revision" flag to true.

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

Then, upload the file in the Upload Bill Of Materials module to create a new revision.

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

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

### Creating Processes from the Bill Of Material module

**Step 1:** Create a new BOM or open an existing BOM and navigate to the **Processes** tab.

**Step 2:** Click **"Add"** button and select the processes you want to add in the manufacturing process flow for that item.&#x20;

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

**Step 3:** Users can add multiple processes or remove unnecessary ones. The sequence of the processes can be modified using drag-and-drop functionality.

**Step 4:** When a Manufacturing Order is created using this configured BOM, the defined process sequence is preserved, and the complete process list is copied to the Manufacturing Order.

**Step 5:** Open the Manufacturing Order and navigate to the **Processes** tab. The following tracking fields are available:

* **Started At** — Records when the process begins.
* **Started By** — Identifies the user who started the process.
* **Finished At** — Records completion time.
* **Finished By** — Identifies the user who completed the process.
* **Is Completed?** — Identifies if the process has been completed

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

A process cannot be started until the previous process is completed. If the **Finish** button is selected directly, the system automatically records both the start and finish timestamps.

**Step 6:** Enable the **Timeline View** toggle to visually track process progression and monitor production stages.

**Step 7:** Navigate to the **Manufacturing Order Centre**. A **Processes** column displays the associated processes for each Manufacturing Order.

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

{% hint style="info" %}
Any modification to the BOM after the MO is created does NOT affect existing MOs.
{% endhint %}

### Updating BOM Items

Keeping an up-to-date and accurate Bill of Materials (BOM) is essential for ensuring that products are built efficiently and to specification. If the raw material or the raw material quantity used for producing a good has been updated, you can use the "Update BOM Items" module to change the raw material in a BOM.

{% hint style="info" %}
*To update the bill of material items, go to Menu > Manufacturing > Bill Of Materials > Update Bill Of Material Items*
{% endhint %}

There is a dropdown for “***Update Type***” in the “***Update*** ***BOM Items***” module. The Dropdown has two values: ***Bill of Material & Manufacture Orders***.

To change the item or the item quantity of the raw materials of a BOM, select the "Bill of Material" update type. The "Manufacture Orders" update type allows you to update the item quantity on a manufacturing order.

> #### **Update Type: Bill Of Material**

* If the BOM option is selected, then the data is loaded based on Items used in the Bill of Material. From here, the Qty and Item of the Raw materials in BOM can be updated.
* Select the BOM you want to update and choose the Replacement Item# and Qty. Click on Update Selected Records if you want to update selected BOM Items.
* To make changes to all the related BOM Items, update the BOM Items and click on Update All Records from the drop-down menu.

> #### **Update Type: Manufacture Orders**

* If the Manufacture Order option is selected, then data is loaded based on Items used as Raw Material in the Manufacturing Order.
* This will update the Qty of the Raw Material.&#x20;
* Search the Raw Material Item Number for which you want to update the quantity.
* It will fetch all the MOs in which the Raw material is used.
* Select the MO you want to update, change the Qty, and click on Update Selected Records.
* To make changes to all the related MOs, update the quantities and click on Update All Records from the drop-down menu.

***\*\*Please note that you can only void the bill of materials that have not been utilized in the manufacturing of an item.***

### **Deleting BOM Items**

In XoroERP, deleting a BOM is subject to specific rules to ensure data integrity and avoid disrupting manufacturing processes:

1. **General Rule for BOM Deletion**:\
   By default, a BOM can only be deleted if there are **no** Manufacturing Orders (MOs) created for that BOM. If an attempt is made to delete a BOM with active or historical MOs, an error message will be displayed, preventing the deletion.
2. **If the "Is Manufacturable?" Flag Is Set to False**: \
   If the **"Is Manufacturable?"** flag for a BOM item is updated and set to **false**, the BOM can only be deleted under the following conditions:

   * There are no MOs created for the item.
   * Any existing MOs for the item have been completed (status: **Produced**) or reversed (status: **Disassembled**).

   If any MOs are in a status other than **Produced** or **Disassembled**, the system will display a specific error message. This safeguard prevents accidental deletion of BOMs linked to ongoing or incomplete manufacturing activities.


---

# 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.xorosoft.com/xoroerp-1/manufacturing/bill-of-material/what-is-bill-of-material-bom.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.
