Add Simple Product

User is on catalog and initiates adding simple product to cart:

  • AddToQuote
    • Load product configuration
      • Apply rules
        • OnProductRuleExecutionStart
        • OnProductRuleExecutionEnd
      • OnProductLoaded
    • Create quote if it does not exist
      • Create empty
        • Calculate quote custom fields
          • OnBeforeCustomFieldCalculation
          • foreach quote custom field that changed and if not FIRE_SCPARAM_CHANGE_ONLY_ON_USER_ACTION: OnCustomFieldChanged
          • OnAfterCustomFieldCalculation
      • Set user's default market and pricebook
      • SAVE QUOTE
        • OnQuoteCreated
      • OnCustomerMappings (crm)
      • OnQuoteFieldsMappings (crm)
    • Execute AddItem action in workflow - executing AddItem pre-actions
    • AddItem
      • Fill item standard fields( quantity, description, base price, product, attributes, unit of measure…)
      • Create line items
        • [ for each line item] OnItemAdded
      • OnItemAdded
      • Calculate key attributes
    • SAVE QUOTE
      • [if not first item] Get prepared cart (prices in selected market, rounded values…)
        • Fix rounding error
          • calculate cart totals (runs mathematics for Product Type and Cart Totals)
    • OnProductAddedToQuote

User opens current quote:

  • [if this cart loaded for the first time] OnUserOnQuotationTab
  • Add item finalize
    • Calculate main editable group (calculate QICF values, runs mathematics for Items, Product types and Cart Totals)
    • SAVE QUOTE
      • Get prepared cart (prices in current market, rounded values…)
        • Fix rounding error
          • calculate cart totals (runs mathematics for Product Types and Cart Totals)
    • Calculate Aggregates
    • Calculate quote custom fields
      • OnBeforeCustomFieldCalculation
      • foreach quote custom field that changed and if not FIRE_SCPARAM_CHANGE_ONLY_ON_USER_ACTION: OnCustomFieldChanged
      • OnAfterCustomFieldCalculation
    • Save quote custom fields
    • [If quote custom fields changed] OnEveryTimeQuoteChanged
    • OnUserOnQuotationTab
    • OnCustomerMappings (crm)
    • OnQuoteFieldsMappings (crm)
    • Check discount rules
    • Check margin health
    • [if standard (not editable) shipping used] Calculate shipping cost
      • calculate main editatable group (calculate QICF values, runs mathematics for Items, Product Types and Cart Totals)
      • SAVE QUOTE MODEL - do not calculate quote custom fields
        • SAVE QUOTE
          • Get prepared cart (prices in current market, rounded values…)
            • Fix rounding error
              • calculate cart totals (runs mathematics for ProductType and CartTotals)
        • Calculate aggregates
        • Save quote custom fields
        • [if quote changed (items added/removed, customers, totals)] → OnEveryTimeQuoteChanged
        • OnUserOnQuotationTab
    • Load cart actions (checks action conditions such as APPROVALREQUIRED)
    • OnProductAddedToQuote
  • Execute AddItem action in workflow - executing AddItem Post actions and sending notifications
  • Load cart
    • Get items
      • Get prepared cart (prices in current market, rounded values…)
        • Fix rounding error
          • calculate cart totals (runs mathematics for Product Types and Cart Totals)
    • BeforeQuoteRendering
You are here: SAP Sales Cloud CPQ Online HelpAdmin Page HelpEvent PipelineAdd Simple Product