Comps, voids and discounts log: approval limits, reason codes and a weekly review (free template)

Every café gives things away: a remade latte, a pastry off the bill after a long wait. Most of it is good service. Once in a while, it's a friend's order rung up at nothing.
On the end-of-day report it all looks the same. This template splits those lines back into decisions: what was taken off, why, who did it and who approved it, with a weekly review that turns the log into fixes.
Say the same thing by the same word
Your POS may use other names. Agree on these:
Term | What it means here | Food used? | Money back to the guest? |
|---|---|---|---|
Void (before it's made) | Removed before it went to the bar or kitchen, and before payment | No | No, nothing was paid |
Void (after it's made) | Removed after it was sent or made: wrong item rung in, guest left, fired twice | Yes | No, nothing was paid |
Comp | Given free on purpose: a remake for a complaint, a treat for a regular | Yes | No |
Discount | A percentage or amount off: a promotion, partner or loyalty reward | Yes | No |
Refund | Money returned after the check was paid, in cash or to the card | Usually | Yes |
Staff meal | Staff food under your meal policy, on its own button | Yes | No |
Two rules follow. A void after it's made is also waste, so it goes in your waste or remake records too. And staff meals get their own button, so they never hide in the comp line (see our employee meal policy template).
Remakes have their own log, which asks where the order went wrong: see our order accuracy and remakes guide. This log asks who decided to give it away, and was it theirs to decide?
Approval limits by role
What each person can do alone. The numbers are hypothetical; set your own.
Action | Staff (cashier, barista, server) | Shift lead | Manager | Owner only |
|---|---|---|---|---|
Void before it's made | Yes, any amount | Yes | Yes | |
Void after it's made | No | Up to $15 a check (hypothetical) | Any amount | |
Comp for a service problem | One item up to $8 (hypothetical) | Up to $25 a check (hypothetical) | Any amount | |
Comp as a gift (regular, neighbor, influencer) | No | No | Up to $25 (hypothetical) | Above that |
Discount from the set list (partner, loyalty) | Yes | Yes | Yes | |
Refund | No | Up to $20 (hypothetical) | Any amount | |
Anything for themselves, family or friends | No | No | No | Yes |
The last line matters most: nobody approves their own comp or comps a friend. Then make the POS match the table:
- One login or PIN per person. A shared login makes the weekly review useless (see our guide to choosing a POS (coming Nov 11)).
- Manager override on voids after an item is sent, comps and refunds, with the approver's login on the record.
- Named discounts with a fixed amount or percentage, instead of an open "custom discount" button.
- Reasons required on voids and comps, using the codes below.
Reason codes
Short enough to pick the right one under pressure.
Code | Reason | Type |
|---|---|---|
V1 | Entry error, caught before it was made | Void |
V2 | Entry error, already made | Void |
V3 | Guest changed their mind or left | Void |
C1 | Quality problem (wrong, cold, badly made) | Comp |
C2 | Long wait | Comp |
C3 | Hospitality: regular, neighbor, apology for something not food | Comp |
D1 | Partner or promotion from the list | Discount |
R1 | Refund: complaint after payment, or a card charged twice | Refund |
Anything that doesn't fit is C3 with a note. "Other" without a note is not a reason.
The nightly log
The POS keeps the transactions; the log adds the approver, the story and a manager's sign-off. The closing manager fills it in from the POS's void and discount reports.
Day totals
Date | Location | Gross sales | Voids after made ($) | Comps ($) | Discounts ($) | Refunds ($) | Staff meals ($) | Closing manager |
|---|---|---|---|---|---|---|---|---|
Every void after made, every comp, every refund, and any discount that wasn't on the list
Time | Check no. | Item(s) | Amount | Code | Rung by | Approved by | Note (what happened) |
|---|---|---|---|---|---|---|---|
Closing checks
- [ ] Every comp and refund above the staff limit has an approver
- [ ] Nobody approved their own
- [ ] Every void after it was made is also in the waste or remake records
- [ ] Staff meals rang under the staff meal button, not as comps
- [ ] Totals match the POS report and the daily sales and cash report
Cash refunds come out of the drawer, so check them against the till count in your cash handling routine. A cash refund with no check number and no approver is worth a phone call the same night.
The weekly review (20 minutes)
Once a week, pull the logs and the POS reports and look at the same four cuts, writing down a number for each so next week has a comparison.
Cut | What to look at | Worth a conversation when |
|---|---|---|
By employee | Voids after made, comps and refunds per person, against the hours they worked | One person's numbers are far from everyone else's on similar shifts, week after week |
By reason | Totals by code | One code keeps rising: C1 points to a recipe or station, C2 to staffing, V2 to the POS layout |
By daypart | Morning, midday, evening; weekdays against weekends | Problems cluster in one rush or one crew |
By item | Which items get comped or voided most | The same drink or dish keeps coming back |
A pattern is a question, not a verdict. The person with the most comps may work the busiest register, or handle every complaint because they're good at it. Start with the process (a misplaced button, an unclear recipe, a short-staffed shift) and ask the person what they're seeing. If it isn't the process, you'll have dated records. Our complaints guide covers what staff can offer guests without a manager.
End the review with one change for the coming week, and check next week whether the number moved.
Where it shows up in your numbers
Comps and discounts lower net sales; voids before payment never became sales. Voids after made, comps and refunds still used food, so they raise food cost percentage without adding revenue. Read the discount and comp line in your monthly P&L review: a steady line is a choice, a rising one sends you back to the weekly reviews.
Where Mays fits
- The nightly log as a form. Under Tasks → Types, build a Comps and voids form: Money amount ($) fields for the day totals, and Repeatable rows with a Money amount, a Single choice reason code and Employee fields for who rang and who approved. Add it to the closing checklist. See Building custom forms.
- The weekly review. Submitted forms land in Task Data; Export CSV gives you the week. See Task Data.
- An alert on a big day. Under Insights → Alerts & Reports, a Task Form Field Threshold alert can notify you when a top-level money field, such as the day's comps, is at or above an amount you set. See Alerts and scheduled reports.
- Refunds in Square. Connecting Square turns on an automation, Investigate Square refund, that asks whoever is on shift to write down why each refund happened. A condition on the amount can limit it to larger refunds. See Connecting Square and Automation triggers and actions.
- Discount totals. Mays brings in each Square order's discount total, and Mays AI can build a report of discounts by location and day. See Custom reports with AI.
- The story behind a big one. Post it in the Logbook under Customer or Staff, with Needs follow-up. See The manager logbook.
What Mays doesn't do: it doesn't bring in voids, comps or discounts by employee, approver or reason code, so the per-person cut comes from your POS's reports. A formula can't add up repeatable rows, so day totals are typed in.
Every giveaway has a name next to it
Define the words, set the limits, close the log every night, and spend twenty minutes a week on the patterns. The point isn't to stop giving things away; it's to know each giveaway was someone's call to make.
Start your free trial: 30 days, every module, no card needed. Or book a walkthrough and we'll set it up with you.