Check a Bill of Materials With AI: Template, Gaps and Revisions

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Check a Bill of Materials With AI: Template, Gaps and Revisions.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Check a Bill of Materials With AI: Template, Gaps and Revisions.

Build the bill of materials as a spreadsheet with one row per part (part number, description, quantity, unit of measure, supplier, unit cost), then give it to an AI tool with the product description and ask for missing parts, duplicates and unit mismatches. Anything the AI flags is a question for the person who builds the product, not an answer.

The check earns its keep because so many BOM faults are omissions: the fixings bag, the edge banding, the carton. They are cheap parts, easy to forget and invisible until the product is costed too low or a build stops for want of a screw. A second reader that never gets bored of part numbers is a useful safeguard for a small team.

Follow me on Instagram@sagnikteaches

A bill of materials template that survives growth

Resist the urge to start with a clever layout. Start with a plain table that you can sort and filter, and make the first column a part number that never changes. These are the columns I would put in the template:

Connect on LinkedInSagnik Bhattacharya
  • Level: 0 for the finished product, 1 for parts that go straight into it, 2 for parts inside a sub-assembly.
  • Part number: unique, meaningless to anyone but you, never reused for a different item. A readable prefix such as PNL (panel) or HW (hardware) helps sorting.
  • Description: short and specific, with the size or grade that makes it different from a similar part.
  • Quantity per unit and unit of measure: each, metre, kilogram, litre. Never leave the unit implied.
  • Supplier and supplier part code: so you can reorder without searching your inbox.
  • Unit cost and extended cost: unit cost multiplied by quantity, as a formula.
  • Revision and status: which version of the product the line belongs to, and whether the part is active, obsolete or pending.
  • Notes: finish, tolerance, or a warning such as "check grain direction".

Keep one sheet per product and one revision log on a separate tab. If you later add a second product that shares parts, the shared parts keep their numbers and appear on both sheets, which is the whole point of having numbers in the first place.

Subscribe on YouTube@sagnikteaches

The main example: a flat-pack bookcase

Take an illustrative six-person workshop making a five-shelf, veneered bookcase, BK-100. A first draft of its BOM, written from the drawing, looks like this. All prices are made up for the example.

Part no.DescriptionQtyUoMUnit costExtended
PNL-SIDE-1800Side panel 1800 x 300 x 18 mm, veneered2each$14.20$28.40
PNL-SHELF-760Shelf 760 x 280 x 18 mm5each$5.10$25.50
PNL-BACK-1800Back panel 1800 x 780 x 3 mm hardboard1each$6.30$6.30
PNL-TOP-800Top panel 800 x 300 x 18 mm1each$6.20$6.20
PNL-BASE-800Base panel 800 x 300 x 18 mm1each$6.20$6.20
HW-CAM-15Cam lock 15 mm8each$0.12$0.96
HW-BOLT-M6Cam bolt M68each$0.06$0.48
HW-DOWEL-8Dowel 8 x 30 mm8each$0.03$0.24
HW-NAIL-18Back panel nail 18 mm40each$0.01$0.40

The draft total is $74.68. It looks tidy, and every line sums correctly. It is also incomplete, and nobody would see that by reading it, because a list that is missing things looks exactly like a list that is not.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

The prompt that finds the gaps

The trick is to give the AI two independent descriptions of the same product and ask it to compare them. The BOM is one. The other is anything written from a different angle: the assembly instructions, the product page, the drawing's notes or the packing specification. Differences between the two are where the omissions live.

Below are (A) the bill of materials for a flat-pack bookcase and (B) the product
description and assembly steps. Compare them.

Tasks:
1. List every physical item mentioned or implied in B that has no line in A.
2. List every line in A that is not mentioned or implied in B.
3. Check quantities: for each fixing, show how the quantity is derived from the
   number of joints in B. Flag any that do not add up.
4. Flag lines with an unclear or missing unit of measure.
5. Flag two lines that may be the same part under different numbers.
Do not guess prices. If something is ambiguous, ask me instead of assuming.

