A quote is the priced offer you put in front of the customer. It prices with the same machinery as orders — price lists, discount groups, header taxes — and records approved or declined flags. Those flags document the customer decision, but the current generation code excludes declined quotes rather than positively requiring Approved; operators must verify acceptance and lines before creating downstream work.
Prerequisites
- Access to the CRM app with create permission on the Quote entity.
- Usually an opportunity to generate the quote from — quotes can also be created directly.
Procedure
- 1
Account is the customer receiving the commercial offer.
- 2
Opportunity preserves the originating deal; review related quotes because this link does not prevent duplicate quote generation.
- 3
Service Type distinguishes the kind of work or sale being quoted.
- 4
Price List supplies line prices as of the quote's pricing date.
- 5
Tax supplies the header tax context that later flows to lines and the order.
Step 1 — Create the quote
The normal path is Generate Quote on the opportunity: review the opportunity header, lines and existing related quotes first. The current action has no repeat or non-empty-lines guard, so it can create another quote or a header-only quote. For a direct quote, choose New, search for the verified account, and select partner account and branch. The quote pulls document date, sale price list, discount group, addresses and header taxes from that context. Before saving, confirm every locked field—account, partner, branch, opportunity and asset. Reopen the quote and reconcile its source link, defaults and copied lines before pricing.
Step 2 — Price it
Adjust lines and quantities against the customer's requested scope; prices fill from the price list in effect. Confirm the pricing date and currency before applying a header discount because it cascades to every line, and changing price as on reprices existing lines. Configure package products per line with the product configurator and verify the component lines it creates. Finish by checking quantity, unit price, discount, tax and extended total line by line, then compare the document total with the approved commercial calculation.
Step 3 — Record the customer's decision
When the customer answers, record it on the quote:
- Approve marks the quote and all its lines approved.
- Decline marks the quote and all its lines declined.
The two are mutually exclusive flags—approving clears declined and vice versa. Record the actual customer decision, date and supporting activity before changing the flag; do not use customer approval to represent internal authorization. After saving, verify the header and all lines share the same approved or declined state and that the opposite flag is cleared. Internal sign-off remains a separate approval process.
Step 4 — Create the order
On an accepted quote, review the decision, locked header, lines and total, then run Create Order once. The action skips a declined quote and sales-order validation prevents another order linked to the same quote, but the action does not itself require the Approved flag or non-empty lines. Create Service Order copies service work but currently has no equivalent repeat guard and may append again. Wait for the linked result, open it from the quote, and reconcile header, lines, pricing and taxes before any retry. The order then follows the normal sales order lifecycle.
Expected result
The quote header and lines reproduce the intended customer, pricing and tax context, and its flags record the customer's latest decision. Operators verify approval and non-empty lines before generation, confirm the resulting document, and avoid rerunning service-order generation; sales-order validation refuses a second order linked to the same quote.
Common problems
Create Order appears to do nothing — the quote is declined; declined quotes are excluded. Record acceptance and clear that state only when accurate. If sales-order validation reports an existing order, open it instead of retrying. Do not expect an equivalent repeat guard on Create Service Order; inspect related service orders before running it. "No Quote Line found for Repricing" means the quote has no lines. Locked header fields (account, branch, partner, opportunity) cannot be corrected on a saved quote—create a new quote with the right context.
Common questions
Can I approve or decline individual lines?
The approve and decline actions act on the whole quote — every line is marked together with the header. If the customer wants only part of the offer, adjust the lines to what they will take and approve the amended quote.
What if the customer wants changes after declining?
Update the quote — reprice it, change lines — and approve it when they accept; approval overwrites the declined state. The decision flags record where the quote stands now, not a frozen history.
Does an approved quote become an order automatically?
No — order creation is explicit. A sale order links back to the quote and duplicate sale-order validation protects that path. Service-order generation does not currently provide the same one-run guarantee, so inspect the quote's related service orders before invoking it.
