Skip to main content
When a quote is held for owner review, the quote receipt shows an approval panel with three actions. The owner approves the computed range, adjusts it, or declines — and the decision is recorded in the review and override trail.

Before you start

  • A workspace with an active Test or Live environment
  • A quote in the awaiting approval state (the work list shows it in the Needs review bucket)
  • Access to approve quotes for this workspace

When the approval panel appears

The approval panel appears on the quote receipt when the quote state is awaiting approval. This happens when:
  • The book’s autonomy rung is approval-first and the Book produced a priced offer.
  • A review rule fired and held the result regardless of the autonomy rung.
  • The outcome was needs review or inspection required — non-priced outcomes are always held.
In Shadow mode, no approval panel appears. Shadow observes requests for comparison but never sends an offer. The owner still produces the real answer outside Kordless.

The three actions

Approve and send

Click Approve & send to send the computed range or exact price to the customer as-is. The quote state moves from awaiting_approval to quoted. The customer sees the offer on the hosted path or embed. The review record stores who approved and when. No adjustment is recorded.

Adjust

Click Adjust to correct the range before sending. An inline form appears with:
  • Low ($) — The corrected low bound.
  • High ($) — The corrected high bound.
  • Classification — Why the adjustment is being made.
  • Reason — An explanation of the correction.
The classification options are: When the classification is existing rule wrong or missing rule or factor, Kordless drafts a learning proposal against the pinned book version. This proposal appears as a pending change on the Book — it does not write to Live directly. The reason you provide becomes the owner evidence for that proposal.
An adjustment that classifies as an existing rule problem or a missing rule drafts a proposed change against the pinned book version. That proposal must still be reviewed, verified, and published before it becomes Live. See Update a Live Book.
After saving, the quote state moves to quoted with the adjusted range. The review record stores the original range, the adjusted range, the classification, and the reason.

Decline

Click Decline to close the quote without sending an offer. An optional reason can be provided. The quote state moves to declined. The customer sees a neutral state — no price is ever shown for a declined quote.

What happens after a decision

After any decision, the quote receipt refreshes to show:
  • The updated outcome chip (priced, declined, or still in review if the action failed).
  • The complete review and override record — who decided, what was adjusted, and why.
  • The customer decision state.
If the quote was approved or adjusted, the customer decision becomes sent. If declined, it becomes declined.

Idempotency

The decision route uses optimistic concurrency with the quote’s row version. If another action was taken on the same quote between when you opened the receipt and when you submitted your decision, the server rejects the stale request. Refresh the page to see the current state and try again.

Role requirements

Approving, adjusting, and declining quotes requires authorization to record quote decisions. Members can view the quote receipt but may not see the approval panel. If you do not have the required role, ask a workspace administrator to complete this step or grant you the necessary role.

If it does not work

Next

Quote receipt and derivation

Why a quote result can be replayed and how it is derived.

Commitments overview

What happens when a customer accepts an offer.