Understanding QuickBooks Total Bill of Materials Cost

Written by Charlie Russell

In a prior article I talked about the cost and avg cost fields in the item list. In this article I’ll talk about a related value, the Total Bill of Materials Cost which you will see listed at the end of a QuickBooks bill of material.

Let’s take a look at an inventory assembly sample item. The WHAS wheel assembly has two components, a screw (two of them) and a roller. Note that there are three costs shown in this window.

QuickBooks Inventory Assembly

The Cost field (15.00) has no real bearing on valuation of this item. This figure can be edited directly. QuickBooks will not automatically update this cost to reflect either the Total Bill of Materials Cost or the Avg Cost. As I discussed in my earlier article on costing, the cost value of purchased parts is usually, but not always, the “last purchased cost” of an item.

The Avg Cost field (32.00) is the cost that QuickBooks uses to calculate the value of this item. You can only edit it directly when you add a new item – after that it is updated by inventory adjustments, receipts and builds. If you multiply the on hand value by avg cost, you get the inventory value for this assembly (assuming you don’t have a negative on hand quantity).

The Total Bill of Materials Cost field (32.00) is not directly tied to the cost or avg cost values. This is the sum of the cost values of the components in the BOM. In our starting example it matches the avg cost, but you will see that they are not connected later in this discussion.

What is the Cost of a Build?

Let’s take a look at the two component items.

 The SC-12 screw has a cost of 11.00, but the avg cost is 8.86076.

QuickBooks item cost

The RORO-4 roller has a cost of 10.00 and an avg cost of 19.44444.

QuickBooks item cost

When we start, we have 6 WHAS assemblies at an average cost of 32.00, for a total inventory valuation of 192.00. We will build 4 of WHAS to bring us up to a total of 10. What will we see for the cost, avg cost and total bill of material cost for WHAS when the transaction is done?

  • We start with 6 @ 32.00, for a valuation of 192.00
  • For each WHAS that is built, we use 2 screws @8.86076 (the avg cost), for $17.72152
  • For each WHAS that is built, we use 1 roller @19.44444.
  • The cost at this time for one WHAS is 37.16596
  • We built four WHAS for a total valuation of 148.66384
  • Adding four WHAS with a total cost of 148.66384 to the value of 6 WHAS that were valued at 192.00 gives us a total inventory valuation of 10 WHAS for a value of 340.66384
  • Dividing that total cost by the total on hand (10), we should get an avg cost for WHAS of 34.06638

Let’s take a look at the WHAS information:

QuickBooks item cost

As you can see, the avg cost comes out to be what I predicted (although QuickBooks did some rounding at some point in the process).

Note that the cost and total bill of material cost have not changed.

This demonstrates that the avg cost of an assembly item is adjusted by the avg cost of the component parts when you issue a build transaction. This is what I would expect, and it shows that QuickBooks is properly maintaining the value of your inventory. The cost of the component parts is being rolled into the cost of the assembly.

Management Information is Misleading

The problem that I have with this is that from a management (not accounting) standpoint, the figures that are shown here are misleading. As my costs fluctuate, the cost value does not change. It only changes if I manually update it myself. If you have a report that shows the cost of this assembly, you may have an incorrect understanding of the cost of your assembly.

QuickBooks item cost in BOM

What is worse, the change item prices function in QuickBooks will let you use the cost of the assembly item, but not the avg cost, so price updates will be based on information that is often incorrect and out of date.

QuickBooks Change Item Prices

To take this further, if the WHAS inventory assembly is used as a sub-assembly in a higher level assembly, the total bill of material cost value in that higher level assembly will reflect the cost of the subassembly, which doesn’t reflect any useful value if you are not diligent.

QuickBooks subassembly cost

Why Is This Important?

Most companies will want to base their selling price on the cost of manufacturing their item. It is important that you have accurate information to make these decisions. In my experience it is common to want to update prices based on the current cost of acquisition. That is, I want the BOM cost to reflect the last purchase cost of the components, not necessarily the average cost. If you are updating the cost field when you purchase your parts then you have this information in the database for components.

If you have a simple one-level item structure you have to look at the total bill of materials cost as the basis of your decision. This value is hard to find in QuickBooks – it doesn’t show in reports other than the individual Bill of Material printout, or in the Edit Item screen.

