My client had two conflicting needs, to cost the majority of their items at average actual, but to track around 100 items at a fixed, standard cost even though they were bought at market price through the year. Our original solution was to create two inventory organizations, one standard cost and one average cost. The standard costed items were always received into the standard cost organization and then transferred into the average cost organization.
Although this worked from a costing perspective, the transactional overhead was high. Each transfer involved an internal requisition and an internal sales order. Because all of the items were serialized, much manual input was required.
We were looking for a way to collapse the standard cost organization into the average cost one so that we could eliminate the transactional load. Tom Concialdi, Senior Sales Consultant at Oracle and all-around Manufacturing Guru, pointed us toward the Transaction Cost Extension. This is a stub program that is called whenever the Cost Manager runs. If there is code in the Transaction Cost Extension, it will be executed at that time.
We chose to build a Quotation in Purchasing to hold the standard cost information for our 100 items. We created a dummy Supplier for the purpose and then listed all of the items in the quote with their fixed cost. When the Transaction Cost Extension is called, it is coded to go and look to see if the subject item of the uncosted transaction is on our quote. If it is, the value from the quote is returned and the transaction is costed at this value rather than the original cost that was entered or derived.
We looked at different places to store the fixed cost information; creating a new Cost Type, creating a Lookup etc. We chose the Quotation form because Purchasing maintained the information and were familiar with the form already, and because it contained effectivity dates.
The coding was relatively simple and it works beautifully. All transactions are reset to the fixed, standard cost at the time that they are costed. Because we can be assured that all transactions will be at the same cost, we have no need for the second organization and its associated overhead.