Introduction to OpenBOM Product Model and BOM Types

Oleg Shilovitsky
Oleg Shilovitsky
28 June, 2023 | 7 min for reading
Introduction to OpenBOM Product Model and BOM Types

This week, I will continue a series of basic articles about OpenBOM. If you missed the beginning of it, please navigate to the following articles where I provided OpenBOM Basics: Essential Guide and Introduction to Agile New Product Development. Today, I want to talk about a third and very important topic that helps you to understand OpenBOM – its product data model and speak about different BOM visualization types. 

The foundation of OpenBOM is a flexible data model that manages all product-related information, attributes, and relationships. OpenBOM uses modern data management technologies (NoSQL and Graph Database). OpenBOM architecture is multi-tenant and allows companies to collaborate and work together (will speak about it in a separate article)

Items and Product Structure (BOM) 

Items and product structure is part of the OpenBOM core foundation. It creates an abstraction model to manage the data of any product. An item is an abstract object that can hold information about anything. It can be an off-the-shelf part, assembly, material, or anything else. 

An item is any object that can be managed using OpenBOM. You can manage items using catalogs. You can define catalogs to manage different item types. Catalogs are used to store your standard items, engineering items, and products, and are reusable. Every item you use in the bill of materials (for every part or assembly/sub-assembly) must be defined in the catalog first. You can use it as a database to define your items for all BOMs. A part number is the key element of OpenBOM data management. Every record in the OpenBOM catalog is associated with a part number and it becomes a unique identifier for your parts and assemblies. 

Part numbers are used in OpenBOM parent-child relationships. OpenBOM maintains the uniqueness of part numbers automatically using catalog features (see below). OpenBOM can also help you to control the uniqueness of part numbers in your organization (using the Company Part Number feature). The OpenBOM catalog provides you with a way to automatically generate part numbers using “Part Number Setup” (refer to part catalog documentation). 

Item revisions are associated with the part number and OpenBOM catalogs allow you to preserve the history of changes in the catalog as well as create item revisions. 

A product structure represents a full definition of the product with all items organized hierarchically as assemblies, sub-assemblies, and parts. OpenBOM is managing product structures using Bill of Materials objects. A bill of materials (BOM) is a list of the assemblies, items, and quantities needed to get a finished product. Catalog items can be reused in different BOMs, and you can add additional information to the catalog items in the BOMs, such as quantity or reference designation. OpenBOM allows you to track the history of changes automatically and create BOM revisions (to extend the information, OpenBOM stores item revisions in the catalog). 

Watch the video for more examples and information –

BOM VIsualization Types 

Let’s take a look at some of the different types of visualizations that are available in OpenBOM to manage the Bill of Materials.

A product structure is a complex structure, but OpenBOM creates a simple visualization model for BOM structure and all objects. As such, OpenBOM provides a flexible data grid that is capable of defining objects with all custom attributes (properties). You can create a catalog with all the information (properties) and edit it in a simple collaborative grid. Bill of Materials can be defined for each item in the catalog and once a Bill of Materials is defined, it produces the list of Item instances with inherited item attributes from catalogs. BOM structure is defined by instance attributes and the most important is Quantity which defines the usage of each item in each BOM. Items and BOMs are organizing a complex information structure that allows any level of complexity.

OpenBOM provides 3 types of visualization of BOM structures:

  • Single-level BOM
  • Multi-level BOM
  • Flattened BOM

These visualizations are not different BOMs, but different ways to visualize the product structure and put the information in the collaborative grid. Don’t be confused by thinking that “single-level BOM” is different from “multi-level BOM”. It is just two different ways to visualize the same structure.

A single-level BOM is the easiest and simplest to edit. Editing a single-level BOM simplifies what you do because you edit a simple list (a slice) in a complex product structure. Use it when you need to define a specific level in your product structure.

A multi-level BOM is the most comprehensive structure in which OpenBOM allows you to drill down in all structure elements (items) as well as allows you to edit the structure by applying a variety of operations to “down, up, shift left and shift right”.