If you have a more complicated product structure, using sub assemblies, getting an accurate cost of the assemblies is much more complicated. The cost shown for the subassembly might not have any relation to the cost of the components.

What Can You Do?

Obviously, if you are going to use the QuickBooks price updating tools, you want to be able to set prices based on accurate information. In QuickBooks by itself you need to periodically review the total bill of material cost of each assembly and then retype that in the cost field. Again, this value is only found in that one report or in the edit item screen for the assembly. There isn’t a simple report that lists the value for you.

This is complicated if you have multiple level product structures – in that case you need to make sure you update the lowest level assembly first, and work your way back up the product structure.

I do have an alternative. My company produces a low cost QuickBooks add-on product called CCRQBOM. I’ve included several features that can assist you with updating assembly costs. The primary feature is a cost rollup function that will take the cost value of the component items and update the cost value of the inventory assembly item. In addition, if you have multiple level assemblies, the program will determine what the lowest level assembly is and start with that, rolling the cost up through all of the levels to the top.

Save pagePDF pageEmail pagePrint page

About the author

Charlie Russell

Charlie Russell has been involved with the small business software industry since the mid 70's, and remembers releasing his first commercial accounting software product when you had an 8-bit microcomputer with one 8 inch floppy disk drive. He has a special interest in inventory and manufacturing software for small businesses. Charlie is a Certified Advanced QuickBooks ProAdvisor with additional certifications for QuickBooks Online and QuickBooks Enterprise, as well as being a Xero Certified Partner. Charlie started blogging about QuickBooks in 2008 (Practical QuickBooks) and has been writing for the Accountex Report (formerly the Sleeter Report) since 2011.