(A) BOM:
[paste the table]

(B) Description and steps:
Five-shelf bookcase, 1800 mm high, veneered, shelves adjustable on pins at
32 mm spacing, front edges banded in matching oak, 3 mm back panel nailed on,
top and base fixed with cam locks and dowels. Ships in one carton with corner
protectors, an assembly leaflet and a bag of fixings.

A realistic reply to that prompt (illustrative) would say: no line for shelf pins, although B says shelves are adjustable on pins; no line for edge banding, although B says front edges are banded; no packaging lines, although B mentions a carton, corner protectors, a leaflet and a bag; the fixing quantities match eight cam joints, four at the top and four at the base. Notice what it did not do. It did not invent a price or a supplier. It named three families of missing items, and that is enough for you to go and fill them in.

Now you fill the gaps from your own knowledge and records: 20 shelf pins at $0.04 (4 per shelf, 5 shelves) is $0.80; 9.0 m of edge banding at $0.18 per metre is $1.62 (five shelves at 0.76 m, top and base fronts at 0.8 m each, two side fronts at 1.8 m each); packaging of carton $3.40, corner protectors 8 at $0.05, leaflet $0.15 and fixings bag $0.10 comes to $4.05. The corrected material cost is 74.68 + 0.80 + 1.62 + 4.05 = $81.15. The draft was $6.47 short, which is 8.7% of what it said. On a bookcase sold at a wholesale price, an error of that size can erase a margin.

How the check works for sub-assemblies and levels

Products with sub-assemblies need the level column. Say a different product, a trolley with a welded frame, has a frame sub-assembly with its own parts. The frame is level 1, the tubes, plates and bolts inside it are level 2, and the BOM lists the frame once with a quantity of 1. Ask the AI to check two things: that every level 2 part has a level 1 parent, and that no part appears at level 1 and again inside the sub-assembly unless the quantity differs by design.

This catches a particular mistake: a bolt that is counted once for the frame and once for the final build, so you pay for it twice, or the reverse, where each team assumes the other has ordered it. A short instruction does the job: "List every part that appears under more than one parent and show the combined quantity." The answer is not always an error, since shared parts exist, but it is always worth a look.

Unit-of-measure mistakes that move the total

The silent killer in a BOM is the unit. Edge banding is sold by the roll but used by the metre. If the supplier sells a 50 m roll for $9.00, the unit cost per metre is $9.00 / 50 = $0.18. Enter $9.00 against a quantity of 9.0 and you have costed 9 rolls instead of 9 metres, an error of $79.38 in a single line (9 x $9.00 = $81.00, against the true $1.62). An error that size usually gets spotted, but smaller versions slip through: a quantity in millimetres against a cost per metre, or a kilogram of adhesive entered as a litre.

Ask the AI to list every line whose unit of measure differs from the supplier's selling unit, and to show the conversion it assumes. Then verify each conversion by hand against the supplier's price list. This is a place where an AI tool is useful for finding candidates and poor at being trusted without verification, because it will happily assume that a roll is 50 m when the real roll is 25 m.

Revision control, in a spreadsheet, without drama

A BOM changes. A supplier discontinues a hinge, a customer asks for a thicker back panel, a cost-cutting idea replaces a bolt. Without a trail you cannot answer the question "what was in the ones we shipped in March?" Revision control does not need software to begin with, only discipline:

  1. Never edit a released BOM. Copy it to a new tab, name it Rev B, and change that.
  2. Write a change note in a log tab: revision, date, what changed, why, who approved, and the first batch or serial number that uses it.
  3. Mark old parts obsolete in the status column rather than deleting the line, so existing stock can still be identified.
  4. Cost the difference. Every change note carries its effect on unit cost and annual cost.

Take Rev B of the bookcase: the customer asks for a 4 mm back panel instead of 3 mm to stop it flexing. The new part, PNL-BACK-1800-4, costs $7.10, against $6.30. The change adds $0.80 per unit, raising material cost from $81.15 to $81.95. At an illustrative 1,200 units a year the change costs $960 a year. That is the number the person approving the change should see before they approve it.

