If there is something in engineering and manufacturing companies that I learn for sure for the last two decades is that terminology is hard. Engineers are continuously using different terminology as a result of existing practices, industry-specific domain or application suites used by companies to design products. All together created quite a complex dilemmas about how to call some of the elements of OpenBOM, so it will be easy to understand and use without additional explanations.
We are getting the biggest number of questions at OpenBOM about Bill of Materials and Catalogs, so we decided to write several articles explaining OpenBOM BOM and Catalogs organization to help understanding it in a better way.
Before jumping to Bill of Materials and Catalogs, let me take you back to OpenBOM reference instance model. Think about creating skateboard like on the picture below. We are building this skateboard from parts. Some of these parts are standard (eg. screw, wheel); some of these parts are engineered and made by a contractor (eg. axle) and some of these parts are made in house (eg. board).
In OpenBOM, we define references – a definition and information about the part we are using in multiple places. Reference has Part Number and can have any additional information – eg. weight, color, manufacturer name, price, etc. Parts References aren’t used anywhere. They are abstract definitions of Parts. References can represent a standard part and engineered parts.
So, whatever you use in your companies (screws, axle, boards, wheels, and brakes for your future skateboard) will be defined as a reference. Skateboard itself is a reference too. Even you don’t have brakes in your first skateboard, brakes assembly will be defined as a reference object in OpenBOM.
OpenBOM Catalog is a place where you define all part references. Think about Catalog(s) as a database of all parts you need to build your products.
When you build a specific product (eg. first prototype of your skateboard), you need to create it in OpenBOM as an instance. In such a case, you take a reference of the part and you create an instance. For a sample skateboard on the picture above, I need one board, 2 axles, 4 wheels, and 20 screws.
To define the instance in OpenBOM, you create a BOM. We create a BOM for a specific Part References and this is how we instantiate it with a specific characteristic you can define in a BOM. For example, I can add a board reference to a BOM and define Quantity = 1 for this board, then add 2 Axles (quantity 2), etc. You can have 2 different boards in your catalog, but you will be using a specific board in a first skateboard BOM you create.
BOM (Bill of Materials) is using references to build a specific product. Information from the catalog is referenced by BOMs, so parts in BOM always have correct information about price, manufacturer, weight, etc. and other parameters defined in the catalog.
Check this picture below.
Reference (Catalog) and instances (BOM) are representing a model to create a product in OpenBOM. You first create a catalog or set of catalogs. We discuss in future articles why you would like to have multiple catalogs. After all the information about assemblies and parts are in the catalog(s), you create a BOM or set of BOMs for a product you plan to the manufacturer.
In the next article, I will explain more in details on how to configure a catalog with a different set of properties, what are default properties in the catalog and how catalog can help you to plan production.
Later, we talk about BOM and how BOMs are using catalogs. Also, we talk about why and when you can use BOM without catalogs.
Stay tuned. Have a good week.
PS. Let’s get to know each other better. If you live in the Greater Boston area, I invite you for a coffee together (coffee is on me). If not nearby, let’s have a virtual coffee session — I will figure out how to send you a real coffee.