How to work with quotes
  • 10 Dec 2025
  • 4 Minutes to read
  • Contributors
  • Dark
    Light

How to work with quotes

  • Dark
    Light

Article summary

Creating quotes

Quotes can only be created via the configurator, or more precisely during the Checkout of a configuration. To configure the creation of your quotes, simply click on the checkout component within your configurator.

You will see the Quote property which can be used to

  • enrich every newly created quote with configuration data and

  • optionally create rules for selected properties.

The following type of rules enable the restriction of properties in the quote details page:

  • QuoteLockRule … locks a selected property and makes it read-only

  • QuoteMinMaxRule … allowed number range (e.g. Min = 1  and Max = 5 )

  • QuoteAllowedTextsRule … allowed text values (e.g. "mm", "cm", "m" )

  • QuoteAllowedNumbersRule… allowed number values (e.g. 1, 5 , 10 or 15)

new Quote {
  quoteHubName : "QuoteHubName",
  // pdfAssetPath : "assetFolder.pdfAssetName",
  subject : "Subject",
  projectId : "ProjectId",
  currency : Currency.EUR,
  // taxRule : QuoteTaxRule.RevealSalesTax,
  // paymentDueDays : 30,
  // offerValidityDays : 90,
  // contributionMarginRatioThreshold : 60,
  customer : new {
    firstName : "John",
    lastName : "Doe",
    companyName : "My Company GmbH",
    city : "City",
    street : "Street 13",
    // addressLine1 : "My Company GmbH",
    // addressLine2 : "Building C",
    postalCode : "PostalCode",
    country : "Country",
    emailAddress : "john.doe@mail.com",
    phoneNumber : "+43 1 12345678"
  },
  items : [
    new QuoteItemSection { name : "Main" },
    new QuoteLineItem {
      name : "My Product 1",
      description : "Description text",
      quantity : 10,
      unit : "m",
      priceNet : 10,
      tax : 20
    },
    new QuoteLineItem {
      name : "My Product 2",
      sku : "MP-2",
      description : "Description text",
      quantity : 1,
      unit : "mm",
      priceNet : 20.5,
      variableCostNet : 15,
      // contributionMarginRatioThreshold : 50,
      tax : 20,
      discount : new {
        value : 5,
        // type : PriceAdjustmentType.Percent
      },
      isOptional : true,
      imageUrl : "https://picsum.photos/id/2/200",
      rules: new {
        priceNet: new QuoteMinMaxRule {
          min: 10,
          max: 1000
        },
        quantity: new QuoteAllowedNumbersRule {
          numbers: [1, 5, 10, 15]
        },
        unit:  new QuoteAllowedTextsRule {
           texts: ["mm", "cm", "m"]
         },
        discount: new {
          value: new QuoteMinMaxRule {
            min: 0,
            max: 10
          }
        }
      },
      fields : new {
         myItemCustomField : "My line item property value"
      },
      fieldRules: new {
         myItemCustomField: new QuoteLockRule { }
      }
    }
  ],
  rules: new {
    subject: new QuoteLockRule { },
    projectId: new QuoteAllowedTextsRule {
      texts: ["project 1", "project 2"]
    },
    paymentDueDays: new QuoteMinMaxRule {
      min: 1,
      max: 5
    },
    taxRule: new QuoteLockRule { },
    quoteDate: new QuoteLockRule { }  
  },
  fields: new {
     myCustomField : "My additional quote property value"
  },
  fieldRules: new {
    myCustomField : new QuoteLockRule { }
  }
}

Keep in mind

Always include thequoteHubName to select the correct quote hub.

Please ensure that this property is not missing and the quote hub is correctly configured, otherwise the quote cannot be created and the checkout will not proceed.

The QuoteOnCheckout property indicates if a quote should be created during the checkout. This means, you can for example create a quote depending on any condition or component (e.g. only for a dedicated region or product combination). The following example uses the CreateQuotecomponent which is connected with a check box control with the user interface of the configurator.

CreateQuote or False

As previously described, every configurator can create quotes in any hub (see the quoteHubName property). In the following example, configurator A, B and C create quotes in their dedicated hubs, but configurator D creates quotes in HUB2 and HUB3. This allows you to create quotes from different configurators, but ensure the same number sequence described in the next section.
This is crucial if products from different configurators should use the same quote numbers in their offers (quote PDFs).

Changing quotes

After you have configured the quote creation and users have already created quotes, you can use them in the quote overview page.
A quote is always linked to a configuration which is is protected and can no longer be modified to avoid inconsistences between the configuration and the resulting quote.
Once you have clicked on a dedicated quote, all details of this quote are shown. You can directly see the resulting quote PDF which is ready to be sent to your customer.
In addition, it’s conveniently possible to change all details of the quote by clicking on the Edit Quote button.


In a quote draft, you can modify contact details, contents and details (tax rules, custom fields, etc.) of the quote.
All properties which violate a quote rule are highlighted, check allowed values in the tooltip. If a quote contains issues, then it’s not possible to publish it.
The button on the right hand side allows you to see a preview of the quote PDF.

Restoring quotes

If you would like to go back to a previous version or check all changes which have been performed for a quote, then simply click on the history button.


Was this article helpful?