The quick answer
Go to Reports > Cost Accounting > Costed Bill of Materials, choose the assembly and location, check By Manufacturing Routing and click Submit. The report shows the assembly three ways. Material Costs is the bill of materials by level. Top Level Costs adds the labor, machine, setup and overhead cost of the assembly's own routing, but counts each subassembly at its material cost only. Fully Exploded Costs also adds the conversion cost each subassembly carries on its own default routing, so it's the estimated cost of building every level. In this example the pump's material is $105.00, its assembled cost is $123.00 and its exploded cost is $161.00. The 38.00 difference is the motor's 24.00 and the housing's 14.00 of conversion. Running the report doesn't change item costs or post anything.
The screenshots show sample data. Person and company names are fictional. Use your own assembly and values when following the steps.
Before you start
In this example, Alex Morgan at Example Supply Co. wants to know what the HP-450 Hydro Pump Assembly, 1/2 HP really costs to build at Tulsa Plant. Two of its components are assemblies the company builds itself: the MTR-220 Motor Subassembly and the HSG-110 Pump Housing Subassembly. Each has its own bill of materials and its own default routing. The other components, an impeller, a fastener kit and lead wire, are purchased.
Costed Bill of Materials comes from a SuiteApp. Once it's installed, it shows up under Reports > Cost Accounting. It needs assembly items with bills of materials. For labor and machine costs you also need the Manufacturing Routing and Work Center feature, routings with manufacturing cost templates, and a default routing on each subassembly. A subassembly without a default routing shows 0.00 conversion, even if it has other routings. The SuiteApp lists other installation requirements, and they have changed between versions, so check them in your account. If you haven't set up a routing yet, see how to set up a manufacturing routing.
The report is analysis only. Its numbers are estimates built from bills of materials, routings, cost templates and item costs. They aren't actual work order costs or variances, and they don't necessarily match a standard cost from a cost rollup. Different BOM revisions, component yields, costing methods, location costs or routings will give you different numbers.
01. Run the report for the assembly
Go to Reports > Cost Accounting > Costed Bill of Materials. It sits in the Cost Accounting menu with the variance and standard cost reports.
Under Filters, choose the Subsidiary if you're in a OneWorld account. Here it's Example Supply Co. : US. In Item, type at least three characters, here HP-450, and pick HP-450 Hydro Pump Assembly, 1/2 HP. Choose Tulsa Plant in Location. The report fills Bill of Materials with HP-450 Standard and Bill of Materials Revision with HP-450 Rev C, and you can change either one. Display Control is By Revision, so Date/Effective Date is filled in and read-only. With By Date you pick the date instead.
Check By Manufacturing Routing. Manufacturing Routing fills with the assembly's routing, HP-450 Tulsa Line, and Top Level Only is cleared and greyed out. If the assembly has several routings at that location, pick the one you want to cost. If it has no routing for that bill of materials and location, the checkbox stays greyed out. Don't skip this box. Without it, Top Level Costs and Fully Exploded Costs stay empty and tell you to enable By Manufacturing Routing.
Material Cost decides where component costs come from: Per Costing Method, Per Purchase Price or Per Item Default. Keep Per Costing Method. Each option follows the SuiteApp's own rules by item type and location, so a component's cost here can differ from the cost you see on the item record. The last option's label can vary a little by SuiteApp version.
Check Build Quantity. It's 1 here. In some accounts it defaults to the assembly's costing lot size instead, and setup cost per unit changes with the build quantity, so set it to the quantity you actually want to cost.
Click Submit. A confirmation says Costed Bill of Materials has been generated successfully, and the Material Costs subtab opens below the filters. Running the report doesn't change item costs, run a cost rollup or create a work order.
02. Read the material cost by level
Material Costs is the indented bill of materials. It shows Total Material Cost $105.00 and Material Cost per Unit $105.00 Each. The level 1 rows are the pump's own components: MTR-220 at 59.30, HSG-110 at 24.75, IMP-75 Impeller at 17.25, FST-12 Fastener Kit at 2.55, and WLD-18 Lead Wire at 1.15, which is 2.5 feet at 0.46. They add up to 105.00.
Click the expand control next to MTR-220. Its level 2 components are STW-220 Stator Winding at 38.00, RSH-220 Rotor Shaft at 14.60 and two BRG-6203 Ball Bearings at 3.35, which is 6.70. Together they make the motor's 59.30. Expand HSG-110 too: CST-110 Cast Housing Blank at 22.80 and GSK-110 Housing Gasket Set at 1.95 make its 24.75.
Everything on this subtab is material cost. The motor's 59.30 is what its parts cost. The labor and machine time to build it shows up later, on Fully Exploded Costs.
03. Read the top-level cost by operation
Click the Top Level Costs subtab. It follows the pump's own routing, HP-450 Tulsa Line, one operation per row, and shows Total Assembled Cost $123.00.
The columns are material plus Labor Run, Labor Setup, Machine Run and Machine Setup, each with an overhead column. Operation 10, Final Assembly, uses 103.85 of material and adds Labor Run 9.60 and Labor Setup 1.20, for 114.65. Expand it to see which components it uses: MTR-220 at 59.30, HSG-110 at 24.75, IMP-75 at 17.25 and FST-12 at 2.55. Operation 20, Wiring and Test, uses the lead wire, 1.15, and adds Labor Run 4.80 and Machine Run 2.40, for 8.35. Components assigned on the routing's Component Per Operation subtab go to that operation. Anything unassigned goes to the first operation.
The TOTALS row shows material 105.00, Labor Run 14.40, Labor Setup 1.20, Machine Run 2.40 and Total Cost 123.00. That's 105.00 of material plus 18.00 of labor and machine cost on the pump's routing. The motor and the housing still count only at their material cost here. The time spent building them isn't in this number.
04. Explode every level
Click the Fully Exploded Costs subtab. It shows Total Exploded Cost $161.00, Material Cost % 65.22% and Conversion Cost % 34.78%.
The level 0 row, HP-450, shows material 105.00, conversion 18.00 and total 123.00, the same as the Total Assembled Cost. The level 1 rows add each subassembly's own routing. MTR-220 has 59.30 of material and 24.00 of Conversion Costs: Labor Run 11.00, Labor Run Overhead 4.75, Machine Run 6.80 and Machine Setup 1.45, for 83.30. HSG-110 has 24.75 of material and 14.00 of conversion: Labor Run 3.60, Machine Run 8.20 and Machine Run Overhead 2.20, for 38.75. The purchased parts show 0.00 conversion in this example.
The TOTALS row counts the material once, 105.00, since the subassemblies' material is already inside it, and adds conversion from every level: 18.00 + 24.00 + 14.00 = 56.00. Total Cost is 161.00. Material Cost % and Conversion Cost % are shares of that total, and 56.00 of 161.00 is the 34.78%.
05. Trace the difference to the subassemblies
The exploded cost is 38.00 higher than the assembled cost: 161.00 minus 123.00. The two subassembly conversion costs account for it exactly, 24.00 for MTR-220 and 14.00 for HSG-110. The motor is most of the gap.
Expand MTR-220 on Fully Exploded Costs. Its own components show 0.00 conversion, so the motor's 24.00 comes from its routing. Its Labor Run of 11.00 is bigger than any single labor or machine amount on the pump's own operations or on the housing.
Check the result
- Material Costs shows Total Material Cost $105.00, and MTR-220's components add up to its 59.30.
- Top Level Costs shows Total Assembled Cost $123.00: 105.00 of material plus 18.00 of top-level labor and machine cost.
- Fully Exploded Costs shows Total Exploded Cost $161.00, with conversion of 24.00 on MTR-220 and 14.00 on HSG-110.
- The TOTALS row shows Material Costs 105.00, Conversion Costs 56.00 and Total Cost 161.00.
- 161.00 minus 123.00 is 38.00, which is 24.00 plus 14.00.
That makes the motor's routing a reasonable first place to look when the pump's cost, quote or margin seems off. That alone doesn't prove the routing is wrong. Check its run rates, setup times, labor and machine resources, and cost template before changing anything. A wrong cost template or charge item price inflates the number just as much as a slow run rate.
Common questions
How do I see the full rolled-up cost of a multilevel assembly in NetSuite?
Run Reports > Cost Accounting > Costed Bill of Materials for the assembly with By Manufacturing Routing checked, then open Fully Exploded Costs. It adds the conversion cost of each subassembly's default routing to the top-level cost. In this example the pump comes to $161.00, against $123.00 on Top Level Costs.
What's the difference between Top Level Costs and Fully Exploded Costs?
Top Level Costs is material plus the labor and machine cost of the assembly's own routing. Subassemblies count at their material cost only. Fully Exploded Costs also adds the conversion cost of every subassembly's default routing, which is why it's 161.00 here instead of 123.00.
Why is my fully exploded cost higher than the assembled cost?
The difference is the conversion cost of the subassemblies, the labor and machine time to build them on their own routings. Here it's 38.00: 24.00 for the motor and 14.00 for the housing.
Why are the Top Level Costs and Fully Exploded Costs subtabs empty?
By Manufacturing Routing wasn't checked when you submitted. Those two subtabs need it and tell you so. Check the box, confirm the routing and submit again. If the box is greyed out, the assembly has no routing for that bill of materials and location.
Does running the Costed Bill of Materials change my standard costs?
No. It doesn't update item costs, run a cost rollup, post anything or create a work order. The numbers are estimates from bills of materials, routings, cost templates and item costs, so they won't match actual work order costs exactly.
Why does a subassembly show 0.00 conversion cost?
Usually because it has no default routing. The report uses the subassembly's default routing, so one that only has other routings shows 0.00. Missing values on the routing's cost template also leave conversion at zero. A phantom subassembly adds no conversion to the parent either. Run the report for the phantom itself to see its routing cost.
What's the difference between Per Costing Method, Per Purchase Price and Per Item Default?
They set where the report gets each component's cost: the item's costing method, its purchase price, or its default cost. Each follows the SuiteApp's own rules by item type and location, so the same component can show a different cost under each option. Run the report both ways if you're not sure which one your quotes use.
What do Material Cost % and Conversion Cost % mean?
They split the Total Exploded Cost into material and conversion. Here material is 105.00 of 161.00, or 65.22%, and conversion is 56.00 of 161.00, or 34.78%.
Why does the cost per unit change when I change Build Quantity?
Run costs scale with the quantity, but setup costs are spread across the build. When the build is smaller than the assembly's costing lot size, setup is prorated, so the cost per unit can move with Build Quantity. Simulate Build Quantity on Material Costs recalculates a simulated view without changing any item records.