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 offsite 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.
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.
One approach is to 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 mange the total valuation of our inventory correctly – the cost of the items remains in your inventory asset account.
In an upcoming posting I’ll an approach to this problem that uses a different kind of transaction – a sales order.