The Quote lifecycle

See how four resources, Cart, Quote Request, Staged Quote, and Quote, move a negotiated B2B purchase from request to Order.

Ask about this Page
Copy for LLM
View as Markdown

After completing this page, you should be able to:

  • Identify the four resources in the Quote flow and who acts on each.

  • Sequence the lifecycle from Quote Request through Staged Quote to a Pending Quote and then to Order.

  • Explain why a negotiated purchase needs this flow rather than a plain Cart.

When Atlas Corporate wants 500 units at a price no published rate covers, a plain Cart cannot express what happens next: a buyer asks, a seller responds with a revised offer, and the buyer accepts or pushes back. That structured back-and-forth is what the Quote flow models. This page is the map of the whole flow; the next two pages walk each half in detail.

Why a plain Cart is not enough

A Cart records what a buyer wants to buy at the prices they are entitled to. Negotiation is different: the buyer requests terms, the seller prepares a counter-offer on a working copy, and the agreed result must be captured as a binding price that survives later catalog changes. commercetools splits that conversation across four resources so each party acts on the right one, and so the agreed terms are recorded separately from the original basket.

The four resources

The flow uses one buyer-owned basket and three negotiation resources. The Buyer is the Associate acting for the Business Unit; the Seller is the merchant operating through the general endpoints.
ResourceOwned byRole in the flow
CartBuyerThe basket the buyer assembles, with Business Unit context and distribution Channel
Quote RequestBuyerThe buyer's formal request for terms, created from the Cart
Staged QuoteSellerThe seller's working copy, including a quotationCart the seller edits
QuoteSeller, ordered by BuyerThe binding offer the buyer uses to create an Order

The lifecycle end to end

The intended workflow moves left to right, with each resource carrying its own states:
  1. The buyer assembles a Cart with Business Unit context.
  2. The buyer creates a Quote Request from the Cart. It starts in Submitted.
  3. The seller accepts the request (Accepted) and prepares a Staged Quote (InProgress), editing its quotationCart.
  4. The seller issues a Quote from the Staged Quote and sends it (Sent); the Quote starts in Pending.
  5. From the Pending Quote, the buyer creates an Order from the Quote, declines it, or requests renegotiation. Order creation can set quoteStateToAccepted: true to record acceptance.
  6. The Order carries the negotiated, locked prices from the Quote.
Each step is a permissioned action: the buyer needs permissions such as CreateMyQuoteRequestsFromMyCarts and CreateMyOrdersFromMyQuotes, while the seller operates through the general endpoints. You will see the specific states and actions for each half in the next two pages.

Key takeaways

  • A negotiated B2B purchase uses four resources: the buyer-owned Cart and Quote Request, and the seller-owned Staged Quote and Quote.
  • The Cart records what the buyer wants; the Quote flow records the negotiation and the agreed binding price separately.
  • The lifecycle runs Cart -> Quote Request -> Staged Quote -> Pending Quote -> Order, with each resource tracking its own states.
  • Buyer actions are governed by Associate permissions; the seller acts through the general endpoints.

Test your knowledge