Food that needs temperature control has to be held hot at 135°F or above or cold at 41°F or below, except while it's being prepared, cooked or cooled, or when a kitchen uses time instead under written procedures. Between the two is where bacteria grow fastest. Roasts cooked to the Food Code's roast schedule can be held a little lower, at 130°F, and shell eggs that haven't been treated are stored at an air temperature of 45°F or less. The way to know is to check: a calibrated probe thermometer in the thickest part, on a schedule, written down. In the example below, a Texas barbecue caterer checks its holding at an event.
The short version
- Hot holding: 135°F or above.
- Cold holding: 41°F or below.
- Certain roasts can be held at 130°F.
- Untreated shell eggs: stored at an air temperature of 45°F or less.
- Check with a calibrated probe thermometer on a schedule, and write it down.
- Your state's version of the Food Code applies.
- TaroStack keeps each batch with its lot and dates, and what was thrown out. More below.
The temperatures
| Food | Hold at |
|---|---|
| Hot TCS food: brisket, beans, mac and cheese | 135°F or above |
| Roasts cooked to the roast schedule | 130°F or above |
| Cold TCS food: potato salad, coleslaw, cut melon | 41°F or below |
| Untreated shell eggs | Stored at an air temperature of 45°F or less |
| During cooking, cooling or under time control | The rules for those steps |
Using time instead of temperature is in time as a public health control, and a log in temperature log template.
The rules
| Rule | Where |
|---|---|
| Hot and cold | TCS food held at 135°F or above, or 41°F or below, except during preparation, cooking, cooling, or time as a public health control (Food Code 2026, 3-501.16(A)) |
| Roasts | Roasts cooked and held as the roast provisions allow may be held at 130°F or above (3-501.16(A)(1)) |
| Eggs | Untreated shell eggs stored at an ambient air temperature of 45°F or less (3-501.16(B)) |
| Adoption | Applies as your state or locality has adopted it (FDA, Food Code adoption) |
This is general information, not legal advice.
An example: an event's holding checks
Post Oak Smoke Catering, the made-up barbecue caterer in Waco, Texas, I use in these examples, served a wedding of 200 and checked its holding every hour:
| Item | Held | 6 p.m. | 7 p.m. | 8 p.m. |
|---|---|---|---|---|
| Sliced brisket | Hot, in chafers | 152°F | 146°F | 138°F |
| Pinto beans | Hot, in chafers | 161°F | 155°F | 149°F |
| Mac and cheese | Hot, in chafers | 149°F | 139°F | 131°F, pulled and replaced from the warmer |
| Potato salad | Cold, on ice | 38°F | 40°F | 43°F, replaced from the cooler |
| Coleslaw | Cold, on ice | 37°F | 39°F | 40°F |
The mac and cheese fell to 131°F and the potato salad rose to 43°F at the 8 p.m. check; both were dealt with as the caterer's procedure says and written down. Checking every hour is what caught them before an hour more. The caterer's year is in bbq catering business plan.
Get the checker
Download the holding temperature log. One sheet: each item, whether it's held hot or cold, and the temperature at each check; whether each reading is in range fills in. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
The log catches a chafer running cool. What was cooked for the event, what came back, and what was thrown out is what tells the caterer how much to cook next time.
How TaroStack does it
TaroStack keeps each catering batch with its lot and dates, so what was made when, and what was thrown out, is on record.
Batches with dates. Each batch of catering is a lot with its production date and its use-by date.
An alert before a date. An alert comes before a lot's date runs out, so it's used or marked down instead of found too late.
Waste with a reason. What's thrown out is recorded with its reason, expired or spoiled, by item, so the side that keeps going to waste shows up.
| The job | Notebook | In TaroStack |
|---|---|---|
| What was made when | Tape on the container | Lots with dates |
| Food nearing its date | Found on the shelf | An alert before the date |
| What went to waste | Not counted | Waste by reason |
Lots, dates, alerts and waste by reason are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
