Quote Troubleshooting

This section provides more information about common issues that may occur on quotes, ans ways to fix them.

  • Changing the custom field is expected to trigger the Save action, but that does not happen.
    Make sure the application parameter found in Application Parameters > Shopping Carts and Quotes > Automatically save quote on custom field change is enabled. This parameter is used to trigger the Save action when a custom field is changed. However, in Responsive Design, it is also necessary to make sure the Save quote on change checkbox is checked in Setup > Custom Fields > Edit.

  • An editable quote item custom field is not displayed in the classic design (in Quote 1.0), but it is normally displayed in responsive design. Why?
    If this is the case, it is necessary to check the quote template set for the user type. Quote item custom fields have to be added to the template .xslt file in order to be displayed. Namely, in classic design, quote item custom field visibility is defined in the .xslt file, while in responsive design, it is defined via layouts and layout permissions.

  • How to make a visible custom field not editable?
    In order to be editable, a custom field needs to be made editable in the Setup and the visibility conditions need to be set to true. However, to make a custom field visible and not editable, an additional step is needed. Namely, after the visibility is set to true, we need to add an additional line in scripting to set the editable status to false as well:
     if Quote.GetCustomField("TEST").Content is None or Quote.GetCustomField("TEST").Content == '': 
        Quote.GetCustomField("TEST 2").Visible = False 
        Quote.GetCustomField("TEST 2").Visible = True
        Quote.GetCustomField("TEST 2").Editable = False

  • A part number cannot be found in a quote, but it can be found in another quote with the same status and quote owner. What is causing this to happen?
    The problem is caused by the different markets and pricebooks that correspond to these two quotes. The part number has no price defined in any pricebook for the market corresponding to the first quote. The product cannot be seen in the first quote because two fields are checked for pricebooks in Setup > Pricing Calculations > Pricebooks: Hide simple products without prices when using pricebook lookups and Prevent users from quoting part numbers that haven't got a price in pricebooks.

  • A quote custom field value is calculated with the Eval tag and the result is an empty value.
    If a quote custom field value is calculated via the Eval tag, it should display a number. Having an empty value as a result means that the Eval function was not performed successfully. If that quote custom field formula depends on other custom field values, the formulas of those fields should be checked, too. Those formulas may contain trailing spaces which cause the evaluated value to become a string instead of a number, and as a result, the Eval tag does not return any value.

  • Quote item description doesn't have the expected value. What should be done to correct this?
    • If the quote item is the main item (product), the product definition page should be reviewed. Namely, Product Description under the Product Data section, Long Product Description under the Additional Product Data section and Dynamic Description under the Advanced Formulas section are the standard fields that are used to populate the product description field and may contain dynamic formulas that should be reviewed and modified.
    • Quote item description could be set via scripting. Therefore, product scripts, global scripts, product attribute triggers, custom quote calculations and custom actions should be checked.
    • Quote layout could be customized and the product description may be another quote item custom field that is used to present item description, so the used template should be checked.

  • Values not evaluated when MarketDisplay is used in calculations. How can this be fixed?
    Values may not be evaluated when MarketDisplay is used for calculations. Instead, MarketDecimal should be used.
    Here is an example of a tag that does not work:
     $<<C_TAG(<* Round (<* Eval(<*CTX( Quote.CurrentItem.ExtendedAmount.MarketDisplay )*>/<*CTX( Quote.CurrentItem.Quantity.MarketDisplay)*> )*>,2)*>)>> 

    When the given tag is used, values may not be evaluated because MarketDisplay is used for calculations instead of MarketDecimal. MarketDisplay and DefaultDisplay should never be used for calculations because they are converting field values into the current user's format.
    On the other hand, MarketDecimal returns the non-formatted value, so the result of calculation can be displayed in the current user's format.
    With that in mind, the formula above should be replaced with the following:

     Unit NRC:
    $<<C_TAG(<*CTX( Number(<* Round (<* Eval(<*CTX( Quote.CurrentItem.ExtendedAmount.MarketDecimal )*>/<*CTX( Quote.CurrentItem.Quantity.MarketDecimal )*> )*>,2)*>).Format)*>)>> 

  • Why does the total amount appear to be an incorrect number?
    If the total sum appears incorrect, total amount values can be found after multipliers and additional discounts:

  • Why is the updated value of a Quote Item Custom Field not saved (in Quote 1.0)?
    When a user tries to update a quote item custom field, if that field does not belong to the default editable group, the new value won't be saved and it will be reset to the old value. The field can be moved to the editable group in Setup > Pricing and Calculations > Cart Fields Administration (for the appropriate user type and quote status).

  • The Upgrade to new version action is executed, but nothing happens.
    This may happen if the new product version has attributes that are marked as Required (so the configuration is initially incomplete as a result of that) and the Allow adding incomplete items checkbox is unchecked for the user type. In that case, the application attempts to upgrade the item to the new version, but, as it is incomplete, it is not added to quote and so the action is not performed successfully.

  • Why is a quote still in the Waiting for Approval status even after it was approved?
    When two approval rules are triggered for one quote, even if the quote is approved in regard to one of these rules, it still will be in the status Awaiting for Approval if there is AND logic between the two rules. Furthermore, when the quote is rejected according to either one of these approval rules, the status will change to Rejected.

  • Extended Amount is not properly calculated. What may be the cause?
    If Quote.Item.ExtendedAmount has been set up through scripting, Quote.Item.ExtendedAmountInMarket may not be calculated as Quote.Item.ExtendedAmount * Market.MarketFactor * Market.CurrencyRate, as expected. This depends on the value selected in the Fix Quote Amount After Currency Conversion parameter (Setup > Pricing/Calculations > Rounding Setup).
    This parameter checks if there is a difference between the total net price and the summed (and rounded) extended amount. For example, if the total net price is 100 and the price of each item is 33.33 (99.99 in total for three items), there will be a difference of 0.01 between the total net price and the extended amount. If there is a difference, that amount is added to either the item with the highest extended amount or to the total net price, depending on the selected parameter value:
    • If Fix Items is selected, the item with the highest Quote.Item.ExtendedAmount is recalculated by adding the delta, which is calculated as Quote.Total.TotalNetPriceInMarket - sum of the extended amount for all items.
      If this option is selected and you haven’t refreshed the total net price of the quote after changing the extended amount, the Quote.Item.ExtendedAmount will be different from Quote.Item.ExtendedAmountInMarket.
    • If Fix Totals is selected, Quote.Item.ExtendedAmountInMarket is calculated using this formula: Quote.Item.ExtendedAmount * Market.MarketFactor * Market.CurrencyRate.

More Information

You are here: SAP Sales Cloud CPQ Online HelpLimitations and TroubleshootingTroubleshootingQuote Troubleshooting