Bill of materials procurement turns a BOM into orders: each line times the units to make, plus scrap, minus stock held or ordered. Round the result up to the supplier's pack, and order one lead time before the material is needed. Skip a step and the workshop either stops for a missing part or pays for stock it didn't need.
This guide works a Kampala workshop's order for 120 school desks from BOM to purchase list, in Uganda shillings. The desk is the one built in how to create a bill of materials.
What a BOM gives procurement, and what it doesn't
A BOM tells the buyer what to buy, to what specification, and how much goes into one unit. It doesn't say how many units, by when, or what is already in the store.
Material requirements planning (MRP) joins the three. Investopedia lists its inputs as the production schedule, the stock held and on order, and the bill of materials. Its output is what to buy, how much and when.
A small workshop runs the same logic in a spreadsheet, one order at a time. The bill of materials is the first input; the customer's order and your stock records are the other two.
How to turn a BOM into a purchase list, in five steps
For example, a workshop in Kampala wins an order for 120 double desks, for delivery in week 8. Production runs in weeks 5 to 7, so every material must be in the store when week 5 starts. The figures are illustrative.
Step 1: Explode the BOM
Multiply each line's quantity per desk by 120, and add up materials that appear on more than one line. Plywood is 0.25 sheet for the top and 0.125 for the seat, so 45 sheets.
Step 2: Add the scrap allowance
Use the allowance the BOM already carries: 5% on tube and 10% on paint and varnish. The tube becomes 1.575 lengths a desk, so 189 lengths.
Step 3: Subtract stock on hand and on order
Take off what the store holds and what is ordered but not yet received. The workshop has 5 sheets of plywood in the store and 10 on order, so it buys 30, not 45.
Forget the open order and the workshop buys 10 sheets twice, tying up UGX 1,400,000 in plywood it has already ordered.
Step 4: Round up to the supplier's pack
Buy whole packs: paint and varnish by the 4-litre tin, bolts by the box of 100, rods by the 5 kg packet. The workshop needs 31.6 litres of paint, so it buys 8 tins, or 32 litres.
Ask each supplier for its minimum order too, as inventory purchasing advises.
Step 5: Set an order date from each lead time
Order by the week you need a material, minus its lead time. Plywood takes 2 weeks, so it is ordered by the start of week 3, and one-week items by the start of week 4.
| Material | Per desk, with scrap | For 120 desks | On hand | On order | To buy | Bought as | Cost |
|---|---|---|---|---|---|---|---|
| Square tube, 6 m lengths | 1.575 | 189 | 14 | 0 | 175 | 175 lengths | 5,600,000 |
| Welding rods, kg | 0.2 | 24 | 3 | 0 | 21 | 5 packets of 5 kg | 275,000 |
| Black paint, litres | 0.33 | 39.6 | 8 | 0 | 31.6 | 8 tins of 4 litres | 480,000 |
| Foot caps | 4 | 480 | 150 | 0 | 330 | 330 rubber caps, the alternate | 264,000 |
| Plywood 18 mm, sheets | 0.375 | 45 | 5 | 10 | 30 | 30 sheets | 4,200,000 |
| Clear varnish, litres | 0.275 | 33 | 4 | 0 | 29 | 8 tins of 4 litres | 640,000 |
| Bolt sets | 8 | 960 | 200 | 0 | 760 | 8 boxes of 100 | 560,000 |
| Total | 12,019,000 |
Packs leave a little over: 4 kg of rods, 3 litres of varnish and 40 bolt sets after the job. That stock is where the next order's netting starts.
Scrap allowance: multiply or divide?
Multiply by (1 + allowance) when the allowance is extra material per good unit. Divide by (1 − loss) when the loss is a share of what you issue. Use the wrong one and you under-buy by the loss rate squared.
The desk's 10% on paint was measured as extra paint per frame, so 36 litres × 1.10 = 39.6 litres is right. If instead 10% of all paint issued never reaches a frame, the job needs 36 ÷ 0.90 = 40 litres.
| Loss rate | Multiply by | Divide by | Multiplying buys too little by |
|---|---|---|---|
| 5% | 1.05 | 0.95, the same as × 1.053 | 0.25% |
| 10% | 1.10 | 0.90, the same as × 1.111 | 1% |
| 20% | 1.20 | 0.80, the same as × 1.250 | 4% |
| 30% | 1.30 | 0.70, the same as × 1.429 | 9% |
At 5% the difference hardly matters. Where cutting losses reach 20% or 30%, it means a shortage on the last day of the run. How to reduce manufacturing waste covers bringing the rate down.
Lead times decide the order date
Plan with the time from the day you order to the day the material is in your store, not the supplier's dispatch date. For an imported material, that includes the sea, the port and the road.
The desk's plastic foot caps come in through Mombasa. The table builds their lead time, with the port and road times from the Northern Corridor Transport Observatory's 2022 report.
| Stage | Time | Where the figure comes from |
|---|---|---|
| Supplier makes and ships | 2 weeks | Example |
| Sea freight to Mombasa | 4 weeks | Example |
| Mombasa port, arrival to leaving | 86.8 hours, about 3.6 days | Observatory: average for container imports in 2022 |
| Road, Mombasa to Kampala, 1,169 km | 104 hours, about 4.3 days | Observatory: average in 2022 |
| Clearing and delivery in Kampala | 1 week | Example |
| Total | About 8 weeks |
Ordered today, the caps would arrive four weeks after production starts. They should have been ordered four weeks before the school's order came in.
The BOM holds the way out. The 150 caps in stock cover 37 desks, and the approved alternate covers the rest: rubber caps from a Kampala hardware shop at UGX 800 each.
The alternate costs UGX 64,000 more than the imported bags would have. Without it, 83 desks could not be delivered.
Recheck each supplier's real delivery time every quarter, and plan imported lines on recent deliveries, not the quote. Order cycle time shows how to measure it.
From purchase list to cash plan
Each order date is also a payment date, so the purchase list doubles as a cash plan.
| Order by | Materials | Amount |
|---|---|---|
| Start of week 3 | Plywood | 4,200,000 |
| Start of week 4 | Tube, rods, paint, varnish, bolts and the rubber caps | 7,819,000 |
| Total | 12,019,000 |
Nearly two thirds of the money goes out a week before production starts. A workshop that takes a deposit from the school can time it for that week.
Imported lines carry a second risk: a price set in dollars moves with the shilling between quote and payment. Price the job with room for it.
Where BOM-driven buying goes wrong
Each of these ends in surplus stock or a stockout on the workshop floor, where a missing part stops every unit on the order.
- An outdated BOM. Buying from an old revision orders a part the design dropped. Check the revision before every explosion.
- Open orders forgotten. The plywood above would have been bought twice.
- Each order exploded alone. Bolts for desks and benches bought separately miss the box price. Add up every open job's needs first.
- A supplier changes the part. A new plywood grade that doesn't match the BOM's description fails at assembly.
- Lead times from memory. The quote says one week; the last three deliveries took two.
Best practices for buying from a BOM
- Buy from one current revision. Everyone works from the same file, checked before each order.
- Keep specifications on the BOM. Size, grade and finish on every line, so nobody can substitute without asking.
- List approved alternates. A tested substitute turns a late delivery into a small extra cost.
- Record real lead times. Note each delivery's actual days, and plan on the recent average.
- Share the plan with key suppliers. Telling the timber yard you need 30 sheets in week 3 gets them set aside.
- Count before you net. A wrong stock figure buys wrongly, so count the materials a big order needs, as raw materials inventory sets out.
How to buy from a BOM with ArmPOS
ArmPOS has no production module: no bill of materials, no work orders and no automatic use of materials when goods are made. Explode the BOM in a spreadsheet, and use ArmPOS for the stock figures and the orders.
- Read what you hold. The Stock Report lists each material's Current Stock, across all warehouses or for one (Stock reports).
- Read what is on order. Purchases › All Purchases shows each purchase's Status. Purchases still ordered or pending haven't added stock yet (Record a purchase).
- Order in the supplier's pack. Build a Tin unit on Litre with Multiply 4, and make it the paint's Purchase Unit (Categories, brands and units).
- Raise each order as ordered. When the goods arrive, open Edit Purchase and set the status to received: the stock is added then. The pencil on a line sets its cost, so enter the landed cost.
- Send it and pay it. The purchase's menu has Download Pdf for the supplier and Create Payment; People › Suppliers shows what you owe each one (Pay your suppliers).
- Keep routine lines on alerts. Set a Stock Alert on bolts, rods and paint. Product Quantity Alerts then lists them before a job finds them short (Reports to check every day).
Frequently asked questions
How does a BOM help procurement?
It tells the buyer what to buy, to what specification and how much goes into one unit. With the production plan and stock records, it gives every order's quantity and date.
What is BOM explosion?
Multiplying each BOM line by the units to make, level by level, to get the total of every material. At 0.375 sheet a desk, 120 desks explode into 45 sheets of plywood.
How do you calculate material requirements from a BOM?
Units to make × quantity per unit, plus scrap, minus stock on hand and on order. Then round up to the supplier's pack.
What is a scrap factor in a BOM?
The extra material allowed for normal losses, as a percentage. Multiply by (1 + allowance) if it is extra per good unit, and divide by (1 − loss) if it is a share of what you issue.
What is the difference between a BOM and MRP?
A BOM is the list for one unit. MRP multiplies it by the production plan and nets it against stock to say what to buy and when.
Run your next order through the five steps before you buy anything. To see what you hold and what is on order in one place, create a free ArmPOS account.