Proposal For retaining Price when the customer is changed in sales order

PROPOSAL SUMMARY 

This proposal covers the scope of retaining the price when the customer is changed in sales orders. 

REQUIREMENT 

The client needs to retain the price value when the customer is changed in the sales order. When the customer of an existing Sales order is moved to another customer, pricing is updated based on the destination customer’s price level. 

The client wants to change this standard behavior and retain the pricing when the order is moved from one customer to another customer. Ideally, they do want this customization for sales orders whose customer record has a specific checkbox checked. 

OUR SOLUTION 

We will add a custom column hidden field “Store Price Level” to each item lines in the sales order to store the price level during the creation of the sales order. This field is a list field sourcing the price level values. 

If the customer is changed after the creation of sales order, then price level will be changed in each item lines with the price level value of the new customer. This is a standard field ‘Price Level’ in the Sales order item lines to store the price level value for each item.  

When a sales order is created, the price level value in the item lines will be stored in the custom hidden field in item lines. If the customer is changed, we need to retain the existing price value. We will use a custom checkbox named as “lock unit pricing” in a customer record to enable/disable this custom behaviour. If this field is checked, then the unit price for each line item will be retained after SO is edited and saved even If the customer is changed. 

When the customer is changed in sales order, if the checkbox named “lock unit pricing” in the customer is checked, then the price value in the sales order will be retained. That means we will be storing the value from the custom hidden field to the standard field upon saving the sales order. 

This customisation will work only if the checkbox named “lock unit pricing” in a customer record is checked. If this field is unchecked, then the price value will not be retained upon edit and save of the sales order record and price value will be the price of destination customer. 

This checkbox will be visible to all customer record. By default, the checkbox will be unchecked. 

ASSUMPTIONS 

  • The checkbox will be enabled for all the customer records and will be unchecked by default. 
  • This customization will only work for sales orders whose customer has the “lock unit pricing” checkbox is checked in the customer record. 
  • This solution will override the new price value set for each item when the customer is changed in sales order. 
  • If the customer price level is updated after the sales order is created, this will not be reflected in the existing sales orders. 
  • We will be considering the sales orders with only the Pending approval status. Sales orders with any other statuses will not be considered in this customization. 
  • This customization will work only the save of the sales order record. 
  • Script will trigger and retain the price value only when the customer is changed in sales order. 
  • If both the customer and the price value is changed manually, upon save of sales order record, the price value will be retained if the “lock unit pricing” checkbox is checked in the customer record. 

Leave a comment

Your email address will not be published. Required fields are marked *