# Quotes overview Overview of the Quotes API and the use of related endpoints in the intended workflow. Learn more about the end-to-end quote lifecycle from request to binding offer in our self-paced [Implement B2B purchase flows](/learning-model-b2b-commerce/implement-b2b-purchase-flows/the-quote-lifecycle.md) module. ## Definitions #### Buyer A Buyer is a representative of the organization that wants to purchase goods or services from your shop. Buyers are represented as [Customers](/api/projects/customers.md#customer). #### Seller The Seller offers goods or services in your shop to Buyers for a negotiable price. For this, the Seller accepts requests for offers. #### Quote Request A Quote Request is the starting point of the negotiation process between a Buyer and the Seller with which the Buyer expresses a request for an offer from the Seller. The Quote Request cannot be changed by the Buyer after submission. #### Staged Quote A Staged Quote is an offer that a Seller makes to a Buyer during the staging phase. The Staged Quote is created after the Seller accepts a Quote Request from the Buyer. #### Quote A Quote is the legally binding result of the negotiation process between a Buyer and a Seller, after the Buyer accepts the Staged Quote from the Seller. A Quote cannot be changed after it is sent to the Buyer. ## Intended workflow 1. A Buyer starts the process by creating a [Cart](/api/projects/carts.md) and adding the Line Items for which the Quote is requested. 2. The Buyer creates a [Quote Request](/api/projects/quote-requests.md) with this Cart and submits it to the Seller. A Quote Request is independent of the originating Cart. Any changes that occur later to the originating Cart have no impact on the Quote Request (or any resulting Quote). 3. The Seller has the option to either accept or reject the Quote Request. If the Seller accepts, the Seller can prepare a [Staged Quote](/api/projects/staged-quotes.md). The Seller can add or remove Line Items, or change Line Item quantities on the `quotationCart` of the Staged Quote. To add Discounts, the Seller can do one of the following: - Add a [DirectDiscount](/urn?urn=ctp%3Aapi%3Atype%3ADirectDiscount) to the `quotationCart` of the Staged Quote as a whole or add it to specific Line Items. - Use [Cart Discounts](/api/projects/cartDiscounts.md) on the `quotationCart` of the Staged Quote. These two options are mutually exclusive. When a Direct Discount is present on the `quotationCart`, matching Cart Discounts are ignored and Discount Codes cannot be applied. For details, see [Direct Discounts](/api/pricing-and-discounts-overview.md#direct-discounts). Additionally, the Seller can set an expiry date, add a comment, and additional information that may be stored on the Custom Fields of the Staged Quote. 4. Once the offer is ready to be sent, the Staged Quote is turned into a [Quote](/api/projects/quotes.md) that is legally binding. 5. The Quote is sent to the Buyer, who can either accept, decline, or request to renegotiate the Quote. - If the Buyer accepts the Quote, it is then turned into an [Order](/api/projects/orders.md). A Quote can be reordered multiple times, if it has the `Pending` [state](/api/projects/quotes.md#quotestate) and has not yet expired. - If the Buyer declines the Quote, the process ends without an Order. - If the Buyer [requests to renegotiate](/api/projects/quotes.md#request-quote-renegotiation) the Quote, then the Seller can adjust the Staged Quote and create a new Quote from it again. ## Constraints - Only Buyers are allowed to cancel Quote Requests and only while they are in a `Submitted` state. - Quote Requests that are in a `Rejected`, `Cancelled`, or `Closed` state cannot be used to create Staged Quotes. - Only Staged Quotes that are in an `InProgress` state can be turned into a Quote. - Only `Pending` Quotes can be [ordered](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Forders%2Fquotes%3APOST). - Only `Pending` Quotes can be [renegotiated](/api/projects/quotes.md#request-quote-renegotiation). ## Related pages - [Area overview page with navigation](/api.md) - [Next page: Quote Requests](/api/projects/quote-requests.md)