Flexible Bill of Materials Data Model

Oleg Shilovitsky
Oleg Shilovitsky
1 October, 2020 | 4 min for reading
Flexible Bill of Materials Data Model

The Bill of Materials is the most fundamental part of any PLM solution. Therefore, when designed OpenBOM, we paid special attention to how to create a model to hold product data (Bill of Materials) and to make it flexible and extendible. 

The data management architecture of OpenBOM is built using flexible data objects holding different data objects. These data objects are flexible and generic. OpenBOM provides predefined five data objects – Catalog, BOM, Vendor, Order BOM, and Purchase Order. The relationships between them create a logical data model supporting OpenBOM out of the box functions. However, objects and relationships can be extended. OpenBOM is using flexible real-time data schemas that can be configured at any moment of time by administrators and users. 

In this article, I will give you five easy steps to understand the OpenBOM data model. 

1- Item Database 

The foundation of all data in OpenBOM is a database of all item objects. The items are representing anything in your product (or what you need to build your product). Engineering items, Standard items, Purchased Items, etc. The classification of items is modeled by managing different catalogs. Each catalog can have a different set of attributes and so you create these catalogs and store data about items in these catalogs. 

A typical catalog in OpenBOM holds Part Number, Description, Cost, Unit of Measures, and Quantity on Hand properties. You can add more properties. This is an important part of data modeling – add information to the catalog. You can always extend it using the manual entry of automatic import and merge. 

Tip: The easiest way to create a catalog is to use the “Create Catalog” command. An alternative option is to import a catalog from Excel (or Google Spreadsheet). 

2- Bill of Materials 

BOM holds information about relationships about items. The simplest BOM is a list of items, which defines “one level” BOM. You can create it manually or import BOM from Excel or Google Sheet. It is important to understand the parent-child relationship. For the simplest BOM, the parent-child relationships are between the BOM (Item) and each item in this BOM.

Tip: The easiest way to create a BOM is to click on item in the catalog and then “OpenBOM Item’s BOM”. If BOM is available, it will be open, otherwise, you will be able to create a new one. 

3- Reference-Instance relationships 

Each item defined in the catalog can be used (instantiated) in many BOMs. OpenBOM holds the relationship and by doing so allows to BOM always to have an access to the most updated item record. This relationship is dynamically set using Part and Catalogs command in BOM, which is super flexible as you can change it on the fly and see multiple item options. 

Tip: You can see how powerful reference-instance dynamic relationships in OpenBOM by switching between 2 catalogs (prototype and production) and seeing how BOM cost calculation is changing on the fly. 

4- Product Structure 

A set of parent-child relationships is creating a product structure in OpenBOM. The product structure is dynamically visualized form multiple single-level BOMs, which can be edited together and independently. OpenBOM will manage these relationships automatically. To access it, you need to switch between “single-level” and multi-level BOMs in BOM user interface. 

Tip:  To explore product structure, open the top-level Bil of materials, and switch to Multi-level. You will be able to drill-down to the assembly levels. OpenBOM will visualize it in the indented form in the user interface. 

5-  BOM types (multi-level, single-level, flattened) 

There are three specific BOM types automatically supported by OpenBOM ( single-level, multi-level, and flattened). The single-level presents items of the specific assembly (BOM) with the part number. The multi-level allows you to drill down. Flattened is a quantity rollup from the selected top-level assembly (BOM) down. 

Tip: it is easy to understand BOM types by switching between muti-level and flattened. When you do so, OpenBOM calculates the quantity rollup. 

Conclusion. 

The OpenBOM data model is easy to understand.  Once you’ve got the foundation – items and BOM, parent-child relationships, and different BOM types, you can build any data model to support your engineering and product development functions.

Best, Oleg @ openbom dot com.

Want to learn more about PLM? Check out my Beyond PLM blog and PLM Book website. Read OpenBOM customer reviews on G2 Crowd to learn what customers are saying about OpenBOM. 

Related Posts

Also on OpenBOM

4 6
13 June, 2025

Every engineering team has lived through this moment: a new product revision gets released, the buyer runs a PO, and...

12 June, 2025

Have you ever faced that moment during a project review where someone asks, “Why did the cost go up?” or...

11 June, 2025

As we move into the summer, we’re excited to share several new updates and improvements in the May 2025 OpenBOM...

10 June, 2025

At OpenBOM, we’re committed to reducing friction when it comes to managing your product data. With our latest enhancement, we’re...

6 June, 2025

At OpenBOM, we’ve always believed that managing product data should be smarter, easier, and more connected, not just for engineering...

5 June, 2025

At OpenBOM, we’re excited to preview a new feature for users of Autodesk Fusion — the ability to insert a...

4 June, 2025

Connecting engineering systems with ERP has always been one of the most challenging and often costly aspects of PLM implementation...

3 June, 2025

Engineering and procurement are two operations that often run in silos even in a small organization or engineering team. Their...

30 May, 2025

You’re staring at three BOMs – Excel sheets from different engineers. The formatting is inconsistent. Part numbers and columns don’t...

To the top