Search for a bill of materials template and you will find hundreds of spreadsheets: tidy, generic and built for a product that gets manufactured a thousand times. Machine builders have a different problem. Every build is close to one-off, the parts list grows while the machine is being designed, and the same file has to serve the engineer, the buyer and the person building the machine.
This guide explains what a working BOM template needs, column by column, how to number assemblies so the list stays readable, which spreadsheet habits cause trouble later, and where you can download a free template built for machine builds.
What a Good BOM Template Has to Do
A bill of materials is more than a parts inventory. A useful template answers five questions without anyone having to ask:
- What is in the machine? Every part, grouped by assembly.
- How many? Per machine and in total for the order.
- Who supplies it, and at what price?
- When is it needed, and how long does it take to arrive?
- Where is it in the buying process? Not yet requested, ordered, delivered.
If a column does not help answer one of those questions, it probably does not belong in the first version. You can always add columns; removing ones people already rely on is much harder.
The 15 Columns a Machine BOM Needs
The free template at the end of this article uses these columns, in this order. Each one earns its place.
- Project Code - ties every line to a job, so lines from different projects never get mixed when files are combined.
- Assembly No - the group the part belongs to (frame, pneumatics, electrical). This is what turns a long list into something a person can scan.
- Part No - your own reference for the line, unique within the assembly.
- Description - plain and specific. "Geared motor 0.37 kW" beats "motor".
- Drawing / Datasheet - the drawing number or a link, so the buyer orders what the designer meant.
- Drawing Issue - the revision letter. Ordering from an outdated issue is an expensive way to find out about a change.
- Qty per M/c - how many go into one machine.
- Vendor Ref. - the supplier's own part number or catalog reference.
- Need By - when the part has to be on site, driven by the build schedule.
- Type - who buys or makes it: mechanical, electrical, pneumatic, fabrication. Filter by type to prepare one inquiry per supplier trade.
- Supplier - the preferred source.
- Price (each) - the unit price you were quoted.
- Discount % - your agreed discount, kept separate so the list price stays visible.
- Delivery Time - the supplier's lead time, for example "2 weeks" or "Stock".
- Notes - anything that does not fit elsewhere, such as alternative parts or special packaging.
Our guide to creating a professional bill of materials goes further, with extra columns for stock, minimum order quantities and status. Start with the list above and add those when the project needs them.
Number Your Assemblies Before You Number Your Parts
A flat list of 200 parts is hard to review and harder to chase. Group parts into assemblies first, and give each assembly a short number that everyone uses the same way. A simple scheme that works for machine builds:
- 00 - frame, guarding and base
- 01 - pneumatics
- 02 - drives and motion
- 50 - electrical and controls
The exact numbers matter less than using them consistently. Leave gaps so you can add an assembly later without renumbering the rest. Within each assembly, number parts 001, 002, 003 and treat the combination of assembly and part number as the key, so "01 / 002" always means the same solenoid valve.
The Formulas Worth Adding
A BOM template becomes more useful with three calculated columns. Keep them as formulas, not typed numbers, so a change to the quantity flows through.
- Quantity required = quantity per machine x number of machines in the order.
- Net price = price each x (1 - discount / 100).
- Line total = quantity required x net price.
Put the number of machines in a single cell at the top of the sheet and refer to it, rather than typing it into every row. When the customer changes an order from two machines to three, you change one number.
Ten Habits That Break a BOM Spreadsheet
- Merged cells and blank rows for visual grouping. They break sorting, filtering and any later import. Use an assembly column instead.
- Quantities typed as text such as "2 off" or "x4". They cannot be added up. Keep the number in the cell and the unit in its own column if needed.
- Several versions of the same file with names like "final_v3_USE THIS". Date the file name and keep a short change log sheet.
- Hidden columns that only one person understands.
- Prices without a date. A quote from last year is not today's price.
- Inconsistent part numbers. "PNE-3250", "pne 3250" and "PNE3250" are three different parts to a filter.
- One row for several parts ("fasteners as required"). Each purchased item needs its own line.
- Missing lead times, which makes it impossible to see what is late until it is late.
- No drawing issue, so nobody knows which revision was ordered.
- Header not on the first row, which makes importing the file into other tools harder than it should be.
Download a Free Machine BOM Template
We built a free Excel template with exactly the 15 columns above, example rows for a fictional conveyor machine that you can delete, and a short how-to sheet. It needs no sign-up and no email address. Get it, together with a purchase order tracker and a cost and quote worksheet, on the free templates page.
If you later move to AssembleFlow, the column names match the importer, so the same file imports as it is. Choose Import BOM, pick the file, keep the header on row 1 and the columns map by name.
When a Spreadsheet Stops Being Enough
A good template can carry a small build for a long time. Signs that it is time for something more:
- More than one person edits the file, and conflicts or copies keep appearing.
- You send inquiries and purchase orders from separate documents and retype part data each time.
- Nobody can say quickly whether a part was quoted, ordered or has arrived.
- You reorder parts you already have in stock.
- Costs and quotes live in other files that do not follow BOM changes.
Those are the problems Excel BOM management tends to create as projects grow, and the migration guide explains how to move without disrupting a build in progress. In AssembleFlow, the parts list links each part to inquiries, purchase orders, stock, delivery and cost, so one change updates everything that depends on it. You can see it in the product tour without signing up.
Frequently Asked Questions
What columns does a BOM template need?
Project code, assembly number, part number, description, drawing and issue, quantity per machine, vendor reference, need-by date, type, supplier, price, discount, delivery time and notes.
Is there a free BOM template?
Yes. The free Machine BOM template on our templates page has these 15 columns and example rows you can delete. No sign-up is needed.
Can I import an Excel BOM into AssembleFlow?
Yes. Choose Import BOM, pick the file (CSV, XLSX or XLSM), keep the header on row 1 and map the columns. The template columns map by name.
Free tools: the Excel templates (BOM, PO tracker, cost and quote worksheet), the margin calculator and a product tour need no sign-up.