Updating “Cost”

CCRQBOM will update the “cost” field in the inventory assembly item based on the cost of the items in the Bill of Materials (BOM), using the “cost” field of the components. On the surface this may seem simple, but if you use inventory assembly items as components of another assembly (subassemblies) it can be complicated. We have to update the costs of the lower level assemblies before we update the cost of the higher level assemblies. The process can be complicated further if you use some subassemblies in multiple BOM’s, at varying levels. It is important that the lowest level assemblies be updated first.

To do this CCRQBOM first analyzes the structure of all of the assemblies to determine a “low level code” – an indication of the level of indentation of each particular assembly. In addition, the program watches for “circular BOM’s” – such as having assembly A with subassembly B, which has a subassembly C, which in turn has a subassembly A (therefore creating an never ending loop). After this analysis the program “bubbles the costs” up from the lowest level to the highest.