Cutting food waste in a small café, starting with a waste log

Every café throws food away. The croissants that didn't sell, the oat milk that turned, the sandwich remade because it went out wrong, the avocados that were fine on Friday and brown on Monday. On any single day it looks small. Over a month it's a line on your food cost nobody can explain.
You can't cut what you don't measure. This guide starts with the measuring: a waste log your team will actually fill in, and a weekly look at what it tells you. Then it covers the fixes that usually follow, from rotation and date marking to pars, bake-off plans and portions.
This is general information, not legal advice. The food-safety rules below come from the FDA Food Code; your inspector and your local rules have the final word. Updated September 24, 2026: the EPA and FDA pages cited below were re-checked.
How much food gets wasted
The Environmental Protection Agency's most recent detailed estimate is for 2019. It found 66.2 million tons of wasted food in the food retail, food service and residential sectors, with 40% from households, 40% from food service providers and 20% from food retail, and 59.8% of it landfilled. Restaurants, full and limited service together, accounted for about 18.3 million tons, or 27.7% of the total (EPA: 2019 Wasted Food Report, published April 2023; EPA: food material-specific data).
EPA also ranks what to do with food that might go to waste. On its Wasted Food Scale, "Preventing food from going to waste in the first place is the most environmentally beneficial option," followed by donation (EPA: Wasted Food Scale). For a café, prevention is also the option that saves money.
Where café waste comes from
Cause | What it looks like | The usual first fix |
|---|---|---|
Overproduction | Pastries left at close; a batch of cold brew poured out | Bake and batch to a plan by daypart |
Spoilage | Milk, cream and produce past their best | Lower pars, first in, first out |
Expired | Date-marked food past its discard day | Smaller batches, labels checked daily |
Prep errors and remakes | The wrong milk, a dropped drink, a sandwich built wrong | Recipe cards and training |
Damage | Crushed cases, a dropped gallon | Receiving and storage habits |
Portioning | Heavy-handed scoops and pours | Measured portions on the recipe card |
Slow sellers | An item nobody orders, and its ingredients | The menu, not the kitchen |
The log tells you which of these matter most in your café.
Start a waste log this week
A waste log is a list of everything thrown away, with the reason. Keep it simple enough to fill in at 6 pm with a tray of pastries in one hand:
- When: the date and time
- What: the item, and how much in the unit you count it in (6 croissants, 1 carton)
- Why: a reason from a short, fixed list
- Who logged it
Use the same five or six reasons every time, so the entries add up: Overproduction, Spoilage, Expired, Prep error, Dropped or damaged, Other (write why).
Three rules make it work:
- Log everything, including remakes and the half-carton at close. Small things are the pattern.
- Make it part of closing, not a separate job. The closing checklist gets a "waste log done" line.
- No blame. If people get in trouble for what they log, they stop logging it, and the waste goes on in the dumpster instead of on paper.
Read it every week
Once a week, add it up. With made-up numbers, the same week as the image at the top of this post, from our test account:
Item | Quantity | Cost each | Cost | Reason |
|---|---|---|---|---|
Croissants | 15 | $1.15 | $17.25 | Overproduction |
Blueberry muffins | 7 | $1.05 | $7.35 | Overproduction, Expired |
Oat milk | 1 carton | $3.40 | $3.40 | Spoilage |
Avocados | 3 | $1.25 | $3.75 | Spoilage |
Whole milk | 1 half gallon | $2.10 | $2.10 | Dropped |
Baby spinach | 0.5 lb | $3.80 a lb | $1.90 | Spoilage |
Total | $35.75 |
Three questions for the week:
- What's the biggest line? Here, croissants are almost half of it. That's a baking decision, not a staff problem.
- Which day? If most of the croissants were left on the same two afternoons, bake less for those days.
- Which reason? Overproduction and spoilage point to planning. Prep errors and drops point to training and setup.
Keep the weekly totals side by side. $35.75 a week is $1,859 over 52 weeks, and one fix to the bake-off can move most of it.
Rotate stock and date-mark everything
Spoilage and expired food mostly come from the back of the shelf. Two habits prevent most of it:
- First in, first out: new deliveries go behind the old stock, every time, and the oldest item is the one you open next.
- Date marking: under the Food Code, ready-to-eat, time/temperature control for safety (TCS) food that you prepare and hold for more than 24 hours must be marked with the day it must be used or discarded, and can be held at 41°F or below for 7 days at most, with the day of preparation counted as day 1. A commercially packaged item starts its clock the day you open it, and your date can't go past a manufacturer's use-by date set for safety (2017 FDA Food Code, §3-501.17(A) and (B)). Food past that date, or in an unmarked container, must be thrown out (§3-501.18). Florida enforces the 2017 edition (Rule 61C-1.001, F.A.C.).
A waste log full of Expired usually means batches are too big for how fast you use them. Make half the batch twice as often.
Set pars from what you actually use
A par that's too high is a waste plan. Our guide to par levels, counts and ordering has the formula. For waste, two adjustments matter:
- Items with a short life get a smaller buffer. Running out of spinach once a month may cost less than throwing out a bag every week.
- Change the par when the log changes. If an item shows up in the log three weeks running, lower its par or its order, and watch the next three weeks.
Bake and prep to a plan
For bakery items and batches, the fix is usually a written plan by daypart, instead of one big bake at 6 am:
- Use your sales by hour from the POS for each weekday, not a guess.
- Bake in two rounds on slow days: a morning bake, and a smaller one late morning if the first sells through.
- Decide when "sold out" is fine. Selling out of muffins at 2 pm is often cheaper than throwing out a tray at 6 pm.
- Write batch sizes on the prep list, so the opener doesn't make "the usual."
Portions and recipe cards
Remakes and heavy portions don't show up in the dumpster, but they show up in your costs. A recipe card with exact quantities, a photo and the build order is the cheapest fix there is. Our guide to plate costing and menu pricing shows how to cost each item, which also tells you what every thrown-out item really cost.
Donate what you can
Some of what's left at close may be good food. Ask a local food bank or food rescue group what they accept, how they pick up, and how they want it packed and labeled. Food-safety rules still apply to anything you donate, so keep it cold or hot until it's collected, and never donate food past its discard date.
Where Mays fits
- The Waste Log (Inventory → Waste, the image at the top of this post) lists every entry for a location and date range: when, the item, the quantity in its count unit, the cost, the reason, a note and who logged it, with the total wasted at the top. Managers and admins add entries with Log waste, choosing Spoiled, Expired, Damaged, Prepared too much or Other. Each entry is priced from your vendor prices and takes the item out of stock.
- Logging from the phone at close. An admin builds a custom form from the Waste log preset under Tasks → Types: rows of an item from the location's inventory, a quantity and a reason (Spoilage, Overproduction, Prep error, Dropped, Expired, which you can edit). Add it to the closing checklist as a Custom form task. Every row a team member submits lands in the Waste Log with their name. That's how the entries at the top of this post were logged.
- Pars and orders: set a par for each item on Stock on hand, filter to Below par only, and use Order to par to draft each vendor's order.
- Prep sheets (Inventory → Prep): a named list per location of items or recipes with a target quantity. Today shows how much to make: the target minus what's on hand for items, and the target for recipes. Print it for the opener.
- Counts on the web, and on the phone for managers and admins.
- Recipes and costing: each recipe's Cost, Cost % and Margin from your vendor prices.
Two things to know: Mays doesn't track expiry dates or lots, so date labels stay on the product. And waste is logged by inventory item, not by recipe, so a café that bakes in-house logs the ingredients or keeps its pastries as an item. Inventory is part of the Pro plan.
Your waste-log checklist
- A waste log with a fixed list of reasons, filled in at every close
- Everything logged, including remakes, and nobody blamed for logging
- A weekly total by item, day and reason
- First in, first out, and date marks on everything you prepare or open
- Pars lowered for items that keep showing up in the log
- A bake-off and prep plan by daypart, with batch sizes written down
- Recipe cards with exact portions
- A local food bank or food rescue group for what's still good
Start your waste log in Mays
Put the waste log on your closing checklist, and see what you threw away, and what it cost, every week.
Start your free trial: 30 days, every module, no card needed. New to inventory? Start with par levels, counts and ordering.