Outsourced or Sub-Contract Work in QuickBooks
Many manufacturing (and other) businesses send materials out to another firm to perform some intermediary processing of the item. This can be plating of a component part, populating a PC board with circuit components, and many other tasks. I’ll give you some ideas of how you might handle this in QuickBooks.
This kind of work is called by various names, such as “outsourcing” or “sub-contracting”. The concept is that you have some items in your inventory, you give those items to another company, they perform some sort of processing and return a modified part to you. This may be a product that you sell directly, or that you use in the assembly of another item. It is important to track these materials so that you know what you have at the outside vendor and can account for the materials in your balance sheet.
A key point to emphasize – even though you may be sending these items off-site to another company, unless you have a contract that states otherwise you own these items and they are a part of your inventory. When you send them out you are not reducing your inventory valuation, you are just moving the parts to another location. This is tough to track since QuickBooks doesn’t handle multiple locations, and it is important that you be able to track where the parts are so you can audit your vendor and know how many items are in their possession.
I would also like to point out that QuickBooks is a very flexible program in some ways, and there are other ways to deal with this situation than what I outline here. If you are a manufacturer trying to set up QuickBooks to cover this kind of situation, I highly recommend that you talk to a knowledgeable advisor who can examine your particular business situation.
Processing with a BOM
One approach is to move the materials through inventory by using assembly items, BOM’s and builds.
I’ll use a very simplistic example (I’m not that great at building realistic examples, sorry about that). We have a printed circuit board called “PCB” that contains 3 “AB451″ capacitors and 2 “X91.5″ resistors. The parts are purchased, and then given to an outside vendor who takes them and creates the PCB assembly for us. We take that and include it in a higher level assembly. Here is the assembly item:

How do we deal with the process? If I issue a build for the PCB assembly, my inventory of components is reduced and the inventory of PCB’s is increased. This doesn’t tell me how many component parts I’ve given to the vendor, and it doesn’t give me an accurate count of PCB’s available to be sold or used in other assemblies.
To address that point, issue a build for the assembly, then use the Edit menu to change the build to Pending. In my sample I created a pending build for 4 PCB’s, and if you look at an inventory report you see that we have 12 AB451 capacitors set aside (the “For Assemblies” column).

We can go to the Pending Builds report to see that we have 4 PCB’s outstanding:

When you receive the PCB’s back from the vendor you remove the pending status on the builds, and the components are consumed while the assemblies are added to inventory.
This is a fairly simple approach that doesn’t take much work. You can look at the stock status report and see that some items are reserved for the pending build, you can see how many processed items you are due by looking at the pending builds report.
I have two concerns over this approach. If you sell the component items (such as for replacement or repair parts) – these components are still considered to be on hand, but not available. So you have to be careful to not sell more than the available balance. In addition, if you go to issue another build for the assembly, since those parts are still on hand, it will let you issue that build. You aren’t stopped from using the parts that are allocated to a pending build.
An Alternate BOM Approach
Another approach can be used to resolve those two issues, which involves a bit more work and hides some of the information that I would like to see. What we are going to do is to create an intermediate assembly that represents the outsourced item. Take the item “PCB” and rename it to be “PCB-Outsourced”. It still has the same BOM. Now create another inventory assembly item called “PCB”, and give it one component, the “PCB-Outsourced”.
Issue a build for “PCB-Outsourced”, do not make it pending. The build removes your components from inventory and adds the intermediate outsourced item. The components are no longer available to invoices or other builds. You can tell how many of the outsourced assemblies you have by looking at the stock report for the assembly (I recommend that you have the phrase “DO NOT SELL” in the item description, so people know not to sell this item).

You do not see a listing of how many components you have at the vendor – if there is a problem you would have to go back and delete builds to reconstruct the values, and that could be a bit complicated.
When you receive the assemblies back from the vendor you would issue a build for the “PCB” assembly. This would consume the intermediate assembly and replenish the final assembly.
Another benefit of this approach comes into play if the vendor returns a variable number of finished products to you each delivery. Let’s say that you ask them for 10 assemblies and give them the parts. They return 4 one day and 6 the next. In the first approach it is difficult to handle – you can’t partially change the status of the pending build. In the alternate approach you just issue a build for the number you received each time.
Neither of these approaches fit the bill perfectly, but in QuickBooks we are often looking for workarounds in the inventory system. Both approaches manage the total valuation of our inventory correctly – the cost of the items remains in your inventory asset account.
Again – these methods aren’t the only approach you can take, and might not fit all business situations. Let me know if you have OTHER methods that work for you!
Category: Manufacturing and Inventory

















I like the second method; it seems much cleaner.
Only thing I don’t see is accounting for the cost of outside processing, that cost is part of the final sub-assembly PCB-outsourced that is received.
Jim, as you know, there are a number of ways of dealing with the cost. It all depends on how you are paying for that, and how you want to handle the accounting. Many variations. A simple way is to add an “other charge” item in the BOM. That works if you have a fixed cost per assembly built, or at least a good estimate. You can put it either in the outsourced BOM or the higher level BOM, depending on how you want to deal with the timing issues. Or you can make inventory adjustments to the assembly each time you build some, if the costs vary quite a bit from time to time, or if the costs are per “run” instead of per “item”. Or you can just not worry about including the cost in the assembly and treat it as an overhead cost. Lots of ways of dealing with it, and the best choice really depends on your particular situation.
Thank you, Charlie. How would you handle the following situation? We purchase a leather hide that we then ship to a vendor to cut in pieces to our specifications. That vendor (or another) then sews those pieces together to create a sub-assembly that we then use to build up multiple chairs. We would like the cost of the components of the leather per chair and the cost of the cutting and sewing to be reflected in the COGS per chair. It would seem that we should issue a build for “outsourced cutting and sewing” on the hide, to record that we no longer have the hide, and then upon receipt of the sewn pieces, build the sub-assembly from the “outsourced” assembly and add prices for the cutting and sewing as service items. But then how to classify the service expense when the PO is issued to the vendor, and we receive the items and pay the bill? Wouldn’t that be double counting?
Michael, take a look at the information in this article: http://www.sleeter.com/blog/2011/02/item-types-in-a-quickbooks-bill-of-materials/
If you use a service item, if you pay for the service that posts the cost to the account. When you use that same service item in the BOM, it will pull the cost out of the account and put it into the asset cost of the assembly.
Got it. Thanks!
Charlie,
A very good article. As you mention there are several situations and inventory is owned “unless you have a contract stating otherwise.” Here’s my situation. We use a contract manufacturer who places all orders for materials, manufactures it and we purchase the finished good and then resold. We don’t own the inventory until we purchase it which is when we ship the product (it’s a passthru). What I want to be able to do is have costed BOMs and inventory tracking WITHOUT having the inventory show up on the books as owned inventory. Do you have any suggestions?
We’re using QB Enterprise Solutions 11.0 Mfg & Whlsale
Thanks!
Tara, I’m not sure that I have all the facts here. From what it sounds like, this is a situation that isn’t covered by this article. The manufacturer owns all the materials and is responsible for creating the assembly. You are just buying the assembly from them, as a single product. You can create that purchased assembly as an inventory assembly item, and you can give it a BOM that you can use for costing and management purposes, but you are not going to do a “build” with it. You just treat it as an inventory part. At least that is what it sounds like from your description.