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.
Out of the box, the buyer can:
Convert an IN_PROCESS
cart to a quote
See DRAFTING status
Submit a quote request
Checkout with a published quote
See SUBMITTED status
Edit a published quote
See EDITING status
Cancel a quote
See CANCELED status
Clone an expired quote into a new quote
See EXPIRED status
See DRAFTING status
Move an expired quote to cart
Out of the box, the seller can:
Setting up a sales rep
View requested quotes
Assign yourself to a quote
See ASSIGNED status
Modify a quote
If sales rep assignment is required, the quote must be assigned to a sales rep before it can be modified
Publish to a quote
See PUBLISHED status
Reject to a quote
See REJECTED status
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.
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
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