Ext Cost and rollup costs are different things, but they work in tandem with each other on the BOM overview screen in Cetec ERP.
The easiest way to understand is to start with the lowest level “raw” or “purchased” material. This type of material is just purchased and received into stock; it has no possibility of having any value added labor/overhead/outsource rolled into it.
That’s what Ext Cost is: it is simply the record of default cost stored in the system for that part number which is delivered via the Cetec “pricing engine”. The pricing engine is designed to search through hierarchical levels of pricing trying to find something to grab and use as a default cost for the part. First it looks at any standardized fixed/catalogued pricing/costing defined in the Pricing tab on the left side-nav of the part menu; if it can’t find anything there, then it looks for “last buy/build cost” if the use_last_buy_cost config value is turned on; if nothing there, then it looks for average cost in inventory; if nothing there, it looks for a “Last Resort Cost” value on the part profile. If nothing there, then the default / ext. cost for a part number is $0.00.
Rollup cost, however, is only able to be defined on a BOM part. It is a calculated value. It derives from the adding up of six values: 1- Est. Setup on the BOM part; 2- Est. Setup overhead on the BOM part; 3- est Labor on the BOM part; 4- est. overhead on the BOM part, 5- est. outsource/charges on the BOM part, and finally 6- est. rollup material cost for all subcomponents constituent within the BOM itself.
That #6 value there warrants additional explanation on how it is derived. Note carefully that #6 there is NOT simply the ext. Cost (pricing engine delivered) value on the BOM part itself; rather, it is the sum value of constituent component costs.
IF the constituent component is a BOM (i.e. subassembly), it will use the rollup cost of that subBOM in its calculations;
IF the constituent component is not a BOM (I.e. raw/purchased component), it will use the Ext. Cost (delivered from pricing engine) in its calculations. This behavior is consistent and recursive down through the BOM tree.
NOTE: The “cost record” associated with a part number is a value stored with the part record itself; the “rollup cost” for a BOM part number on the other hand is not a stored value, it is a calculated value.
The “cost record” pulls from one of four different possible $ values you can store as a part’s “cost” within a part record: 1- Part Pricing Cost; 2- Last Buy Cost; 3- Average Cost; or 4- Standard Cost. See screenshot below: image
There is a “pricing engine” in the system that will look for a $ value and, if it finds one, it uses that and displays that as the “Cost Record”. It looks first for the Part Pricing Cost, and if it doesn’t find that, it looks for a Last Buy Cost (if you have the “Cost_use_last_buy_cost” config enabled); if it doesn’t find that, it looks for an average cost; if it doesn’t find that, it looks for a Standard cost; and if it can’t find any of those, there is one more field in a part record called “last resort cost” it will look for.
The “material cost” in the Edit BOM screen is simply the sum total of each part number’s “cost record” as delivered via the pricing engine.
The “rollup cost” is entirely different. It is a calculated value. How it is calculated is by recursing down through the BOM and totaling up the labor $ estimate, the overhead $ estimate, any Charges $ estimate, any Setup $ estimate, and finally additionally the total of all component part numbers’ costs inside that BOM. IF the component part number is a subassembly (i.e. if it has a BOM record associated with it), then its Rollup Cost will be used in the overall calculation; otherwise, if the component part number is an actual raw component (i.e. with no BOM record associated), it will use that part number’s “cost record” as delivered by the Pricing Engine in the overall calculation.