UPDATE - Behaviour has changed
I retested the scenario below in CRM 2016 and the behaviour is now different. To summarize the behaviour in CRM 2016:
- Fulfilling an order uses the latest catalog price (unless Lock Pricing is set) and the latest exchange rate (regardless of Lock Pricing)
- When merging accounts with fulfilled orders, the price on line items does not change, regardless of Lock Pricing and neither does the base amount (meaning that the latest exchange rate is not applied)
So it seems somewhere between CRM 2011 and 2016, the scenario below was fixed. Pricing on fulfilled orders no longer changes.
Scenario in CRM 2011
This article describes a scenario where the prices on fulfilled orders can change. One would expect the value of a fulfilled order to never change so I regard the outcome of this scenario as a bug.
When two accounts are merged, the value of fulfilled orders can change. To reproduce, complete the following steps:
- Create two accounts named ABC Ltd.
- Ensure you have a product in the product catalog with a value in list price and a price list item that is set to 100% of list price.
- Create an order against one of the accounts, add a product and then fulfil the order.
- After fulfilling the order, change the list price of the product, then review the order; the value of the order has not changed (as expected).
- Now, merge the two ABC Ltd accounts selecting the one without the order as the master. As expected, the order linked to the second ABC transfers to the first ABC.
However, the value of the order is recalculated using the new price even though the order is fulfilled and read-only. This is not expected and undesirable. The value of fulfilled orders should never change.
Workaround to prevent the value on orders from changing
On the ribbon for orders there is a button labelled Lock Pricing. The purpose of this is to prevent changes to prices on line items for open orders.
According to the CRM help, this means "type of pricing behavior that prevents changes to the price per unit for products in open orders or invoices".
Even if a price changes in the product catalog, the original price will remain for any open orders or invoices in which Prices Locked has been enabled. Note that the help refers to open orders.
To prevent the value of fulfilled orders changing, click Lock Pricing before fulfilling an order. When merging accounts and where an order has Lock Pricing selected the prices on order line items do not change if the product price changes after the order is fulfilled. It should not be necessary to do this to prevent the pricing on fulfilled orders changing.
If you agree, please vote for my product suggestion at https://connect.microsoft.com/dynamicssuggestions/feedback/details/780958/prices-can-change-on-fulfilled-orders
After you have clicked Lock Pricing the ribbon changes to look like this:
The form shows whether prices are locked or not as shown below. Note that the checkbox is read-only, you cannot change the setting of the checkbox.