How to cost a product with a bill of materials (BOM)
Step by step in simple mode
Start with the product name and how many units you plan to make. Then list every material or component that goes into one unit: name, quantity, unit of measure and the unit cost you pay the supplier. To include labour, enter the production time per unit in minutes and what one hour of work costs. Finally choose the target margin. Quima immediately shows material cost, lot production cost, cost per unit and a suggested price. You do not need to know any acronyms: the list you just built is already a technical sheet, also called a bill of materials or BOM.
Multi-level structures and subassemblies
Real products usually have assemblies inside assemblies. A table has a top, a frame and a finish; the frame has legs, rails and screws; each rail is cut from a batten. In professional mode every manufactured item becomes a node in the tree, with its own components, operations and scrap. The same subassembly can be reused in several products or at several points in one structure: Quima flags it as shared, adds up the requirements from every use and costs a single batch with a single setup. Circular references, where an assembly ends up using itself, are detected and block the calculation until fixed.
Units of measure and conversions
Each item has a base unit, in which it is consumed and consolidated, and a purchase unit. Conversions only happen between compatible quantities: 500 g is 0.5 kg, 250 cm is 2.5 m and 90 minutes is 1.5 hours. Kilograms only become litres when you enter the material density. Boxes, rolls, sheets, kits and packs depend on the packaging factor declared on the item itself, such as 1 box = 24 units or 1 roll = 50 metres. Whole units such as piece and unit reject fractions unless the item allows them, and purchases are rounded up to the purchase unit.
Material cost formula with an example
The cost of each component is the required quantity multiplied by the unit cost converted to the same unit. In the table below a table uses 4 legs at 10.00, one top at 80.00 and 12 screws at 0.50: direct material cost is 126.00 before losses and operations. If the screws have a 20% loss on input, the gross quantity becomes 12 ÷ (1 − 0.20) = 15 units, not 14.4, which would merely add 20% to the net quantity. The total rises to 127.50. Every value is computed with exact decimal arithmetic, free from floating-point rounding errors.
| Component | Quantity per product | Unit cost | Cost |
|---|---|---|---|
| Wooden leg | 4 | 10.00 | 40.00 |
| Tabletop | 1 | 80.00 | 80.00 |
| Screw | 12 | 0.50 | 6.00 |
| Screw · 20% loss | 12 / (1 − 0.20) = 15 | 0.50 | 7.50 |
| Total | 126.00 → 127.50 |
Losses, scrap, rework and leftovers
Proportional loss represents material lost while processing the input, such as fabric trimmings or sawdust: gross = net ÷ (1 − rate). Fixed loss is a quantity per lot, such as a machine set-up, and is added after the proportional loss. Scrap covers manufactured units that cannot be sold: to obtain the good units you must start good ÷ (1 − scrap). Rework adds a cost per unit that had to be corrected. Reusable leftovers return part of the loss to stock and lower cost, but not the purchase. In the results, the losses line shows the exact difference between the real calculation and the same calculation without losses.
Labour, machines and overheads
Each operation has a setup time per lot and a run time per unit. Setup cost = setup hours × hourly rate; run cost = hours per unit × quantity × hourly rate. With several operators, state whether the time is clock time, multiplied by the operators, or already totalled labour hours. Machines add equipment, energy, maintenance, depreciation and other costs per hour; if the machine cost already includes the operator, that operation’s labour is not added again. Overheads can be fixed per lot, fixed per unit, a percentage of a chosen base, or allocated per labour hour or machine hour, always with the base visible.
Margin, markup and fees on price
Markup and margin are not the same. With markup, price is cost × (1 + markup): cost 100 with a 20% markup gives 120. With margin, profit is a share of the price: price = cost ÷ (1 − margin), and cost 100 with a 20% margin gives 125. Commissions, card fees and taxes you enter are charged on the price, so they go into the denominator: price = (cost + fixed expenses) ÷ (1 − margin − fees). Adding those percentages to the cost underestimates the price. Quima assumes no taxes for any country; the value shown is a suggested price, subject to commercial and tax review.
Simulations, scenarios and versions
In advanced mode, compare lots of 1, 10, 50, 100 or any quantity and see how setup and fixed lot costs are spread over the unit cost. Create scenarios with higher material prices, lower losses, a supplier switch, a component substitution, different production times or an exchange-rate change, always keeping the original scenario for comparison. Sensitivity analysis recalculates the effect of a 10% increase in each driver and shows which components most influence the final cost. Revisions store the bill with prices, rates and parameters, so you can reproduce the calculation later and follow how cost evolves.
Import, export and limitations
Import a CSV or XLSX spreadsheet with one row per component and the parent assembly code, map the columns and check the preview: Quima flags missing codes, negative quantities, invalid costs, incompatible units, currencies without a rate, duplicates, cycles and losses of 100% or more. Formulas and macros are never run. Export a ten-sheet Excel workbook, a PDF technical sheet, CSV, a full JSON backup, the tree as SVG or PNG and an A4 printout. Results are estimates based on the data you entered: check supplier prices, measured times and your region’s tax rules before deciding.
Frequently asked questions
What is a technical sheet or BOM?
It is the list of everything that makes up a product, with quantities per unit, organised in levels when there are subassemblies. It is the basis for costing, planning purchases and standardising production.
What is the difference between margin and markup?
Markup is applied to cost: price = cost × (1 + markup). Margin is the share of the price left as profit: price = cost ÷ (1 − margin). With a cost of 100, a 20% markup gives 120 and a 20% margin gives 125.
How does a 10% loss work?
A 10% loss on input means that to obtain 9 good units of material you must feed in 10. That is why gross is net ÷ 0.9, not net × 1.1.
Is my data sent to a server?
No. Calculations run in your browser and projects stay in its local storage. Use the JSON backup to keep a copy or move the project to another device.
Does the tool calculate taxes?
It does not assume taxes for any country. You can enter taxes manually as percentages of the price; the result is a suggested price to review with your accountant.
Can I use the bill of materials in other tools?
Yes. Export the material demand to the Supplier Quote Comparator, the parts CSV to the 2D Cutting Optimizer, the consumption JSON to the Replenishment Planner, the price JSON to the Catalog, or open the product in the Quote or Label Generator.
Related tools
Supplier Quote Comparator & Purchasing Analyzer · 2D Cutting Optimizer · Inventory Replenishment & Purchase Planner · Product Feed Generator & Validator · Price label generator · Quote and estimate generator