AI helps here in two ways. First, ask it to compare two revision tabs and list every difference in part number, quantity, unit or cost, then verify against your change note, which catches the untracked edit someone made in passing. Second, ask it to draft the change note itself from the differences, so the log is written the same day, not three weeks later when memory has faded.

Compare the Rev A and Rev B tabs below. List every difference by part number,
showing old and new quantity, unit and cost. Then draft a change note with: what
changed, effect on unit material cost (in dollars and percent), and the stock of
the old part that becomes obsolete. Flag any difference that I have not
mentioned in this message: the change I made was the back panel only.

That last sentence is the useful one. If the AI reports a second difference you did not intend, such as a cam lock quantity that changed from 8 to 6 by accident, you have caught an unauthorised edit.

Duplicate parts under two numbers

Small firms accumulate duplicates. One person lists "Cam lock 15 mm" as HW-CAM-15, another adds "15mm cam fitting" as HW-CAMFIT-15 after a new supplier delivery. Now the BOM shows both on different products, stock is split between two numbers, and neither reorder level is right. Ask the AI to cluster descriptions that are similar after you remove punctuation and units, and list likely pairs with its reason. A sample result (illustrative): "HW-CAM-15 and HW-CAMFIT-15 are likely the same: both 15 mm cam fittings, both used on top and base joints." You then confirm with the physical part, merge the numbers and mark one obsolete.

From a checked BOM to a cost you can price from

A BOM gives material cost, nothing more. The price you quote needs labour, overhead and margin on top. A quick sum shows how far material alone is from a price. If material is $81.15, a scrap allowance of 3% on the panel lines (72.60 x 3% = $2.18) lifts it to $83.33. Add, say, 40 minutes of assembly and packing at $24 an hour ($16.00), and overhead at 15% of labour and material ($14.90), and the unit cost is about $114.23 before margin. Those labour and overhead figures are illustrative, but the order of working is the point: material from the BOM, then scrap, then labour, then overhead, then margin. For the full estimate on a product you have not made before, manufacturing cost estimating for a new product picks up from exactly this point.

For a worked costing sheet with yield loss, see the food-product version in batch, yield loss and margin; the same logic applies to panels and offcuts. If a supplier raises a price, the BOM is where you find out which products it touches. To make that routine, tracking supplier prices, lead times and risk shows how to log changes. When you compare competing quotes for the same parts, comparing supplier quotes side by side relies on the part numbers you have just created.

A filled-in revision log, so the habit is easy to copy

A revision log does not need to be long. Here is the bookcase log after two changes, as it would sit on its own tab (illustrative):

RevDateChangeReasonUnit cost effectApproved byFirst batch
AReleaseFirst full BOM, 15 linesLaunch$81.15OwnerBatch 001
BTwo weeks laterBack panel 3 mm to 4 mm (PNL-BACK-1800-4)Back flexed in transit test+$0.80 ($81.95)OwnerBatch 004
CNext quarterDowel 8 x 30 mm to 8 x 35 mmSupplier stopped the 30 mm size+$0.01 ($81.96)Production leadBatch 009

With a log like this, a customer complaint about a bookcase from batch 003 can be answered in a minute: it was built to Rev A, with the 3 mm back. Without it, the answer is a search through old emails. The same log is what you hand to an auditor, an insurer or a buyer who asks how you control product changes, and it is what you hand to the AI when you ask it to draft the next change note, because it can follow the established wording.

When an AI-drafted BOM goes wrong: drafting from a photo

Consider an illustrative shortcut that goes badly. A founder photographs the parts bin and the finished product and asks a chat tool to "write the BOM". The reply is confident and well laid out, with 22 lines. Checked against a physical build, four are wrong: it counts 12 cam locks because it sees 12 holes (four of them take dowels only), lists a "plastic leg" that belongs to a different model in the picture, gives the back panel as 6 mm because it assumes a standard, and skips the leaflet entirely because paper does not show in a photo of hardware.

