Handle quotes

Handle a quote request

From the request in the list to a sent quote — or a refusal with a reason.

A buyer sent a basket in from the shop, or a customer phoned and wants an offer. This is the path from that moment to a quote the buyer can accept: take it on, price it, send it. Or, if you will not quote, refuse it with a reason the buyer can read.

Before you begin: check the quote settings, above all the default validity. You need the permission quotes.price.

Find the request

  1. Open Order Management › Quotes. The list is sorted newest first.
  2. Set the Status filter to requested to see what nobody has picked up yet. The Origin filter separates From a cart from Opened by sales.
  3. Open the quote. The header shows the status, the origin, the currency and the validity.

The Overview tab lists the positions: SKU, article, quantity, the List price, the Quoted price, the reason (Why), the line total and the buyer's Decision. The panel beside it shows the customer, the shipping and billing address, the offer totals and the notes, including Why a quote and From the buyer.

Take it on

  1. Select Take it on. The quote moves to in_review, and you are its owner. The action is offered only on a new request.

Taking it on is what tells your colleagues somebody is working on it. A quote your sales team opened with New quote skips this step: it starts in in_review already.

Price it

The quote's price has three parts: the positions, the carriage and the validity.

Positions. Each position carries its list price from the cart. Where you agree a different price, it is stored as the Quoted price beside the list price, with a reason from a fixed list (volume, competition, relationship, clearance, cost_change, other) and optionally a lead time in days.

Position prices cannot be edited in the Cockpit. Send quote sets only the carriage, the validity and your message. A quote you send from the Cockpit therefore goes out at list price plus carriage. A negotiated position price is set by a call to the quotes app's pricing step (/quotes/quotes/:id/price), from your ERP, a CPQ system or an integration of your own. If your prices come from there, that is where it takes over anyway.

Do not send a position with price on request from the Cockpit. A position without a list price and without a quoted price is worth nothing on the quote, and it goes into the order draft at zero if the buyer accepts. Check the Quoted column: if it is empty on such a position, the price has to be set through the integration first.

Carriage and validity are set when you send:

  1. Select Send quote. Fill in:
    • Carriage (net): what the freight to the shipping address costs. Required. Enter 0 if you deliver free.
    • Carriage tax rate (%): prefilled with 19.
    • Valid until: leave it empty to use the default validity.
    • Message to the buyer: what the buyer reads with the quote, for example delivery terms, lead time and a direct phone number.
  2. Confirm. The quote moves to quoted and waits on the buyer.

The panel now shows Goods (quoted), Carriage and Total incl. carriage (net). The total is goods plus carriage, so the list, the record and the shop show the same number.

Refuse to quote

Some requests you will not answer with a price: an article you no longer supply, a quantity you cannot deliver, a customer you do not serve.

  1. Select Refuse to quote. It is offered while the quote is requested or in_review; once a quote is sent, it can no longer be refused.
  2. Enter a Reason. It is required, and the buyer reads it, so write it for them: "We no longer stock DN 12 hose; DN 16 is the successor."
  3. Confirm. The quote moves to rejected, which is final.

A refusal without a reason is not possible. For the buyer, "rejected" alone is silence with a status attached.

What reaches the buyer

The quotes app sends no mail itself. It announces each step as an event, with everything a mail needs already on it: quote.quoted carries the buyer's name and email address, the total, the carriage, the validity and your message; quote.rejected carries the reason. A workflow on those events sends the mail. If your buyers say they never hear back, check that workflow first. See Events and webhooks.

What to check

  • The quote shows quoted, a Valid until date and a Total incl. carriage that matches what you intended.
  • The Trail tab shows one entry per step: requested, taken on, quoted.
  • The buyer received the mail your workflow sends.

Next