Skip to main content
Comps, voids and discount governance: approval flows and P&L tagging

Comps, voids and discount governance: approval flows and P&L tagging

Why your comp line looks fine on the surface but bleeds money underneath

Most managers can tell you their food cost percentage off the top of their head. Ask them what percentage of comps last month were approved by someone other than the person who rang them, and you get a blank stare.

That gap is where margin quietly disappears. Not through dramatic theft, usually. It's the boring stuff: a server comping a dessert because a table "seemed annoyed," a bartender voiding a round after the guest already drank it, a shift lead discounting a $90 check by 40% with zero note attached. Each one feels small. Stack them across a month and you're looking at a number that would make you cancel a marketing campaign if it showed up anywhere else on your P&L.

A real restaurant comps voids policy isn't a rulebook you print and tape to the office wall. It's an approval flow with teeth, a tagging system that maps every giveaway back to your P&L, and a weekly audit that takes a manager fifteen minutes. That's it.

The three-tier approval flow (and why two tiers isn't enough)

Plenty of restaurants run a two-tier system: server rings it, manager approves it. Sounds reasonable. In practice it collapses during the exact moments it's supposed to protect you — a packed Friday when the one manager on the floor is approving comps between running food and answering the host stand. They tap "approve" without really looking. The control exists on paper and does nothing in reality.

A three-tier structure fixes this by separating who can initiate from who can authorize from who reviews.

  1. Tier 1 — Server / bartender

    Can request a comp or void. Cannot self-approve anything above a small automatic threshold (a single drink remake, a coffee). Everything else requires the next tier.

  2. Tier 2 — Shift manager

    Approves comps and voids in real time up to a dollar ceiling per check and a running shift cap. Must attach a reason code at the moment of approval. This is the person solving problems on the floor.

  3. Tier 3 — General manager

    Reviews everything after the fact, owns anything above the shift manager's ceiling, and runs the weekly audit. The GM never approves during live service — that's the point. Distance creates objectivity.

The reason this works isn't the extra layer. It's that Tier 2 has a cap. When a shift manager knows they personally own every dollar of comps above, say, $150 for the night, their behavior changes. They stop rubber-stamping. They start asking the server what actually happened.

A quick threshold table you can adapt

SituationWho can approveReason code required?Escalates to GM if...
Drink remake / wrong item firedServer (auto)OptionalSame server hits 3+ in one shift
Comp under $25Shift managerYes
Comp $25–$75Shift managerYes + short noteRuns 3+ on one check
Comp over $75Shift manager, GM notifiedYes + noteAlways flagged for review
Full check void after food deliveredShift manager + noteYesAlways
Discount over 30% of check totalShift managerYes + reasonAlways

Adjust the dollar numbers to your average check. A steakhouse and a taco spot should not use the same ceilings. The structure stays the same.

Regardless of where you set those thresholds, the most important thing is that they're written down and everyone knows them before service starts.

Templated log entries: kill the "guest was unhappy" black hole

The single most common failure across comp systems: the reason field is free text, and everyone types the same three words. "Guest was unhappy." "Comped per mgr." "Made it right."

That tells you nothing. You can't audit it, you can't spot patterns, and you definitely can't distinguish a legitimate service recovery from a server covering a mistake they made.

Templated log entries force structure. Instead of a blank box, the approver picks a category and fills a short fixed set of fields:

  1. Reason category (dropdown)

    kitchen error / server error / long ticket time / guest complaint — food quality / guest complaint — service / promo or marketing / manager goodwill / other

  2. Who caused it (dropdown)

    kitchen / FOH / bar / no fault (guest expectation)

  3. Item(s) comped
  4. Dollar amount
  5. One-line note (what happened, 10 words max)
  6. Approved by (auto-captured, not typed)

The "who caused it" field is the one that changes everything. Once you're tagging fault, you stop looking at comps as a single blob and start seeing where they actually come from. One restaurant that thought it had a "generous server problem" found after two weeks of tagged logs that around 60% of its comp dollars traced back to kitchen ticket times over 22 minutes on weekend nights. That's not a comps problem. That's an expo and staffing problem wearing a comps costume.

This kind of structured, time-stamped entry pairs naturally with the same discipline you'd use in a proper shift handover digital log — the point in both cases is that the record captures what happened in a format you can actually query later.

P&L tagging rules: comps are not one number

The biggest accounting mistake restaurants make is dumping every giveaway into a single "comps" bucket on the P&L. When it's one line, it's invisible. You see a number, it's "a little high this month," and you move on because there's nothing to act on.

Tag comps to the part of the P&L they actually belong to, and the story writes itself.

  1. Kitchen-error comps → cost of goods / kitchen accountability. These are real food cost you gave away because of a preventable mistake. They belong next to your food cost conversation, not buried in some catch-all.
  2. Service-recovery comps (FOH error) → labor/training bucket. A pattern here usually points to a training gap or an understaffed section, not a bad guest.
  3. Promo and marketing comps → marketing spend. Comping tables for a soft opening or a regular's birthday you promoted is marketing. Tag it there and it stops inflating your "problem" comp number.
  4. Manager goodwill → operational discretion, capped monthly. This bucket should exist. It should also have a monthly ceiling per location.
  5. Voids after fire → shrinkage / loss. A void on food that was cooked and thrown away is a hard cost. It should never be grouped with a pre-fire void where nothing was made.

The insight most owners miss: a void before the kitchen fires the ticket costs you nothing but a keystroke. A void after fire costs you the full food cost plus the labor to make it. Grouping those two together on your reports is like counting a returned unopened box the same as a smashed one. Separate them and your void number suddenly means something.

If you want the deeper mechanics of connecting these daily control decisions back to your financials, the operational FinOps approach to mapping daily control loops to your P&L covers how in-shift decisions roll up into margin impact.

Threshold-based investigations: when a comp becomes a flag

Not every comp deserves a conversation. If you investigate all of them, managers tune out and the system becomes noise. The trick is defining thresholds that trigger a review automatically, and ignoring everything below them.

A workable set of triggers:

  1. Any single check with 3+ comps or voids. One mistake happens. Three on one table is a story.
  2. Any server whose comp dollars exceed roughly 2x the team average for the week. Not automatically a problem — your best server often handles the toughest tables — but always worth a two-minute look.
  3. Voids-after-fire above a set count per person per shift. This catches both honest kitchen chaos and dishonesty.
  4. Discounts over 30% of check total, more than twice by the same person in a week.
  5. Any comp entered in the last 15 minutes before shift closeout. End-of-shift comps are statistically where the questionable ones hide.

An investigation doesn't mean an interrogation. It means the GM pulls the tagged log entry, reads the note, and either clears it or asks one question. Most get cleared in seconds. The ones that don't are exactly what you'd never have found by staring at a monthly total.

How the workflow actually runs

Server requests comp → Reason category selected → Shift manager reviews + approves (if under ceiling) → Entry time-stamped and tagged to P&L bucket → GM reviews flagged entries at week-end audit

Process diagram

A server rings a comp for a $34 entrée. The system requires a reason category before it'll process — server picks "kitchen error, long ticket time," adds "18-min pasta on table 12." The shift manager gets the request, sees it's under the ceiling, approves with one tap because the note is specific enough to trust. The entry is now time-stamped, tagged to the kitchen bucket, attributed to a ticket-time cause.

Sunday morning, the GM opens the week's comp report. It's already sorted by tag. Kitchen-error comps are up, and they cluster Friday and Saturday between 7:30 and 9:00. That's not a mystery anymore — that's the exact window to add expo support or rethink the fire order. The comp data just diagnosed a service-flow problem the P&L alone would have hidden.

That's the whole value of the system: comps stop being a leak you patch and become a signal you read.

The weekly audit: fifteen minutes, five steps

The audit is where most policies die. Owners build the flow, then never review the output, and within a month everyone's back to "guest was unhappy." Keep it short enough that it actually happens.

The weekly comp & void audit checklist:

  1. Pull total comp/void dollars and compare to the last 4-week average — flag anything over roughly a 15% swing.
  2. Sort by tag. Which bucket grew? Kitchen, FOH, promo, goodwill, shrinkage?
  3. Review every threshold-triggered flag from the week. Clear or note.
  4. Check per-person comp dollars against team average. Look at outliers on both ends.
  5. Confirm no reason fields were left blank or generic — a spike in "other" is its own red flag.

Watch the "other" category closely. When it starts climbing, it almost always means your reason codes don't match how service actually breaks down, or someone's using "other" to avoid attribution. Both are fixable. Both are invisible if you're not auditing weekly.

The audit only works if it happens consistently. Block it on the calendar, same time every week. Fifteen minutes on a Sunday morning beats a two-hour scramble at month-end when the numbers don't add up.

A real scenario: the mid-volume bistro

A roughly 90-seat neighborhood bistro doing around $110k–$120k a month was running comps near 4.5% of sales and couldn't explain why. Ownership assumed generous servers. The floor manager assumed the kitchen. Nobody had data, so both were half-guessing.

They rolled out the three-tier flow with templated logs and P&L tags — no new software at first, just a disciplined reason-code list and a shift cap for the manager on duty. Two weeks of tagged data showed the real split: about half the comp dollars were kitchen-error and ticket-time driven, a solid chunk was manager goodwill with no ceiling (one shift lead was comping to keep tables happy rather than actually solving the delay), and only a small slice was genuine server discretion.

They capped goodwill at a monthly number per shift lead, added expo help on weekend peaks, and required a fault tag on every entry. Within about six weeks comps settled to the low-3% range. On their volume that's roughly $1,500–$1,800 a month that stopped leaving the building — without a single "crackdown" meeting or anyone feeling policed.

The thing that surprised them most wasn't the savings. It was how quickly the data pointed at the real problem. Two weeks of structured logs did what six months of gut instinct couldn't.

When this level of governance makes sense — and when it doesn't

When it's worth building the full three-tier flow: any operation running multiple shift leaders, more than one location, or comps consistently above 3% of sales. The moment you can't personally see every comp happen, you need structure to see them for you.

When it's overkill: a small owner-operated spot where you ring most checks yourself and know every regular by name. Forcing a three-tier approval on a five-person team just adds friction to problems you can already see across the room. A simple tagged log and a monthly glance is plenty.

Who should not do this: managers who won't commit to the weekly audit. A governance system with no review loop is worse than no system — it creates the illusion of control while the same leaks continue, now with better documentation. If you can't protect fifteen minutes on a Sunday, don't build the machine.

The point isn't stopping comps — it's understanding them

Comps and voids are not the enemy. A well-timed comp saves a guest relationship worth far more than a $12 appetizer. The problem was never the giving; it was the blindness — giving without knowing who, why, or what it was actually costing, and grouping it all into one number you couldn't act on.

Build the three tiers so nobody approves their own giveaways. Template the logs so every entry tells you something. Tag to the P&L so the money lands where it belongs. Set thresholds so investigations happen automatically instead of never. Then spend fifteen minutes a week actually reading what the system tells you.

Do that consistently, and your comp line stops being a mystery you accept and becomes one of the sharpest diagnostic tools you have.

Built for Restaurants Tailored management tools for restaurant workflows
Save Time Streamline reservations, orders, and staffing
Delight Customers Faster seating and smoother service experiences
Boost Revenue Maximize table utilization and repeat visits