Visit his CCRSoftware web site for information about his QuickBooks add-on products. He is also the author of the California Wildflower Hikes blog.


  • Hello, Thank you for your article. It is very helful. But i am still confused in one step:

    Adding four WHAS with a total cost of 148.66384 to the value of 6 WHAS that were valued at 192.00 gives us a total inventory valuation of 10 WHAS for a value of 340.66384

    So basicly here, we take total cost of 148.66 , calcilated based on avarage cost and adding 192.00, calculated based on BOL cost. So combination of two different costs give you an avarage cost for 10 eaches on hand. How is that posible?



    • Olga: Look at the top screen, for WHAS. The avg cost is $32.00, and there are 6 on hand. 6X32 = $192.00 for the total value on hand for WHAS to start with.

      The build calculates a current cost of the components for WHAS to be $37.16596 each. And you are building four of them at that cost. 4X37.16596 = $148.66384 of total value that we are adding to inventory.

      $192 + $148.66384 = $340.66384 – that is the total amount of inventory valuation after the build. 6+4 = 10 is the total number of items that you have on hand after the build.

      So, after the build, you have $340.66384 of total cost, and 10 items. So, $340.66384 / 10 = $34.06638 as the new avg cost for the WHAS item

  • Hello and thank you for your article. It is very helful.

    My problem is accounting for labor and overhead in QB (QuickBooks). We have a small manufacturing operation, less then 30 people.
    Do you use the average hourly cost of labor based on the total cost of labor for the last 6 months or do you use the actual hourly rate of the person performing the direct labor? Do you calculate the overhead for the factory and add that onto the hourly labor rate?
    How do you do this in QB?
    Is there a good reference article on Basics of Labor and Overhead Manufacturing Accounting?
    Or a Labor and Overhead Manufacturing accounting for dummies

    Thank you in advance for your help

  • Charlie I have an issue with QB along the same lines and wondering if you have an add on program.

    I have over 6000 Inventory parts in QB, with various costs depending when purchased, so i know all about QB using a bogus “cost” number entered at one time rather then average cost which would be more true, which is what id like to use to then markup my cost.

    I have actually gone through all parts and raised my pricing to a specific margin based on the average cost but its only accurate until the next time purchased, which could be the next day.

    We are a outdoor power equipment dealership so selling part over counter and in the backshop daily.

    • Ryan, I’m not sure that I would want to have my price markup based on average cost instead of the last cost purchased. Personally, marking up on my most current cost makes more sense. However, everyone has their own way to deal with this issue.

      Depending on what QB product and year of product you have, there are different solutions. Enterprise 12 has an automatice price update feature (make sure you have the most current release, as older releases have bugs!) that is the only way to automatically update when a cost changes that I am aware of – but it works on “cost” not average cost.

      I have a utility that will do updates of price based on the average cost, in addition to “cost”, but you have to manually run this when you want to update things. It works for some business situations, but not all. You can contact me directly if you would like more information on this utility (it is not a Sleeter Group product).

  • Charlie:
    1. In QB for contractors,what is the type of all the direct materials used in construction (Inventory Part or Assembly)?
    2. How can you monitor these direct materials (units on hand)?

    • Hale, that all depends on how you want to manage things. Materials can be non-inventory parts, inventory parts or assemblies, depending on how you want to manage things.

      In a typical construction environment I wouldn’t expect that you would use an assembly part. However, there are situations where you might. Also, you can use an assembly item just like an inventory part if you wish.

  • I am doing a manufacturing client that is engaged die casting business.

    For every order to manufacturing shapes first they have to get moulds which are manufactured by them internally.

    This mould preparation/manufacturing process has costs like labor, materials, overheads et c and once it is completed, it is used to produce a certain thousand number of units so ultimately it becomes a fixed assets having certain useful life.

    After mould is ready for use, it is then used to process the shapes manufacturing order received from customers.

    What is the best practice in QB to capture all mould manufacturing costs then move those costs as fixed assets to be depreciated over systematic basis.

    I was thinking of:

    1. Setting up a Bills of Material (BOM) in QB to be used to build assemblies for moulds produced/manufactured but the problem here is every mould is unique in terms of design, shape, size et c so there is no uniformity thus we will have to define an assemble for each mould manufactured.

    2. Once above said BOM is ran, it will put all the costs of mould into inventory as finished goods but my question is, how to transfer it to fixed assets (other than a journal) for being depreciated over its useful life.

    Please suggest best practice to handle this situation, we want to use QB to systemize the costing process as far as possible.

    PS: Client is using QB Premier 2012


    • Mohammad, some things just aren’t simple to do in QuickBooks.

      With Premier, I wouldn’t bother with a BOM. You aren’t going to save effort.

      In a very general sense this is more of a “job costing” scenario, if you aren’t sure of what the labor units will be.

  • Charlie, I am interested in the CCRQBOM add-on you mentioned as I need to at least report on the actual costs of the items in my inventory assemblies. Right now my report shows prices with no costs. I don’t want to manually update a cost field with information that will be changing on a regular basis. What’s the solution?

    • Which report are you talking about?

      The “Cost” values in your purchased components should change as you buy new items (if not, there are preferences that you have set to prevent that). As for the “cost” of assembly items, your only options are to manually update them or to use a product like CCRQBOM. Generally you don’t need to do the updates frequently, since this is not a financial figure, it is just a “management” figure, and you’ll usually only pay attention to is periodically.

  • Hi Charlie Russell:

    I have a question regarding quick books assembly item .How can we add fixed overhead cost + Labour cost in inventory assembly item. I add these cost in other charge item and link the expense account to (Cost of Goods Sold) but when i built the assembly and check the profit & Loss Report it shows the negative balance in (cost of goods sold).Sir it is a request to you to give me easy solution.

    i am looking forward your response

    Thanks in advance


    • Wasidar, take a look at this article: https://www.sleeter.com/blog/2011/02/item-types-in-a-quickbooks-bill-of-materials/

      I wouldn’t link the other kinds of parts to a COGS account myself. COGS should be updated when you sell the item, and when you use a non-inventory, service, or other charge item you are moving the value out of the cost account into the inventory asset for the assembly.

      If you have labor, for example, you are moving the labor cost out of that account into the asset. One thought is that this should be a payroll expense – so that when you pay the employee, the value of that expense increases, then when you build the item it decreases and moves to the asset. So you shouldn’t see a negative value in that account.

      • Thank you sir for your reply.Now i take labor and overhead expense as other charge items and link the labor to (labor expense account) and overhead cost to (overhead expense a/c).At the end of the month when we actually paid these expenses it is going to positive number.Am i right sir?

  • So I have an Inventory assembly (A) that consist of other assemblies (B)(C) which also have 2 assemblies to each part. Say I want to build 10 of (A). How can I print a report that shows the break down of sub assemblies that need to be built as well? Or do I need to run a report for each assembly?

    • Erik, there is no way to see a full level explosion of the higher level BOM in QuickBooks. That is, QB only prints a single level BOM, it won’t expand the subassemblies.

      You can handle this with a third party addon. Most of the higher end addons should be able to handle this, but they are expensive. One lower cost alternative is CCRQBOM (http://www.ccrsoftware.com/CCRQBOM/CCRQBOM.htm ) will easily print multiple level BOM’s like this. Full disclosure – my company (CCRSoftware, not The Sleeter Group) produces CCRQBOM.

  • Hi Charlie,

    Thanks so much for helping out us QB newbies! I really appreciate it and I bet there are lots of other lurkers that do as well.

    I’m trying to understand the relationship between my supply chain, my item assemblies, and the inventory valuation that QB provides me.

    Imagine the following supply chain. I have a finished good that consists of a circuit board (PCB), a battery, and a casing. I purchase PCBs from vendor A at $10 each. I purchase batteries from vendor B at $5 each. I ship the PCBs and the batteries to vendor C, who manufactures the casing and assembles all the parts together into the finished good and ships it back to me. I pay vendor C $8/unit for this; $2 is the cost of the casing, and $6 is for the assembly.

    In my “item assembly” for the finished good, I can see that the total BOM cost is $23, which is what I expect. I reflect this in the “Cost” block in the “Edit item” dialog. But in my inventory report (and more importantly in the COGS section of the P&L) the finished goods are valued at $8/unit. I think this is because the cost is being picked up from the PO I produced for vendor C. (I only pay vendor C $8/unit because the components are in my inventory).

    Have I set this supply chain up correctly in QB? Any guidance you can provide?


  • I have recently just bought quickbook 2014 and still learning my way around it. Can someone help’ we are steel merchants and we stock wire, have started making diamond mesh out of the wire with a supplier who has a machine. How do I take the wire out my stock and reinsert it into a different cost and in a different stock part.

    I hope someone can help.

  • in quick-book can i create bom that can make the finished product to be divided so to make the product b one not many
    for example: if i have a wheat flour that makes 6 cakes from one packet of wheat flour.
    how do i make it be possible the system can work on the recipe and give the final product as one but not many

  • Hi again Charlie!
    When I print my BOM, the Item name column is not wide enough to display the sub itm name, only the parent(s). So I can not see the item/part number. Is there a way to change that to only show the sub? If not, does CCRQBOM do that?

    • To add, the first parent was “Inventory Item:” . I wasn’t sure I had even made that Item, so I tried removing its ‘parent’ status in all its ‘subs’, and after that, poof, it disappeared! Was that something QB’s made? I never deleted the item, but now it seems to be gone!
      (I tried to shorten up all the parent names, and that helps to be able to see more of the names,??)

      • Sounds odd. Sounds like there was a file hiccup at some point. You may want to back the file up and do a “rebuild”, or at least a verify, to make sure that there aren’t issues. Note that you don’t want to do a rebuild if you are storing credit card numbers in your file.

    • No way to change that in QuickBooks itself.

      With CCRQBOM you can change the width of the column in our BOM report so that more shows, or if you wish you can set the column to “word wrap” and show the whole value on multiple lines. There isn’t a simple way to have it show JUST one portion of the full name. It will always show the fully qualified name.

  • When an invoice is created for a Service item what happens to the cost data in the item? So I have a service item with a cost of 1$ and sales price of 10$ and I sell 4 of them. THe invoice shows a 40$ total. Where does the 4$ that this cost me show up? The account for it is Professional Fees, but I dont see anything showing up there. !

    • If you have a service item in an invoice, only the sales value will be posted to an account. Which account depends on how you have set up the item – if yu check the “This service is used in assemblies…” box, then it goes to the “income account”, and nothing is posted to the “expense account”.

      The “expense account” is used when you purchase the item (if you do), or when you use the item as a component in an assembly and you “build” the assembly.

  • How would I handle this situation: A discount applied by the vendor, not me. I submit an invoice, the vendor subtracts 2.5% by contractual agreement, and pays me 97.5 cents on the dollar.
    I tried a QB Discount item but it subtracts the 2.5% from the invoice total before I send it to the vendor not after.
    One way is to manually create a bill but thats tedious and error prone which is why we own computers and buy software.
    Thanks for thinking about this for me!

    • That is a bit off topic for this article, Greg.

      I can’t give you a specific answer because there are multiple variables involved, different ways to handle this in different situations.

      It isn’t something that you are going to deal with directly in an invoice, because any adjustment in the invoice itself will affect the selling price, as you mentioned. In most cases, you are going to have to create that separate bill. You can play with inventory part items, but that has some side effects that you might not like.

  • Actually what worked was to set the cost in the item to be 2.5% of the price that way if I first create the bill then the invoice is easy because QB allows me to select the billed item which pulls in the sales price and quantity and I have both bill and invoice correct without re-entering anything. This wouldnt work in a lot of cases I suppose.

  • Good Day

    i want to enter a bill of quantity for material for a larger constriction, my aim is to compare budgeted quantity against actual quantity used.
    1. can this be done in quickbooks
    2. in the progress building of the project can a report be generated as to how much material have been used.

    • A Bill of Materials (BOM), as this article talks about, wouldn’t be what you would use. It is for repetitive manufacturing, not larger construction types of situations. You would want to use the job costing features found in QuickBooks Premier or Enterprise.

  • You state in this article as well as another one, that the Cost field for a component item is usually the last purchase price. Under what circumstances is this not the case?

    • Several situations.

      First of all the “Cost” field can be directly edited in the Edit Item window. You can change it to be anything you want. So you cannot guarantee that it is the last cost.

      Second, when you first use the Item Receipt window to receive an item, and you are receiving an item at a Cost different than what is stored in that field, you are asked if you want to update the item with the new cost. You can say “no” and it will be left alone. ALSO, at that time, you can check the box to have the system remember your answer and not ask you the question again. If you don’t update the cost AND you check that box, then Cost is never updated by a received cost (unless you reset that question).

      Lots of people say “not” the first time, and turn off the nagging question.

  • Thank you for this article. It is one of the only articles I can find with an in-depth discussion of these costing features.

    I have an issue with cost on subassemblies that I can’t seem to solve. We sell snack packs that can be sold individually or grouped into a “sampler” pack. The individual snacks are manufactured in house and set up as inventory assemblies. These finished snacks are then set up as subassemblies for a sampler pack.

    The issue is that when we sell a sampler pack, there is $0 COGs assigned to it. There is a cost listed on the BOM, however it is coming from the “cost” field on the inventory assembly which, per my understanding, has no impact on a P&L statement.

    How do we get these costs to actually show up on a P&L? I tried creating a group, which does show the cost on the P&L, but the problem is then that we can’t view the “sampler pack” as an item on sales reports, only the individual components of that group.

    Thank you

    • Do you build an assembly of the sample pack in QB prior to invoicing it? I believe that is what creates the cost of the assembly that is used in the COGS.

      As you discovered Group items in QB are not available on any reports, so you can’t access how many sampler packs you have sold in any reports. For me, this makes the Group feature essentially useless.

      • If you are looking to see just the quantity of the group items that you sell, in some cases what you can do is to add a dummy non-inventory part item to the group. If I have a group item “grp” that contains components “A”, “B” and “C”, I can create a non-inventory item (with zero cost and price) “grp-track” and add it to the group, quantity 1. Then when you sell the group you sell a grp-track item. Lots of disadvantages to this if you have a lot of groups, or if you display the details of the group in the printed invoice, but it can work.

        Alternatively, use a reporting tool like QQube and build sales reports out of the invoices. You should be able to see sales figures for the group item that way, although QQube isn’t cheap.

    • Joy, the COGS posting is going to come from the “average cost” of the assembly item, and that cost is going to come from the “average cost” of the component items when you build the assembly. Also note that this doesn’t work well if you have negative on-hand quantities of the assembly.

Leave a Comment