Entities

Quote

B2B sales offer with negotiated prices, lifecycle, comments, and validity

A Quote is a B2B sales offer prepared for a buyer. It has negotiated totals, a validity window, comments, an activity history, and a workflow that can result in an order.

Available since v0.26.0 in @laioutr-core/canonical-types

Components

Base

QuoteBase

base
Quote identity, human-readable number, name, and custom fields.
name
string

Human-readable subject/title of the quote, e.g. "Q3 framework agreement".

number
string

Human/ERP quote number distinct from the internal id, e.g. "QUO-2026-0042".

customFields
Record<string, unknown>

Custom fields are a way for implementations to pass arbitrary data to actions, queries, etc.

Status

QuoteStatus

status
Open-vocabulary quote lifecycle state with display and reason fallbacks.
status
stringrequired
statusLabel
string

Connector-resolved display label for status — the fallback shown when the status key is not mapped to a localized label (e.g. a B2B Sellers offer-state name).

statusComment
string

Free-text note attached to the current status — distinct from the buyer/seller notes in QuoteComments (Emporix status.comment).

Cost

QuoteCost

cost
Firm subtotal, total, shipping, tax, and applied fee amounts.

Validity

QuoteValidity

validity
The period during which the offered prices apply.

Comments

QuoteComments

comments
Buyer and seller notes attached to the quote.
customerComment
string

Note from the customer/buyer (B2B Sellers customerComment).

sellerComment
string

Note from the seller/sales rep (commercetools sellerComment).

Activity

QuoteActivity

activity
A timeline of quote changes and participants.
  • QuoteItemsQuoteItem multi — Resolves negotiated quote lines.

Actions

Use the B2B quote actions to request, accept, decline, revise, cancel, or check out a quote.

Copyright © 2026 Laioutr GmbH