Skip to main content

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 — Applicable, Code, Comp, and Custom tabs.

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.read to list programs, checks.update to apply).
  • The Comp and Custom tabs only appear for roles with incentives.activate — typically managers.
  • Approving a held discount takes incentives.activate too — 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.

Club discounts often apply themselves

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 pending discount — Awaiting approval with Approve (PIN).

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.

Where discounts come from​

Everything in this guide is the register end — applying a discount to a check in front of a guest. The programmes themselves are built at /admin/incentives (Incentives — "Manage coupon programs, codes, and promotions"), which is where a manager decides what the register will later offer.

Incentives — where the discounts the register offers are built.

Incentives — coupon programmes, codes and promotions.

A programme has a type, and the type is what decides when it applies:

  • Membership — the club discount. This is the one that makes a club member's price different from retail, and it is read by the register and the web shop alike rather than being re-entered in each.
  • Promotion — a campaign, usually with a code.
  • Loyalty — earned rather than campaigned.
  • Comp — the house covering it.

Targeting narrows what a programme touches: by Product, by Experience, or by a Targeted audience, with Exclusions for the things it must never discount. There is a code tester on the page — enter a code and it tells you whether it resolves, rather than making you ring a sale through to find out.

A club discount belongs here, not on the club

If club members are being charged retail, this is the first place to look. The membership programme is what carries the discount; the club record itself does not price anything.

Reference​

Tab / controlNeedsWhat it does
Applicableincentives.readOne-tap suggestions for this order/customer, incl. club & VIP.
Codechecks.updateType a coupon code, or scan a coupon QR with the camera.
Compincentives.activatePreset comp programs; reason required.
Customincentives.activateAd-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 rowchecks.updateRemoves an applied or pending discount.