Quotes (Conceptual Guide)

At the end of this lesson you will be able to:

  • Explain, how to implement the calculation of line items of a Quote.

    • Explain, how to ask user for inputs (i.e., create input fields).

What Is a Quote

A document for negotiation of product prices and other conditions.

Figure 1. Quote Header Sample
Figure 2. Quote Line Items Sample

Data Model

Quote Life Cycle

Use Cases

Add Line Item

Create new input field
if (api.isInputGenerationExecution()) { api.userEntry("Quantity") // ❶ api.getParameter("Quantity").setRequired(true) // ❷ }

❶ During input generation mode, this function builds a definition for an input field.
❷ Retrieves reference to the input field definition and sets it additionally as required.

Read value provided by the user in the input field - several examples with the same result
// All these samples work only in regular execution (i.e., not in input generation mode) input.Quantity input["Quantity"] api.input("Quantity") api.userEntry("Quantity")

Recalculate Line Items

Configuration / Implementation of Quote

The configuration/implementation of a Quote usually consist of many things. This Handbook focuses only on the simple implementation.

  1. Simple implementation:

    • Line Item Logic

    • Quote Type setup

  2. Common implementation also has:

    • Header Logic

    • System Configuration Options

    • Approval Workflow

    • Price Record Mapping

Line Item Logic

The Quote Line Item logic typically:

  • Creates input fields for the line item.

    • This is done only once, when the new line item is added. The logic will be executed in input generation mode to collect the input fields for the SKU. And the system will store those input fields definitions on the line item.

  • Calculates the results for the SKU on the line item.

    • This is called for action each time, when the user re-calculates the Quote.

Quote Type Setup

The Quote Type describes, which logics will be used to perform various operations with the Quote.

You can find the types under Quoting  Quote Types.

It sets:

  • Line Item logic - Which logic will be used for every line of the Quote, to create its input fields, and to calculate its results. The only exception is, if the SKU would have a logic set on the Product level (i.e., in the Product Master table).

  • Header Logic - Which logic will be used to prepare header input fields and calculate aggregated overall results of the Quote.

  • Workflow logic - Which logic will prepare the approval steps for the Quote after Submission.

Found an issue in documentation? Write to us.