How to spot discount, comp and void problems
Four ways a sale gets smaller, which ones carry risk, and a weekly routine that takes fifteen minutes.
There are four ways a sale gets smaller at the register. Most of the time each one is ordinary: a promotion, a fixed mistake, an unhappy guest looked after. Occasionally one of them hides a training gap, a setup error or misuse. The work is telling the two apart without treating every crew member as a suspect.
This guide covers the definitions, the formulas worth tracking, the patterns that deserve a closer look, a worked example, and a fifteen-minute weekly routine.
Four different things
- Discount: the price is reduced at the sale. A promotion, a coupon, an employee meal.
- Comp: an item is given away, usually to fix a guest problem, on a manager's call.
- Void: an item is removed from an order. Before payment, it's usually a correction.
- Refund: money goes back after payment.
Keep them separate in your reports. A store with a high discount rate and a normal void rate has a different question to answer than one with the opposite. Lumping them into one "reductions" figure hides which is moving.
The formulas
Use gross sales, before any reductions, as the denominator so the rates add up cleanly.
- Discount rate = discounts ÷ gross sales.
- Comp rate = comps ÷ gross sales.
- Void rate = voided item value ÷ gross sales.
- Refund rate = refunds ÷ gross sales.
- Post-payment voids = count of voids made after the check was closed or paid.
- Employee share index = an employee's share of the store's voids (or comps, or discounts) ÷ that employee's share of the store's sales.
An index near 1.0 means a person voids about as much as their volume would suggest. Closers, shift leads and people on the busiest station often run above 1.0 for honest reasons, because they handle more corrections. An index of 2.5 or 3.0 is not proof of anything, but it is worth reading the detail.
What counts as normal
Rates vary by brand, menu and promotion calendar, so there is no single right number. Compare with your brand and format, and above all compare each store with its own history. A practical way to define a store's normal range is the average of the last 8 to 12 weeks, plus or minus one standard deviation. A week above the top of that range is worth a look. A week that merely beats last week is not, because a rate that wobbles will beat the previous week about half the time.
Patterns worth a closer look
None of these proves anything on its own. Each is a reason to look at the detail.
- Voids after a check was paid.
- Refunds to cash rather than to the original card.
- One login carrying most of a store's voids or comps.
- Discounts clustered on a few shifts, or a discount type nobody launched.
- Drawer opens with no sale.
- Manager approvals entered by the same code at times that manager wasn't scheduled.
- Employee meal discounts on checks much larger than one meal.
The last two often point at a shared or written-down manager code. That is a control problem first, and it is usually fixed by resetting codes rather than by questioning anyone.
A worked example
Here is one week at a single store, with its normal range built from the previous 12 weeks.
| Gross sales | $31,000 |
|---|---|
| Discounts | $1,085 (3.5%) |
| Normal discount range | 2.6% to 3.2% |
| Excess above the top of range | $93 (0.3 points) |
| Voids | $420 (1.4%) |
| Comps | $160 (0.5%) |
| Refunds | $95 (0.3%) |
| Total reductions | $1,760 (5.7%) |
The discount rate is above the store's normal range by 0.3 points, which is $93 for the week. Voids, comps and refunds are within their usual levels. So the first question is about discounts, not voids.
Sorting the discount report by type shows most of the extra came from the employee meal discount. Sorting by employee shows one login applied 38% of those discounts while working 18% of the store's sales, an index of about 2.1. Reading the lines shows several employee meals rung for full family orders on one evening shift.
The most likely explanations are ordinary: a crew member feeding a family member under the employee meal key, or a misunderstanding of the policy. The fix is a clear policy, a short conversation using your HR process, and a check of the same rate next week. If it returns to range, that is the end of it.
A fifteen-minute weekly routine
- Pull the discount, comp, void and refund reports in your POS for the week.
- Calculate each rate against gross sales and compare it with the store's own normal range, not just last week.
- Sort each report by employee and compare each person's share with their share of sales.
- Read post-payment voids and cash refunds line by line. There are usually few.
- Check discount types for anything nobody launched, and employee meals for unusual check sizes.
- Note which manager codes approved reductions, and check those times against the schedule.
- Write down one thing to follow up, with a name and a date, and check it the following week.
Fifteen minutes a week is enough because you are only reading the exceptions. The point is a steady habit, not an audit.
Controls that help
Manager approval with a personal code that's never shared, a reason on every void and comp, and a GM who knows the reports are read weekly. Each of these makes honest mistakes visible and misuse harder.
- Require a reason code on every void and comp, and review the "other" reason most closely.
- Block post-payment voids without a manager code, if your POS allows it.
- Set refunds to go back to the original payment method by default.
- Reset manager codes when a manager leaves, and whenever a code may have been shared.
- Retire old discount keys when a promotion ends.
Where you use cameras, follow local notice and privacy rules. If something looks wrong, follow your HR process and get advice before acting, and don't deduct shortages from anyone's pay, which many states restrict or prohibit.
Common mistakes
- Comparing with last week only. Normal wobble will look like a problem about half the time.
- Treating a high employee index as proof. Shift leads and closers often run high for good reasons.
- Reviewing totals and never reading the lines. The detail on a handful of post-payment voids tells you more than the rate.
- Leaving promotion keys live after the promotion ends, then wondering why discounts rose.
- Sharing manager codes "just for the rush". It removes the one control that tells you who approved what.
- Confronting someone before checking the facts and following HR guidance.
Running this across several stores
For an owner with more than one store, the same rates by store, each against its own range, show where to spend the week's attention. One store above its range is worth a call to the GM. Every store above range in the same week usually means a brand promotion or a POS change, not a store problem. For more on keeping a consistent routine across a group, see how to manage multiple locations, and for wording the follow-up so a GM can act on it the same day, see how to give GMs clear instructions.
Where Franlever fits
Franlever measures each store's discount and void rates against that store's own normal range and flags a week only when it clears the top of it, so GMs aren't sent chasing ordinary wobble. When a rate does clear it, the GM gets one specific lever in the morning brief by email or text, and on most mornings there is nothing to chase at all.
Common questions
- What is the difference between a comp and a void?
- A comp gives an item away, usually to fix a guest problem, and is normally approved by a manager. A void removes an item from an order, usually before payment, as a correction. Comps are a cost the store chose to take. Voids should net to almost nothing when they are honest corrections, which is why voids made after payment deserve a closer look.
- How often should I review voids and discounts?
- Weekly. A short review of the POS reports, sorted by employee and compared with the store's own normal range, catches mistakes and misuse while they are small. Daily review usually produces too much noise, and monthly review lets a problem run for weeks. Fifteen minutes on the same day each week is enough for most stores.
- What is a normal void rate for a restaurant?
- It varies by brand, menu complexity and POS setup, so compare with your brand and format rather than a single figure. The more useful test is each store against its own history. Build a normal range from the last 8 to 12 weeks and look closely only when a week sits above the top of that range.
- Should I use cameras to check voids and refunds?
- Cameras can help confirm what happened at the register, but follow local notice and privacy rules, and use them to check facts rather than to watch people. Start with the POS detail. Most questions are answered by the reason code, the time and the approving manager code before any footage is needed.
General information for restaurant and franchise operators, not legal, tax, accounting or financial advice. Figures in examples are illustrations, not predictions or promises of results. Laws and platform policies change and differ by location, so check the current rules and talk to a qualified advisor about your situation.