A bill of materials or product structure is a list of the raw materials, sub-assemblies, intermediate assemblies, sub-components, parts, and the quantities of each needed to manufacture an end product. A BOM may be used for communication between manufacturing partners or confined to a single manufacturing plant. A bill of materials is often tied to a production order whose issuance may generate reservations for components in the bill of materials that are in stock and requisitions for components that are not in stock. A BOM can define products as they are designed, as they are ordered, as they are built, or as they are maintained. The different types of BOMs depend on the business need and use for which they are intended. In process industries, the BOM is also known as the formula, recipe, or ingredients list. The phrase "bill of material" is frequently used by engineers attributively to refer not to the literal bill, but to the current production configuration of a product, to distinguish it from modified or improved versions under study or in test. Sometimes the term "pseudo-bill of materials" or "pseudo-BOM" is used to refer to a more flexible or simplified version. Often a place-holder part number is used to represent a group of related parts that have common attributes and are interchangeable in the context of this BOM. In electronics, the BOM represents the list of components used on the printed wiring board or printed circuit board. Once the design of the circuit is completed, the BOM list is passed on to the PCB layout engineer as well as the component engineer who will procure the components required for the design. BOMs are of hierarchical nature, with the top level representing the finished product which may be a sub-assembly or a completed item. BOMs that describe the sub-assemblies are referred to as modular BOMs. An example of this is the NAAMS BOM that is used in the automotive industry to list all the components in an assembly line. The structure of the NAAMS BOM is System, Line, Tool, Unit and Detail. The first hierarchical databases were developed for automating bills of materials for manufacturing organizations in the early 1960s. At present, this BOM is used as a data base to identify the many parts and their codes in automobile manufacturing companies. A bill of materials "implosion" links component pieces to a major assembly, while a bill of materials "explosion" breaks apart each assembly or sub-assembly into its component parts. A modular BOM can be displayed in the following formats:
A single-level BOM that displays the assembly or sub-assembly with only one level of children. Thus it displays the components directly needed to make the assembly or sub-assembly.
An indented BOM that displays the highest-level item closest to the left margin and the components used in that item indented more to the right.
A BOM can also be visually represented by a product structure tree, although they are rarely used in the workplace. For example, one of them is Time-Phased Product Structure where this diagram illustrates the time needed to build or acquire the needed components to assemble the final product. For each product, the time phased product structure shows the sequence and duration of each operation.
A configurable bill of materials is a form of BOM used by industries that have multiple options and highly configurable products. The CBOM is used to dynamically create "end-items" that a company sells. The benefit of using CBOM structure is that it reduces the work-effort needed to maintain product structures. The configurable BOM is most frequently driven by "configurator" software, however it can be enabled manually. The development of the CBOM is dependent on having a modular BOM structure in place. The modular BOM structure provides the assemblies/sub-systems that can be selected to "configure" an end-item. While most configurators utilize top-down hierarchical rules syntax to find appropriate modular BOMs, maintenance of very similar BOMs becomes highly excessive. A newer approach, utilizing a proprietary search engine scheme transversing through selectable componentry at high speeds eliminates the planning modular BOM duplications. The search engine is also used for all combinatorial feature constraints and GUI representations to support specification selections. To decide which assembly variant of the parts or components is to be chosen, they are attributed by the product options which are the characteristic features of the product. If the options of the product build an ideal Boolean algebra, it is possible to describe the connection between parts and product variants with a Boolean expression, which refers to a subset of the set of products. Parts which will not be assembled at all in one or more variants are typically marked as "DNP" in the affected variants. Other less frequently used designators for this include "NP", "DNM", "NM", "DNI", "DNE", "DNA", "DNS", "NOFIT" etc.
A multi-level bill of materials, referred to as an indented BOM, is a bill of materials that lists the assemblies, components, and parts required to make a product in a parent-child, top-down method. It provides a display of all items that are in parent-children relationships. When an item is a sub-component, of a component, it can in-turn have its own child components, and so on. The resulting top-level BOM would include children; a mix of finished sub-assemblies, various parts and raw materials. A multi-level structure can be illustrated by a tree with several levels. In contrast, a single-level structure only consists of one level of children in components, assemblies and material.