Explore, learn and understand the basics concepts and data management foundations in your OpenBOM account
Catalogs are used to store your standard items, engineering items and products, and are reusable. You can think of your Catalogs as a library you can use as a basis to define your BOMs.
A bill of materials (BOM), or product structure, is a list of the assemblies, items and the quantities needed of each to get a finished product. Catalog items can be reused in BOMs, and you can add additional information to the Catalog items in the BOMs, such as quantity or reference designation. In the following picture, you can see one example of the relationship between Catalogs and BOMs:
Catalogs and BOMs are the most important elements of OpenBOM’s information model. To better understand these concepts, let’s look at an example:
In this example, you can see how we’ve built the BOM of the skateboard using Catalogs as a basis.
3. Order BOM
An order BOM is a BOM which has been scaled by the quantity of a batch “order” for that BOM. For example, if your skateboard BOM has a line item of wheels, each with 2 bearings per wheel, and you receive an order for 5 skateboards, then you will have 4 (wheels) X 2 (bearings per wheel) X 5 Orders = 40 bearings in your order BOM.
4. Purchase Orders
Purchase orders (PO) are issued to indicate to vendors the items and quantities that are to be supplied at the agreed upon prices. It is used to control the purchasing of products from external suppliers. In OpenBOM, you automatically populate purchase orders from your order BOMs, link them to your vendors, and extract ready-to-use reports that you can share with your suppliers.
You can define your selected or contracted suppliers list for a project in a vendor list in OpenBOM.
6. Customer Object Types (coming soon)
OpenBOM data model is robust and allows creation of custom types. This function is currently limited only to internal OpenBOM developers, but we expect to provide it in the future also for end users. You will be able to derive your own data type from any existing types or create a new one.
OpenBOM is using a universal model to store and manage data of products. It’s called a reference-instance model. The idea of this model is to create a granularity around two elements’ object reference, object instance and bill of materials.
In terms of flexibility and simplicity, OpenBOM’s model is designed to be in real-time and instance-level accessible. This means I can define a BOM and modify definitions of properties on the fly. This is important since it makes it very similar to the much-loved spreadsheets of Excel. At the same time, it is structured so that this data can be reused.
References are represented by Catalogs in OpenBOM. A reference is an abstract object that can be modelled in OpenBOM. This object has a set of properties and represents any item or assembly. For example, a reference can be a nut, a bolt, a screw, an electric motor, or any piece of equipment you buy, manufacture, or outsource.
An instance is an actual item used in a specific product (engineering product or built product) or an entire product you build. So, if you create a skateboard, which has four wheels, then you have one reference of a wheel and four instances of a wheel.
A picture below shows how data is managed in OpenBOM to support the reference-instance model.
As you can see in the picture, Catalogs are references, and they are represented as nodes, while instances are represented as links. OpenBOM allows you to create and customize properties in both reference and instance models. As an example, you can add a property to a Catalog (e.g. cost) and all items of this Catalog will get this property immediately, regardless of what BOM this item uses. At the same time, you can add an instance property (e.g. reference designator) to a BOM, which will be only used for electronic BOMs and won’t be available or used for mechanical items. Bottom line – you can define any product data using this model.
The parent-child relationship model, which works in parallel with the reference-instance model, creates relationships between assemblies and items. To explain this better, let’s return to the example of the skateboard we used above. There are different assemblies within the same model of a Skateboard, like the Rear Axle and the Front Axle, each with its own items. The parent-child relationship model combines these different levels and builds a relationship between them.
OpenBOM automatically captures and creates this relationship by item numbers, so the user doesn’t have to do anything. These structures can also be built top-down or bottom-up, without worry of whether the upper-level assembly or sub-assembly was created first. OpenBOM’s parent-child relationship is a fundamental element of the product information data model.
Here is a simplified schema of OpenBOM’s basic data model:
OpenBOM’s model is a real-time data management tool and includes both definition of data (properties) and actual data (Catalogs, items, BOMs, etc.). This means that you can expand OpenBOM’s data model in a flexible way at any moment in time by creating new properties, views, or other related elements of data.
Properties are building blocks of information in OpenBOM. OpenBOM supports 8 data (property) types out of the box. Read more about them here.
OpenBOM allows you to create public and private properties.
Public property names are available for all OpenBOM users. You can create them and re-use them. But you cannot delete or change public property.
Private properties can be created using private property tables and these names are only vision to a specific user or team.
OpenBOM allows easy sharing of information. The simplest way to share data is by using the “Share” button in a BOM, Catalog, order BOM, etc. You can share data to read, edit or you can use the Team-View feature to provide more granular access to data by limited access to specific columns and set-up view filters.
Data modelling architecture is extremely important, especially during the times when you have multiple engineers, companies, contractors, and suppliers working together. In OpenBOM, data is securely isolated for each user, team, and company. This means that when you log into your account, you see only your data. However, because of multi-tenant data architecture (similar to Google), you can easily share information between users, teams, and companies. No exporting, importing, or copying of data is needed.
OpenBOM’s data modelling granularity levels include Catalogs, bill of materials, BOM levels, properties, and views.
OpenBOM gives you an easy way to import practically any Excel spreadsheet (with some basic assumptions about records). It is very tempting to import Excel and turn it into a BOM, but I would recommend that you spend a few minutes reading these recommendations.
Step 1: Plan how to use Catalog(s) in OpenBOM.
Think of the set of Catalogs you create as a database of all your items – standard items, engineering items, assemblies, products, materials, etc. – so you need to think about how to create it first.
I recommend that you read about How Many Catalogs You Need To Create In OpenBOM first. In a nutshell, you create Catalogs for any “type” of item. You can also create special Catalogs for components or assemblies provided by contractors or suppliers you share data with.
Once you’ve created a Catalog, adding items to it is easy. Just open the Catalog and click on add item. You can also import data into it from Excel. Use the Import command in the Catalog to bring additional items or sometimes additional columns to existing items (e.g. cost). This information is usually located in multiple places and OpenBOM will help you combine it. Check out this article Import and Merge Catalogs in OpenBOM.
Step 2: Know the properties you need to have in your BOM and Catalog.
Catalogs and BOMs are two connected elements of the product data model. Data in a Catalog represents items. The attributes (properties) managed in Catalogs are usually characteristics of the item that common between all instances of the objects (e.g. description, manufacturer item number, cost, etc.). The attributes (properties) in BOMs are specific for each item instance, for example quantities, reference designator, location, and derived calculated properties such as calculated cost, calculated mass, etc.
When you create a plan for the data stored in OpenBOM, use it as guidance on how to add each specific property.
Step 3: After you have Catalogs, create BOMs.
BOMs are made from objects in the Catalog. The easiest way to create a BOM is to select an item in the Catalog and click on “BOM” from the object command. If a BOM doesn’t exist, OpenBOM will create a new BOM and link it to the Catalog. If you create a BOM using the “Create BOM” command, you can set the Catalog on the same screen.
Step 4: After creating BOMs, connect them in a “nested” structure.
The nested structure of BOMs is called a multi-level BOM. It contains multi-level or single-level BOMs. Each BOM can be created and modelled individually and can have a different set of properties. It is very useful for multi-disciplinary BOMs (e.g. connecting mechanical, electronical and software BOMs).
OpenBOM automatically connects BOMs into hierarchies, so just by using item numbers, you can create any structure. Check more Create Multi-Level BOM or Multi-Level BOM and Three BOM types – Single Level, Multi-Level and Flattened.
Q1. What to create first – BOM or Catalog?
A1. While OpenBOM is not limiting the order BOM and Catalogs can be created, you better start from catalogs as a foundation of your data model in OpenBOM
Q2. How can I turn a BOM into a Catalog?
A2. You should think about creating catalogs first as a foundation of the data. Catalog(s) are representing a database of the items in your account. However, if you’ve created or imported a BOM already using one of the methods (eg. CAD import), don’t worry. You can always export the BOM to Excel and import it as a Catalog. Before you do so, please read Step 2.
Q3: How do I link BOMs to Catalogs?
A3: Bill of materials are automatically linked to catalogs using “Parts and Catalogs” command. The default link is based on a part number. However, you can link Catalog to a BOM using secondary key (BOM to Catalog link settings). If you’ve created a BOM, it has an item number (this is a item number of the top-level item, which you must also have defined in the Catalog).
Q4: Why does OpenBOM show me the error that properties are duplicated between BOMs and Catalogs?
A4: This means you created a property with the same name in both the BOM and Catalog. While technically OpenBOM allows you to do so, it is not recommended. When you assign Catalogs to a BOM, it checks if duplications are made and sends you an alert. The typical recommendation is to answer “Yes” when prompted. But be careful: data in the BOM may be deleted. Spend some time planning the data model of your BOMs and Catalogs. Read Step 2 again.
OpenBOM gives you a very powerful and robust data modelling paradigm allowing you to manage product structure and related information. Though we use BOM as a simple name, the robustness of the OpenBOM data model can outperform many PDM and PLM systems that exist on the market today.
Check out what OpenBOM can do today by subscribing to OpenBOM here and request a trial version.