Is Grist right for my application? Engineering Bill of Materials

I have run through the tutorial and built a simple (3 table) mock up of what I am trying to do and really like it so far. I would like some feedback on my final desired outcome and if what I am trying to do is suitable for Grist.

I am an engineer and I am trying to find a way to streamline making a Bill of Materials (BOM) (Parts List) for the equipment I design.

My biggest concern is the ability to create an “indented” BOM. In an indented BOM, some of the “parts” are actually BOMs containing other parts. This nesting can run multiple levels deep. Can anyone advise if there is a reasonable way to do this using Grist tables?

Second, is that I would really like to get an interface with the worksheet in my CAD (drafting) software. So when I draw a system I can either pull data from Grist or push data into Grist. This would be the primary way of generating the BOM by storing a part number with the CAD objects. The intent would be to only have to consider the part number in the drawing, and get all of the description, manufacturer, and pricing from the Grist database. It would need to have a way to handle repeated export and changes to the CAD file. So I would do an initial BOM and them might change parts/add parts/delete parts and want those changes to be handled in Grist. My CAD software can import and export CSV and XLS formats, but it can also provide ODBC connections. Same question as above, can anyone advise if there is a reasonable way of doing this?

Thanks in advance for any advice.

Pat Stanford

Hi! There is a similar-sounding template available in Custom Product Builder - Grist; it may be a good starting point.

Specifically take a look at the Components page, which defines components and price/supplier for each; the Product Builder page, which defines what components go into a product; and the Contract Builder page, which I am guessing is most similar to a BOM – each contract has a number of products, and produces a list of all parts from all the components needed.

For an “indented” BOM, I suggest trying the Markdown custom widget – if you can produce nested markdown lists using a formula, this widget can display that nicely.

As for integrations, there are no built-in integrations in Grist, but there is a REST API and of course imports/exports of CSV and XLSX files too.

  • One option, more automated, would be to invest in coding up some scripts to pull data from Grist to send to CAD or vice versa.
  • Alternatively, you can import and export CSV/XLS as needed. In Grist, you can produce CSVs in the format you want by creating a page with a view with just the columns of interest (and the rest are hidden), and filtered to show the rows of interest. If some columns need particular names, you can always create formulas with the right name. That way exporting this view (from the ... menu above it) would include only the data you see. When importing data, there is an option to import into existing tables, including matching existing rows. See Importing more data - Grist Help Center.

Hope this helps!