Convert a quote to an order
Acceptance is the customer's decision. Conversion is what the platform does with it. Keeping them separate is what lets a converted quote still pass through an approval, and what stops an order appearing that nobody meant to place.
sent and not past valid_until.
A superseded or expired quote cannot be accepted — revise it instead, see
Negotiate and revise.The customer accepts on the storefront
The contact opens the quote from their account area, reviews the lines, and selects Accept. They can add their own purchase-order number at that point, and you should encourage it: that number is what their accounts-payable department will match your invoice against.
What happens next depends on what that contact is allowed to do — the same two doors that govern any order, described in Quotes, approvals and negotiation:
| The contact may | Order value | Result |
|---|---|---|
| Place orders | Below your threshold | Order created as placed |
| Place orders | Above your threshold | Order created as pending, awaiting approval |
| Only request orders | Any | Order created as pending |
| Approve orders | Any | Order created as placed |
An accepted quote can therefore still produce an order that is not yet real. That is correct. The buyer agreed to your price; their own governance still applies — and on their side, a second approval workflow may run inside their procurement system before the acceptance ever reaches you. See How procurement governance works.
Manual conversion by the rep
Most acceptances in the Mittelstand do not arrive as a click. They arrive as a PDF purchase order by email, or as a phone call.
- Open the quote on Sales › Quotes.
- Select Record acceptance.
- Enter the customer's purchase-order number and the date they accepted.
- Attach their document.
- Convert.
Record the acceptance date the customer gave, not today's date. The gap between those two is your own processing delay, and it is worth being able to see it.
What the order carries
The order created from a quote is an ordinary order with three references filled in:
| Field | Holds |
|---|---|
number | A fresh order number from your order range |
external_ref | The quote number — AN-000412 |
customer_order_number | The buyer's purchase-order number |
Those three are what make the deal findable from any side later. Your ERP reconciliation matches on the order number, the customer's accounts-payable matches on their PO number, and your sales team searches on the quote number. See Reconcile with your ERP.
The prices come from the quote, not from the price lists. This is the whole point of the frozen snapshot: the order lines carry the quoted unit prices, the quoted currency, the quoted tax basis and the quoted rounding, and the resolution chain is not consulted again. A price list that changed between the send and the acceptance changes nothing.
Partial acceptance
Whether a buyer may accept some lines and not others is a policy you set in Quote settings. Both answers are defensible:
- All or nothing. The quote is one package. Accepting part of it is a counter-offer, and the buyer's storefront offers no line-level accept. Right wherever the price depended on the total basket.
- Line-level. The buyer accepts the lines they want. The order carries those;
the remaining lines close as
declinedwith the reasonnot accepted, and they show up in your win/loss analysis as lost lines rather than a lost quote.
If you allow line-level acceptance, check your discounts. A 12 % concession given for a €40,000 basket applies to a €6,000 basket just as happily, and the volume that justified it never arrives.
What to check
- The order exists on Order Management › Orders with the quote number in
external_ref. - The order's unit prices equal the quote's, to the cent — including on any line where a price list has changed since.
- The quote shows
convertedand links to the order. - If the buyer was a
requester, the order is inpendingand appears in the Awaiting approval counter, not in fulfilment.
When it does not work
| Symptom | Cause | Do this |
|---|---|---|
| Accept action missing for the buyer | The quote expired, or was superseded | Revise with a new validity |
| Order created but prices differ from the quote | Lines were added after conversion | Compare the order against the quote's PDF; the added lines are live-priced |
Order stuck in pending | The contact holds orders.request only, or the value crossed your threshold | Work the approval queue — The three order statuses |
| Duplicate order for one quote | Manual conversion after the buyer already accepted online | Cancel one with a reason; conversion is not idempotent by design |
Next
- Process an order — what happens to it now.
- Call-offs against a framework agreement — when the deal is a volume, not a basket.