How to Update and Save Header of Approved Quotes

If you work with the Quoting module in Salesforce and you need to update the Opportunity information in the header of an approved Quote in the Deal status, you can configure it this way:

  1. On the Feature Flags page in the quoteButtonsConfiguration section enable the following flags:
    • showAssignOpportunityOnApproved
    • showSaveButtonOnApproved (from version 6.0, this flag is no longer available but the Show button will be visible if there are always-editable fields)
  2. All fields that you intend to be updatable after the Quote is approved must be set as alwaysEditable. When you save the Quote, only updates to alwaysEditable fields are saved. The Quote logic is not run.

For example, you can set only Opportunity Name as alwaysEditable. The code in Quote header logic will look like this:

quoteProcessor.addOrUpdateInput(
  "ROOT",
  ["name": "OpportunityName",
   "label": "Opportunity Name",
   "type" : InputType.STRINGUSERENTRY,
   "readOnly": api.global.isOpportunity,
   "required": false,
   "parameterGroup": "Opportunity and Project Information",
   "alwaysEditable": true
  ]
)

(warning) Note that 'alwaysEditable' inputs are only supported in Unity UI (not in Classic UI)!

(tick) In the same way (setting fields as 'alwaysEditable') you can update approved Agreements/Promotions or Rebate Agreements. Note that if the user has the DataIntegration user role assigned, this functionality may not work correctly.