A flattened BOM is the most interesting visualization type, which gives you a way to summarize a structure in a flat list by roll-up of item quantities across multiple levels.

Product Data Model and Reference Instance Model 

Although OpenBOM looks and feels like Excel, it is not Excel and it is very important to understand once you’re starting to work with Excel. The foundation of the OpenBOM product structure is an instance-reference data model that is managing two major information objects – Items and Bill of Materials. 

The first (Item) is controlling all the information about different types of engineering and manufacturing items (eg. Standard Part, Material, Sub-assembly, Product, etc). Anything can be an item, it is identified by a unique Part Number and OpenBOM is allowing to define a flexible set of additional attributes (properties) for each item. Items are managed using Catalogs. Read more about it in OpenBOM Training Library.

The second fundamental object is a BOM (Bill of Materials), which includes a list of components for a specific Item (in case an Item is an assembly, of course). If so, BOM has a Part Number and it always includes a list of Items (each item has a part number). In such a way, a BOM includes a list of items with Part Numbers and a set of attributes (OpenBOM properties). Unlike Items, these properties are called instance properties and they are defined for each BOM.

The third element of product structure – hierarchical relationships are managed by creating a graph structure between items based on the part number and all BOMs. So, by creating items and BOMs, you technically create a virtual product structure stored in OpenBOM databases defining relationships between three objects. 

In the picture above you can see Part Number (PN-0139-00), which has Cost, Description, Manufacturer, and other attributes on the “item” level. This item is used in 2 BOMs – (PN: 823801 and  9239230-1. You can see an “instance” level property (Quantity) used in both BOMs. 

Future OpenBOM Development 

We are not done with OpenBOM development. You might have many questions about different topics of product data, Bill of Materials, structures, configurations, variants, effectivity, serial BOMs, and many others. We are continuously developing OpenBOM and expanding it with features and functions. So, if you have questions about a specific BOM feature, please contact our support team. 

Other articles and materials 

For more information about the OpenBOM data model, articles, videos, webinars, and training courses, check OpenBOM Training Library, OpenBOM blog, and Youtube Channel. 


Although we put a solid foundation behind the OpenBOM data model, we are not done by any means. OpenBOM’s flexible data modeling foundation, combined with a core model to manage Items and Product Structures provides a powerful yet simple way to manage product information in OpenBOM. It is easy to define and it is flexible and expandable. 

OpenBOM allows the management of product information in a granular and structured manner. OpenBOM manages Items using catalogs. You can define as many catalogs as you need and use them for different item types (mechanical, electrical, assembly, materials, labor, etc.). OpenBOM manages product structure by organizing a bill of materials that represents a list of items and is organized into a hierarchy using parent-child relationships. Manage Items and Product structure is easy and OpenBOM gives an ultimate level of flexibility in data modeling to define any type of items, and structures and manage additional information such as the history of changes, revisions, sourcing, and many others. 

REGISTER FOR FREE and start a 14-day free trial to check how OpenBOM can help you. 

Best, Oleg

Related Posts

Also on OpenBOM

4 6
14 June, 2024

The Bill of Materials (BOM) serves as a key component of the manufacturing process. The BOM is a comprehensive list…

14 June, 2024

Change is the only constant thing you can see in every engineering and manufacturing process in your organization. Despite the…

13 June, 2024

In every manufacturing business, cost is a critical factor that can determine success or failure. Efficient cost management is essential…

12 June, 2024

In today’s fast-paced manufacturing environment, companies are increasingly seeking ways to work in a more connected and efficient manner. The…

11 June, 2024

In my previous article, I briefly introduced you to upcoming OpenBOM enhancements related to product structure management and the introduction…

8 June, 2024

In the modern manufacturing and supply chain management environment, streamlining processes from engineering to procurement is vital. To support customer…

7 June, 2024

The common story is for manufacturers to outsource production overseas to take advantage of lower costs amongst other things. At…

6 June, 2024

One of the questions that often causes confusion in product development and manufacturing is change management. This topic has many…

5 June, 2024

The last two decades of SaaS development have changed the way customers are buying software. What was before a lengthy…

To the top