> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# BillOfMaterials

> A bill of materials for a production item. It defines which operations must be performed and which components are required to produce the production item.



**Kind**: `object`

## Fields

**`id`**: `ID!`

The ID of the bill of materials.

---

**`productionItemId`**: `ID!`

The ID of the production item that is produced with this bill of materials.

---

**`version`**: `Int!`

The version of the bill of materials. It is assigned consecutively per production item.

---

**`name`**: `String!`

The name of the bill of materials.

---

**`description`**: `String`

The description of the bill of materials, or null if it has no description.

---

**`state`**: `BillOfMaterialsState!`

The state of the bill of materials.

---

**`createdAt`**: `DateTime!`

The timestamp when the bill of materials was created.

---

**`changedAt`**: `DateTime`

The timestamp when the bill of materials was last changed, or null if it has not been changed yet.

---

**`changedBy`**: `ID`

The ID of the user who last changed the bill of materials, or null if it has not been changed yet.

---

**`activatedAt`**: `DateTime`

The timestamp when the bill of materials was activated, or null if it has not been activated yet.

---

**`producibleStock`**: `Decimal!`

The last calculated quantity of the production item that can be produced with this bill of materials from the available stock of its components.

---

**`producibleStockCalculatedAt`**: `DateTime`

The timestamp when the producible stock was last calculated, or null if it has not been calculated yet.

---

**`componentPostingsShelfLifeEndDateRequirements`**: `OverallComponentPostingsInventoryAccountingDataRequirements!`

Specifies requirements for the production input of all components of this bill of materials regarding the shelf life end dates of the stock accounts to be debited. This specification can be overridden for individual items of this bill of materials.

---

**`componentPostingsBatchNumberRequirements`**: `OverallComponentPostingsInventoryAccountingDataRequirements!`

Specifies requirements for the production input of all components of this bill of materials regarding the batch numbers of the stock accounts to be debited. This specification can be overridden for individual items of this bill of materials.

---

**`shelfLifeEndDateGenerationMode`**: `ShelfLifeEndDateGenerationMode`

Indicates how the shelf life end date of the produced item is calculated after completing a lot, or null if no shelf life end date is calculated.

---

**`additionalShelfLifeEndDateTime`**: `TimeSpan`

A time span that is added when calculating the shelf life end date of the produced item after completing a lot, or null if no time span is added.

---

**`upwardQuantityDeviation`**: `QuantityDeviationConfiguration`

How far the actually used quantity of the items may exceed their planned quantity, or null if it must not exceed it. This configuration can be overridden for individual items of this bill of materials.

---

**`downwardQuantityDeviation`**: `QuantityDeviationConfiguration`

How far the actually used quantity of the items may fall below their planned quantity, or null if it must not fall below it. This configuration can be overridden for individual items of this bill of materials.

---

**`children`**: `[BillOfMaterialsParentComponent]`

The parent components (operations) of the bill of materials with their child components, ordered by their sort index.

