Sales Order - Prevent Automatic Updating of Fields When Changing Customer
I was wondering if anyone knew of a way to prevent certain fields from updating with default/stored data when updating the Customer field on the Sales Order page under a certain condition.
My Goal: When on the Sales Order page, if a certain Order Type is selected (in this case, the order type that signifies it is a Sales Order created and sent from our website), changing the Customer Field does not update/overwrite the Financial Settings or the Shipping Settings. This is because the Financial and Shipping settings fields are populated and sent from the website, and may have more specific information than the stored Customer information.
I want to keep the loading of default data for other tabs/fields, but keep the customer-entered billing and shipping info.
Does anyone have any ideas on what I could try in order to achieve this?
I would be looking to have the website update/create the Customer record in Acumatica as part of the order being created. And then ideally, pass the correct Customer ID on the order so you avoid this altogether.
A couple of points:
1) Financial settings flow from the customer record and the shipping settings flow from the customer location record selected for the customer. This is default behavior and I am not aware of a way to override it without customization.
2) I understand why you are entering an order before the customer record is created in Acumatica. However, aren't you entering the same financial and shipping settings in the customer record when it is created? If so, how is the update causing an issue?
3) If the sale is to a repeat customer, a customer record should already exist. Are you not first validating the customer before creating the order? In this case, when entering orders for an existing customer, the proper, validated customer ID should be used. This would cause the defaults to be pulled and then overwritten by the subsequent lines of the API call.
I can't see any other way of solving this without customising the code.
I agree with others that you probably need to customize the screen. You can try going here for questions about how to customize: