Broadleaf Microservices
  • v1.0.0-latest-prod

Quote

Overview

As of Broadleaf 2.1.0-GA, quote functionalities were introduced to facilitate the negotiation process between the buyer and seller. Buyers and sellers can go back and forth, making modifications to the quote until each is satisfied.

Quote Flows

Buyer Flows

Out of the box, the buyer can:

Seller Flows

Out of the box, the seller can:

Custom Quote Items

Out of the box, the buyer and seller can add a custom quote item to the quote (see DefaultCartItemTypes#CUSTOM_QUOTE_ITEM), which is simply an arbitrary item that is not associated to an actual catalog item. Custom quote items are typically useful for buyer to request an item that they could not find in the catalog or something that is not offered, e.g. training & customer support hours, etc.

Adding a Custom Quote Item

To add an custom quote item to the quote, the AddItemRequest#itemType simply needs to be set to CUSTOM_QUOTE_ITEM, and other properties such as productId or sku can be omitted.

If additional details need to be passed in, AddItemRequest#nonCatalogItemDetails can be used to pass in item name, price, and additional attributes.

Important
If the custom quote item is added by the sales rep along with the NonCatalogItemDetails#price, the price is used to create a price override for the item. If the price is specified by the buyer, it’s simply ignored.

By default, when a custom quote item is added to the quote, it is not added to a fulfillment group. This behavior can be customized by overriding the hook point at Custom Quote Item Hook Points

Quote’s Validity with Custom Quote Items

By default, custom quote items cannot exist in the quote without any STANDARD items, therefore the last STANDARD item cannot be removed from the quote.

This behavior can be configured at Custom Quote Items Configurations and customized by overriding the hook points at Custom Quote Item Hook Points