I just answered a similar question for a new customer where their requirements during the sales cycle was to do this very thing… in their case, most of their products come from foreign soil, and the shipping time can be over 1 month. Once an item is shipped, they know its cost, but they are still quoting at the old cost.
My suggestion (which we are proceeding with) is to:
- create a NEW COST ID called “Current Cost”
- Continually load the current Purchase cost for all products
- roll the cost for this new costID “continually” (Ok… maybe only once per week).
- make a BPM that will override the COSTID that is used to retrieve the costs when creating a quote, and load the costs from the CURRENT COST table.
Step 4 is the only thing that requires “custom code” to make it work.