Discounts at the register
Every cart and checkout panel carries a Discounts button (when your company has incentives enabled). It opens one dialog that handles the whole discount story: smart suggestions, coupon codes and QR scans, manager comps, custom discounts, and the approval flow for big markdowns.

The Discounts dialog — one-tap suggestions on Applicable; Code, Comp, and Custom alongside.
You'll find the button under the cart totals while building an order, and in the checkout panel while settling — same dialog either way. Once a discount is applied, the button shows the running amount (e.g. Discounts −$12.00), and a green discount row appears in the totals.
Who sees what
- Everyone who can ring sales sees Applicable and Code
(
incentives.readto list programs,checks.updateto apply). - The Comp and Custom tabs only appear for roles with
incentives.activate— typically managers. - Approving a held discount takes
incentives.activatetoo — either directly, or via Approve (PIN) at the register (below).
Discount programs themselves (codes, club discounts, comp reasons, thresholds) are configured by admins in the incentives admin — this guide is only about using them at the register.
Applicable — one-tap suggestions
The first tab lists programs that already qualify for this order and this customer — including club/VIP membership discounts (crown icon) and public coupons — each with its estimated value ("est. −$8.00") and, where relevant, "needs approval". Tap Apply. If nothing qualifies, the tab says "No discount codes apply to this order yet." — attaching the right customer is usually what lights it up.
Assigning a club member to the cart can auto-apply their membership discount — it appears in the applied list as Club Member Discount (purple) without touching this dialog.
Code — type it or scan it
The Code tab has a coupon-code box ("Enter coupon code") with Apply, plus a QR button that opens an inline camera scanner — "Point the camera at a coupon QR to apply its code." A scanned coupon applies exactly like a typed code; expired or paused coupons are refused with the reason (e.g. "[program] is expired").
Comp and Custom — manager tools
Both tabs require incentives.activate and a written reason — every comp
and custom discount is audited.
- Comp — pick one of your company's comp programs (each shows its value, e.g. "100% off (max $50)"), enter a reason ("Reason for comp (required)..."), and tap Apply Comp.
- Custom — an ad-hoc discount when no program fits: choose Amount ($) or Percent (%), enter the value and a reason ("Reason (required) — e.g. glass not enjoyed"), and tap Apply Discount.
Whole cart or specific items
The Code, Comp, and Custom tabs all end with an Apply to choice: Whole cart (default) or Specific items, which opens a checklist of the cart's lines. Item-scoped discounts show against their lines in the cart, and the totals reflect only the selected items.
"Awaiting approval" and how to clear it
Admins can set an approval threshold on a discount program. When the discount you're applying pushes the check's total markdown past that threshold, it doesn't apply immediately — it lands in the dialog's list as an amber "Awaiting approval" row with its estimated value. The check's totals don't change until someone approves it.

A held discount — "Awaiting approval" until a manager clears it.
Two ways to clear it, right on the row:
- Approve — a signed-in manager (anyone with
incentives.activate) taps Approve. One tap, done. - Approve (PIN) — at a register signed in as a non-manager, the row shows Approve (PIN) instead: "A manager must enter their PIN to approve." The manager types their PIN and taps Confirm — no need to switch users. A wrong PIN answers "Incorrect PIN. Try again."
Either way the discount applies immediately after approval. A pending row can also simply be removed (the ×) if it shouldn't apply at all.
Remove a discount
Every applied or pending discount row has an × — removing it restores the check's totals instantly. Two moments you'll need this:
- Before splitting a check — a discounted check refuses to split ("Remove discounts before splitting evenly."). Remove, split, re-apply on the right check. See Split a check.
- Wrong discount applied — remove it and apply the right one; discounts marked non-stackable can't combine with others.
Reference
| Tab / control | Needs | What it does |
|---|---|---|
| Applicable | incentives.read | One-tap suggestions for this order/customer, incl. club & VIP. |
| Code | checks.update | Type a coupon code, or scan a coupon QR with the camera. |
| Comp | incentives.activate | Preset comp programs; reason required. |
| Custom | incentives.activate | Ad-hoc $ or % discount; reason required. |
| Apply to | — | Whole cart, or a checklist of specific items. |
| Approve / Approve (PIN) | incentives.activate (or manager PIN) | Clears an "Awaiting approval" hold. |
| × on a row | checks.update | Removes an applied or pending discount. |
Related
- Take an order (POS) — the cart the discounts apply to (and why splits need discounts removed).
- Settle a check & take payment — discounted totals flow straight into the checkout panel.