All projects must be associated to an in-house part. While a project allows you to describe and manage bill of materials, revisions and builds, the part associated to it allows you to manage its inventory.

Thus, whenever a build is finished, the resulting quantity is added to the inventory of the part the project is associated to.

Importing BOMs

Bill of materials can be imported through a CSV file. To learn how to import table-structured data, please refer to Import & Export.


Sub-assemblies are implemented through in-house parts and projects. As every project must have an in-house part associated to it, this same in-house part can then be used in another project's BOM.

Generic Parts

Please refer to Generic Parts.

Generic parts can be used in two ways during production:

  1. Postponing the decision of which (real) part to use in a BOM item: in this case, during production, you'd Pick an Alternate part to be used in place of the generic part - only inventory from this specific part would be used
  2. Consuming inventory from multiple parts: as parts listed under a generic part can be used interchangeably, inventory can be consumed from several part numbers (you still have to pick which parts to use and from where to source inventory when reserving/assembling items)

After picking inventory to reserve/assemble, the Sources column will display which parts were used:


You can easily create and keep track of multiple revisions.

Revision's name should reflect a chronology, from older to most recent, when sorted alphabetically (e.g. A, B, or RevA, RevB or Rev1, Rev2, etc)


In case a single PCB design is meant to be used for different variants or models of the same product, some of the items on the BOM might be marked as DNP (do not populate).

This makes it easier, during assembly, to assess which BOM reference designators on the PCB are meant be left empty.

If you want to keep track of inventory of different models/variants you should incorporate the variant in the project revision's name (e.g. Rev1-A, Rev1-B) or to create two different parts and projects.

Pricing and Availability

The Pricing & Availability tab allows you to check if you have enough in-house inventory so you can build a given number of units of your project. It can also be used to check for pricing and availability on online and custom suppliers.

If you don't have enough inventory, you can easily create a purchase list that has the required quantities automatically filled. You can also select a purchasing criteria:

  • Purchase all: purchase all parts as if you'd have no in-house inventory of any part (i.e. in-house inventory is ignored)
  • Purchase if needed: only purchase the parts that you don't have enough in-house inventory of

Enforcing Quote Selection

Selecting a quote from the Available Quotes has the advantage of making it easier to ensure the parts you want to buy, in the quantities you need, are actually available. However, listed quotes from online suppliers, can sometimes be outdated, showing as "not available" when the part is in fact available on a given supplier. An alternative would be to create a custom supplier and to define custom quotes and price breaks.

As this might be inconvenient, enforcing quote selection is disabled by default and can be changed through Settings > Workspace > Enforce quote selection.

When disabled, all it takes to create a purchase list through Pricing & Availability is to have a supplier defined, which will be picked from the Part's data or from the global preferred suppliers (Settings - Workspace). In this case, you are responsible for making sure the part is available on a given supplier. Also, even if disabled, you can still pick a quote from the ones listed.

In-house Part Has Insufficient Stock

When it comes to availability of in-house parts used in a project BOM, in case you don't have enough inventory, the app will also tell you if you still have enough inventory to build the required quantity or not.

That's because BOMIST knows what it takes to build every in-house part through its own project BOM. To check for availability (i.e. if you have enough stock to build X units of an in-house part) the most recent revision is picked.