In my post on QuickBooks manufacturing basicsI discussed the essential nuts and bolts (sorry for the pun) of building assemblies in QuickBooks. Today I’ll talk about structuring your bills of material (BOM’s). A BOM is a simple thing, right? You want to build something, you just enter in the list of all the parts that you use, and there you are. On some levels that is correct, but if you are looking for inventory accuracy, accounting accuracy, and want to make your life easy, you need to give this some more thought.
QuickBooks is only a rudimentary manufacturing system, so I’ll start off by listing some of its limitations:
- You can only add 100 different items to a BOM if you are using Premier. Enterprise is more flexible, you can add up to 500 different items.
- Reporting based on BOM’s is very limited
- Although you can create multiple-level assemblies (that is, a part in an assembly can itself be another assembly), a build will only work with a single level at a time.
- Integrating non material items in a BOM can be tricky when it comes to costing.
In this article we’ll talk about basic structuring of the BOM – we’ll go into how to use various item types in a future article.
Working with Levels
How do you look at the item you are assembling? There are different ways of listing the parts in an assembly – either a flat listing that shows all of the parts, or a nestedlisting that shows the parts in a tree structure with subassemblies. Each has its advantages, each has its problems in QuickBooks.
Let’s look at a simple assembly, a computer that I’m putting together from components. I have a desktop box, two monitors (it’s a dual monitor system, fancy), and a keyboard. That desktop box itself has a case, motherboard, power supply and a video card (I’m greatly simplifying this for the sake of discussion).
If I have all these parts and I make the computer all at once, then I can make a flat BOM, like the following:
This is simple to work with. I can print a listing to give to the assembler, and I can issue a single buildto create the item all at once. For simple assemblies, this works well and fits within the QuickBooks approach to manufacturing. There are some drawbacks, though, which become more apparent when the product becomes more complicated:
- If you have a more complicated product you can run into the limitation of the number of items that are allowed in a BOM.
- If you build in stages you have no indication of what those stages are. This BOM doesn’t show you that you need to build the desktop box by first assembling the case, power supply, motherboard and video card. You also can’t use this if are building a number of desktop boxes themselves to hold on your shelves, ready for final assembly into systems.
The alternate approach is to create subassembly items and make a nestedBOM. We’ll create a new inventory assembly item for the desktop box, and alter the desktop computer assembly appropriately. Here is the BOM for the desktop box (subassembly):
Here is the changed BOM for the desktop computer – note that we have dropped some of the components and have added the desktop case as a subassembly:
Now we have two assembly items – one for the desktop box, and one for the final assembled computer. There are a number of advantages to this approach:
- You get around the limit on the number of lines in a BOM.
- You can build the subassembly by itself so that you can stock it for replacement parts, or to hold some ready for the final assembly.
- If you have several variations of the final product that use the same common subassembly you can make changes to that subassembly quite easily. In a simple example, let’s say that we have a number of variations of final assembled desktop computer. Some have two monitors, some have one. Some have a 17″ monitor, some have a 20″ monitor. Some use an ergonomic keyboard, some use an economy keyboard. All use the same desktop box as a starting point. If you use a flatBOM then you have to enter all of the components for the desktop box for each of your final assemblies, rather than just adding the one subassembly component. If you have to make a change to that desktop box – such as changing to a different type of video card, you would have to make the change in each final assembly if you use a flat BOM, where you only have to make one change if you use the nested BOM.
- Your printed BOM more closely mimics the assembly process – you have one BOM for the desktop box, you have another BOM for the final assembled computer.
However, there are trade-offs. Your manufacturing process in QuickBooks is more complicated, your QuickBooks reports don’t show you as much information as you had before.
- If you want to build an assembled computer you now have a two step process instead of one. You must first issue a buildfor the desktop box subassembly. When that is done, you then have to issue a buildfor the assembled computer. QuickBooks won’t issue a multiple level build– that is, you can’t issue the build for the top level assembly and have it take care of all the parts of the subassemblies.
- There is no way in QuickBooks to print a complete BOM of the top level assembly including the parts of the subassembly. You can only print a single level BOM.
- When you look at the top level assembly in the build assemblywindow, which tells you if you can build the required quantity of the assembly, you don’t have a way of seeing if you have any shortages of the lowest level parts in the subassembly. You can’t see if you can build this item. You first have to look at the subassembly, then at the top level assembly.
These limitations make it difficult to work with multiple level BOM’s in QuickBooks. If you have a simple product, or a limited number of products, you might be better off working with flatBOM’s. If your products are more complex, though, that might not be an option. With complicated products you need the ability to print a BOM for a subassembly, and you may need the ability to manufacture quantities of the subassembly separate from the final assembly itself. If you often have changes to the composition of your subassemblies you will find it hard to achieve accuracy if you have to go through all of your assemblies to make a change, rather than just editing the common subassembly one time.
Working with nestedBOM’s in QuickBooks can be done, you just need to pay close attention to the order in which you are building assemblies, and keep careful records of your assembly listings.
Working with 3rd Party Programs
If you are working with complicated products and need to maintain multiple level BOM’s then you may find it worthwhile to work with one of several 3rdparty add-on programs that work with QuickBooks. At this time we won’t go into a detailed description of those that are available – you can find information on them in the QuickBooks Solutions Marketplace. These 3rd party programs fall into a few broad categories:
- Inventory replacements: Some programs, like Fishbowl Inventory, maintain a complete inventory system outsideof QuickBooks. This gives the product more flexibility in how inventory can be managed, but can be more expensive and means that you have to manage a completely separate program and database.
- Closely integrated: Another approach is to work with the inventory records in QuickBooks while generating reports and managing data in ways that QuickBooks doesn’t do, such as CCRQBOM. With this approach you do more of your work in QuickBooks where things are familiar, and you don’t have to manage a separate database. Often this approach is less expensive, but you still have to live with some of the restrictions in QuickBooks.