None of that is surprising. The tool was working from what it could see and filling the rest with common practice. The lesson is not to avoid it, but to use it where it is strong, at turning a messy list into a clean table and at comparing two descriptions, and to keep the quantities and dimensions in human hands. A useful rule: every quantity and every dimension in the BOM must trace to a drawing, a supplier sheet or a count you did yourself. If the AI supplied a figure, find where it came from or replace it.

Setting up the first check in an afternoon

Pick your best-selling product, not your most complicated one. Spend the first hour getting the table into the template columns and giving every part a number. Spend the second hour writing the independent description: the instructions, the packing spec and anything a new assembler would be told on day one. Spend the third running the gap prompt, resolving each flagged item, and correcting the cost. The fourth hour goes on building one physical unit against the list. At the end you have one trusted BOM, a revision log with Rev A in it, and a prompt you can reuse on the next product. Doing the second product takes about half as long, because the part numbers are shared and the prompt is written.

Three other businesses that run the same check

  • A cable assembly shop lists connectors, wire by the metre and heat-shrink sleeves. The AI check finds that the build instructions mention a label, but the BOM has no label line, and that wire is entered in metres while the supplier sells it in reels.
  • A small bakery producing packaged gift boxes compares its recipe card, which lists the biscuit tin, ribbon and insert card, against the BOM, and finds that the ribbon appears at level 1 and again inside the tin sub-assembly.
  • A furniture upholsterer lists foam, fabric in metres, webbing and staples. The AI notices that fabric is quantified per chair in square metres on one line and linear metres on another, which gives two different totals.

Limits you should respect

An AI tool does not know what you have in the workshop. It can find an item that is mentioned in your text and absent from your table. It cannot find an item that is absent from both, such as a tool-specific fixing that the whole team has always added from habit. The best defence is a physical check: build one unit with the BOM in hand, ticking each line as you use it, and note anything you reached for that was not on the list. That one build session catches what no spreadsheet will.

Keep prices out of any tool you are not sure about. The gap check needs only part numbers, descriptions, quantities and units, so you can paste the table without the cost columns. Confirm what your plan does with uploaded content before pasting anything, and keep the master file where you control it.

Finally, put a person's name against sign-off. A BOM released without an owner drifts. One named person approves each revision, and the AI check becomes the step they run before they sign. If you want that routine set up across your whole product range, we can plan it on an AI implementation consultation.

Bill of materials questions from small manufacturers

Do I need ERP software to keep a bill of materials?

No. A small manufacturer with a handful of products can run a BOM in a spreadsheet, provided every part has a unique number and every change is logged. ERP becomes worth considering when you have many products, shared sub-assemblies or stock that must update automatically.

What is the difference between a BOM and a parts list?

A parts list names the pieces. A BOM also gives each piece a part number, a quantity, a unit of measure, a supplier and a cost, and shows how parts group into sub-assemblies. That extra structure is what lets you cost, order and check a product.

Can AI read my drawings to build the BOM?

It can read a clear parts table or a typed description and propose a draft, but it often misreads quantities on drawings and cannot see what is missing from a picture. Treat any AI-drafted BOM as a first pass that someone who has built the product must verify.

How many revisions should a BOM keep?

Keep every revision, never overwrite. Each one needs a letter or number, a date, a reason and who approved it. Old revisions let you explain why a batch built last spring cost more or looked different from one built today.

Is it safe to upload supplier prices to an AI tool?

Supplier prices are commercially sensitive, so use a business plan that does not train on your content by default, or remove prices and check structure only. Gap checking works on part numbers and quantities, so it rarely needs costs at all.

Further reads

Sources: general bill-of-materials and engineering-change practice; no vendor pricing was used. Product names in the example are illustrative.

Want your BOM and costing tied together?

On a 1:1 call we'll look at how your parts lists, supplier prices and product costs are kept today, decide where AI checks would catch errors earliest, and set up a routine your team can run.

Book a 1:1 call with me