Pipeline and troubleshooting

Common quote problems

Refused acceptances, expired quotes, freight charged twice or not at all, an order that does not match the offer.

Most quote problems come back to four things: the date, the settings, what was priced, and what happened after acceptance. Start with the symptom.

Symptom, cause, fix

SymptomLikely causeFix
The buyer cannot accept: "this quote expired on …"Valid until has passed, plus any grace periodPrice it again with a new date while it is still quoted; once expired, it needs a new quote
The buyer accepted an hour after the date, and it workedA grace period is setIntended. Check Grace period after expiry in hours if you did not expect it
An expired quote still shows quoted in the listExpire quotes automatically is off, or the hourly sweep has not run yetNothing is at risk: acceptance is refused after the date regardless of the status
The buyer cannot accept single positionsAllow partial acceptance is offIntended if the price was calculated over the whole basket. Otherwise switch it on
A colleague of the requester cannot acceptWho may accept a quote is set to Only the requesterSwitch to Anyone in the organization, or let the requester accept
The buyer does not see the quote at allThey belong to another organisation than the quote, or lack quotes.readCheck Company on the quote and the buyer's role
Send quote is greyed outThe quote is decided or expiredIt can no longer be priced. Open a new quote
Refuse to quote is greyed outThe quote was already sentA sent quote cannot be refused; let it expire or wait for the buyer
A position is in the order at €0.00It had no list price and no quoted price when the buyer acceptedBefore sending, check every position has a price in the Quoted column
The second order has no freightIntended: carriage goes with the first order out of a quote onlyNothing to fix
The order has no freight at allThe quote was priced without carriageThe order flow decides what unpriced freight means; enter carriage, or 0, when sending
The buyer never got a mailThe app sends no mail itself; no workflow listens to quote.quotedSet up the workflow; see Events and webhooks
The next order is at list price, not the quoted priceA quote covers one deal; it does not create a contract pricePut the agreed price on a customer price list; see Quotes and contract prices

"This quote expired", and the buyer insists it did not

The date is checked at the moment of acceptance, against Valid until plus the grace period in hours. Two things cause arguments:

  • The buyer read the date in the mail, not on the quote. If the quote was priced again with a new date, the mail from the first round shows the old one. Every round is announced, so the newest mail is right.
  • "Valid until 30 April" and an acceptance on 1 May at 00:30. The date is hard. If you want to be generous by a few hours as policy, set a grace period rather than handling it case by case.

Once the sweep has moved the quote to expired, it is final. If you still want the deal, open a new quote.

The order does not match the quote

Compare three places: the quote's Overview tab (positions, Quoted, Decision), the Trail tab (which round was accepted, which order was written back) and the order itself.

  • Different unit prices. The order should carry the quoted price per position. If it carries list prices, the order was placed from the cart rather than from the accepted quote. Check the Trail tab: an accepted quote with no ordered entry was never ordered through the quote.
  • Positions missing. The buyer accepted only part of the quote. The rest is still open on a partially_accepted quote, or declined.
  • Positions twice. Not from the quote: each acceptance hands over only the positions accepted in that step. Look for a second order placed by hand.

A quote nobody owns

A request sitting in requested for days has no owner. Take it on sets one. Make it a habit to filter Status = requested every morning; see Reading your quotes.

Next