Monday, July 27, 2009

Kits and BOMs and Components, Oh My!

It all seems simple enough when we look at the basic definition of a Kit and a BOM (Bill of Materials) in Dynamics GP.
  • A Kit is a group of items grouped at the time of sale
  • A BOM is a group of items assembled in to a finished good prior to sale

Simple enough, right? I normally tell people that a Kit is a SALES concept, while a BOM is an INVENTORY concept. A Kit is pulled at the time you sell it, a BOM is something that happens before the Item exists to be sold (before it is in Inventory).

Simple as it may seem, this is frequent subject of debate in discovery sessions and even among myself and coworkers, as both of these functions can be useful in different situations, leading us to use them in non-traditional ways. This week, I was part of one of those discussions regarding which feature was most appropriate for the situation. And then later this week I had another series of emails with another client debating the same thing. Practically speaking, they both sell Kits. However, they currently use BOM functionality and take advantage of some of the benefits of BOMs that support their business requirements (e.g., control over components, serial number linking, etc). However, they are also subject to the negative aspects of BOMs as well (e.g., less visibility to components for reporting, need for prior assembly, etc). So, what to do?

Well, it seems to come down to which one is the BEST fit given the requirements. So I like to break it down in to the pros and cons of each.

Bill of Materials (BOM)
  • Control over what is included in the BOM, avoiding substitutions that could affect currency amount pricing
  • Ability to serialize the top level of the BOM, and link back the component serial numbers
  • Ability to track kits that are sometimes pre-assembled (grouped together for quicker picking/packing/shipping) during slow periods
  • Quantities tracked at finished good level (this could be a Pro or a Con, depending on your needs)
  • Have to assemble prior to sale (unless you look at the Blue Moon add on for SOP to BOM linking)
  • No flexibility on sales transaction to manipulate configuration/components
  • Less visibility to the components that make up the item being sold, specifically when dealing with serial numbered components (yes, there is visibility, just not as much as with a subjective opinion)
  • Packing slips, picking tickets, and other documents show finished good only (not components)
  • Difficulty if the return of a component is allowed, since the component is not listed on invoice



  • Flexibility during sales transaction entry to substitute items, change configuration, without setting up additional finished items/BOMs
  • Not technically "assembled" , so no need to enter a separate transaction to assembly the Kit
  • Packing Slips, Picking Tickets, and other documents can print the Kit item or the Kit item including components
  • All quantities tracked at component level
  • High visibility to components sold (in my opinion, since the components are available, including serial numbers, on the document itself)
  • Ability to base Cost of Goods Sold account on the Kit or the Kit components


  • Only has ability to serialize the components, not the top level Kit
  • No ability to track pre-assembled quantities
  • Lack of control over changes made during data entry, including substitutions which should impact currency pricing

In my mind, there is no "right" answer, and one method is not necessarily better than the other. But, one method may very well meet the specific client requirements better. And, of course, there are plenty of companies that use both (in a clearly delineated way). So the rule of thumb that I try to use is to make sure that the requirements and process are discussed thoroughly, and that the client understands the pros and cons of each approach.

Please share your own thoughts about the pros and cons of Kits and BOMs, I would love to update this post with any additional comments :)


Lingo Pettersson said...

We use a supplier code to purchase from our supplier and a sell code to sell to our customer. I was wondering how do we set up the inventory item in the first place? Should we have two separate codes (both buy and sell) in the inventory list? And should the buy code be classed as "kits" while the sell code be classed as "sales inventory" item?

Christina Phillips said...

I think you would want to have just one item, so that inventory is correct and tracked under one code. Typically, your "sell" code would be your item number (Cards>>Inventory>>Item). And then you would set up the "buy" code as the vendor item number (Cards>>Inventory>>Vendor). Then when you create a PO, you can use the vendor item number and print that on the PO.

Take care,