Margin and price approval
Use this page to protect your margin. You see the cost and margin of every quote while you price it, and Price approval holds a proposal that goes below your limits until an approver says yes. Nothing is sent to the buyer while a proposal waits.
1. Cost and margin on a quote
Section titled “1. Cost and margin on a quote”While you edit a quote, each line shows Cost and Margin, and a Cost and margin card shows Total cost and Total margin.
- Where the cost comes from: the product cost you entered in Shopify. A line whose product has no cost shows Not set in Shopify, so you know where to add it.
- How margin is worked out: the quoted price minus the cost, on the line total (price times quantity). Shipping, tax and discounts on the whole order are not part of it.
- Total margin appears once every line has a cost and a price. Until then the card lists the lines or products that are missing.
- If Shopify cannot be reached, the quote page says so and does not show cost and margin.
- Who sees it: only your team. Cost and margin are never sent to the buyer.
When you send a proposal, the cost and margin are saved with that version. Open the Versions card and click View to see them. A version sent before they were recorded shows “Cost and margin were not recorded for this version.”
2. Set the price floor
Section titled “2. Set the price floor”- Go to Settings > Price approval.
- Turn Price approval on. It is off by default, so proposals are sent as before.
- Set at least one limit:
- Minimum margin: a proposal with a lower margin than this is held. Leave empty for no margin floor.
- Maximum discount: a proposal that discounts the quote total by more than this is held. Leave empty for no discount cap. Both are percentages from 0 to 100.
- Choose what happens to products without a cost. Hold proposals with products that have no cost: when off, a product without a cost is left out of the margin check. When on, such a proposal is held because its margin cannot be fully checked.
- Pick the Approvers (see below) and save.
3. Choose who approves
Section titled “3. Choose who approves”Approvers are people from your team. Add them first in Settings > Team members, then tick them under Approvers on the Price approval page. You need at least one approver, and up to 20.
- An approver has to click This is me next to their name in Team members. Until then the page warns that they are not linked to a Shopify account and cannot approve.
- While Price approval is on, only approvers can approve or reject a proposal, and only approvers can change the price approval settings. Other staff see the settings read only.
- If no approver is left in your team, the settings are not locked, so you can pick new approvers.
4. What happens when a proposal is held
Section titled “4. What happens when a proposal is held”When you click Send proposal email (or Resend proposal email) and the proposal breaks a limit, the app shows “Held for approval. The proposal was not sent.” The quote gets a Price approval card and the Activity timeline adds Held for price approval.
The card tells you why the proposal was held, for example “Margin 12% is below the 15% minimum” or “Discount 25% is above the 20% maximum”, or that some products have no cost. It also shows who it will be sent to and the payment terms that are held.
Each request has a status:
| Status | Meaning |
|---|---|
| Waiting for approval | An approver has to decide before this proposal is sent. |
| Approved | An approver approved it, and the proposal was sent. |
| Rejected | An approver rejected it. The proposal was not sent. |
| Out of date | The quote changed after the request, so it can no longer be approved. Send the proposal again. |
5. Approve or reject
Section titled “5. Approve or reject”Approvers decide from the Price approval card on the quote, or from the Waiting for approval list at the bottom of the Price approval page, which shows every held proposal with a count and a link to each quote.
- Approve and send: the held proposal goes out as it was written. The timeline adds Price approved. If the proposal cannot be sent, the app says “Approved, but the proposal could not be sent. Send it from the quote.”
- Reject: a window asks for a Reason. Your team sees the reason; the buyer does not. The proposal is not sent. The timeline adds Price rejected.
If someone already decided the request, the app says so and refreshes the list.
6. If the quote changes
Section titled “6. If the quote changes”A request is tied to the quote as it was when you sent. If you or the buyer change the quote afterwards, the request becomes Out of date and cannot be approved. Edit the quote if needed, then send the proposal again; it goes through the check again.
A proposal email that failed can be resent from the quote’s email log with Resend only if the quote has not changed since. If it changed, the app says the email can no longer be resent: send the proposal again from the quote so the check runs.
Related pages
Section titled “Related pages”- Buyer Edit WindowLet logged-in buyers change a quote request for a set number of hours after they submit it, and see what changed on the quote in your admin.
- Create a quote in adminCreate a quote yourself in the app, for example after a phone call: choose the buyer, add products and prices, then send the proposal.
- Customer Quote HistoryGive logged-in buyers a quote history page or customer account block where they can track their quote requests and view details.
- Messages and counter-offersTalk to your buyer on the quote itself, and handle a price the buyer proposes on your proposal: accept it or counter.