HSE-381 · Lesson 5 of 12 · 17 min
Receiving and storing food
▶ Video coming soon A video version of this lesson is on the way.
Food safety starts before anything is cooked. If chicken arrives warm, if oysters come without their tags or if a case of canned tomatoes has swollen tins, no amount of careful cooking later will fix the problem. And once good food is in the building, it has to be stored so that it stays cold, stays separate from things that could contaminate it, and gets used before it spoils. This lesson follows a delivery through the back door of Juniper Street and into its walk-ins and dry storage.
Approved sources
All food served in a restaurant must come from a source that complies with the law: a supplier that is permitted, licensed or registered to produce or sell food and is subject to inspection. Meat and poultry must come from USDA-inspected plants or plants inspected under an equivalent state program. Molluscan shellfish such as oysters, clams and mussels must come from sources listed by the Interstate Shellfish Sanitation Conference and must arrive with tags or labels that identify where and when they were harvested. Shell eggs must meet federal grading and temperature rules. Food prepared in a private home cannot be served, and wild game, wild mushrooms and foraged foods need special approval or must come through approved channels.
Juniper buys from a short list of suppliers: a broadline food distributor, a meat purveyor, a seafood company on the Georgia coast, a bakery, a dairy and two farms that sell produce to restaurants. Before a new supplier is added, Tomás confirms that they are permitted, asks how they keep food cold in transit, and checks that they will send recall notices. The farmers' market is a wonderful place to find ideas, but produce bought there for the restaurant comes through the same checks as anything else.
Shellfish tags deserve special attention. When oysters arrive, the tag stays with the container until the last oyster is used, and then it is written on with the date the container was emptied and filed in date order. The Food Code requires shellstock tags to be kept for 90 days from that date. If a guest gets sick from a raw oyster, the tag is how investigators trace the harvest area and stop other people from getting sick.
Receiving a delivery
Receiving is a job, not a chore that falls to whoever happens to be near the back door. At Juniper, Luis or Aisha receives every delivery when possible, and anyone else who signs for one has been trained on the receiving checklist. Deliveries are scheduled for mid-morning, between the breakfast prep and the lunch rush, so that there is time to check them properly and put them away at once.
- Temperatures: refrigerated TCS food should arrive at 41 °F or colder, checked with a probe between packages or in the product. The Food Code allows a few exceptions, such as milk and live molluscan shellfish received at up to 45 °F and then cooled to 41 °F within four hours, and shell eggs received in air at 45 °F or colder. Frozen food should arrive frozen solid, and hot food from a caterer or commissary at 135 °F or hotter.
- Signs of thawing and refreezing: large ice crystals inside the package, frozen liquid at the bottom of a box, or blocks of product stuck together mean the food warmed up somewhere along the way. Reject it.
- Packaging: torn, leaking, wet or stained boxes, broken seals, and cans that are swollen, leaking, rusty, deeply dented on a seam or missing a label are all rejected. Swollen cans can mean Clostridium botulinum growth.
- Condition of the food: off odors, slime, unusual color, soft spots and mold. Meat should be firm and smell fresh; fish should have bright, clear eyes and firm flesh and should smell of the sea, not of ammonia.
- Pests: droppings, gnawed packaging or live insects in a box mean the whole delivery is suspect and the supplier must be told.
- Labels, dates and documents: product names, allergen information on packaged foods, use-by dates, shellstock tags, and the supplier's parasite destruction records for fish to be served raw.
When something fails a check, the receiver rejects it politely but firmly while the driver is still there. The problem is written on the invoice, the driver signs or initials it, and the supplier is told so that a credit can be issued and a replacement sent. Food that has been accepted and signed for is the restaurant's problem.
The program below runs Tuesday's seafood and meat delivery through Juniper's receiving rules.
# Check an invented delivery against receiving rules (Food Code limits).
COLD_MAX = 41.0 # degrees F for refrigerated TCS food
SHELLFISH_MAX = 45.0 # live molluscan shellfish may arrive at 45 F
FROZEN_MAX = 0.0 # degrees F; frozen food should arrive frozen solid
delivery = [
# (item, kind, temp F, packaging ok, notes)
("chicken thighs, 22 lb", "chilled", 38.0, True, ""),
("halibut fillets (crudo)", "frozen", -6.0, True, "parasite destruction record received"),
("oysters, 100 count", "shellfish", 43.0, True, "tag attached"),
("ground beef, 10 lb", "chilled", 36.5, False, "torn bag, leaking"),
("frozen fries, 4 cases", "frozen", 15.0, True, "fries stuck together in a block"),
]
for item, kind, temp, pack_ok, notes in delivery:
reasons = []
limit = {"chilled": COLD_MAX, "shellfish": SHELLFISH_MAX, "frozen": FROZEN_MAX}[kind]
if temp > limit:
reasons.append(f"too warm ({temp} F, limit {limit} F)")
if not pack_ok:
reasons.append("damaged packaging")
if "block" in notes:
reasons.append("signs of thawing and refreezing")
verdict = "REJECT: " + "; ".join(reasons) if reasons else "accept"
print(f"{item:<26} {verdict}")chicken thighs, 22 lb accept halibut fillets (crudo) accept oysters, 100 count accept ground beef, 10 lb REJECT: damaged packaging frozen fries, 4 cases REJECT: too warm (15.0 F, limit 0.0 F); signs of thawing and refreezing
Two items fail. The oysters are within the 45 °F allowed for live shellfish, so they are accepted and go straight into the walk-in to cool to 41 °F. The ground beef is cold but leaking from a torn bag, and the fries have clearly thawed and refrozen. The chicken and the halibut are accepted and go straight into the walk-in and the freezer.
Produce, dairy and the bar
Produce is easy to overlook because it does not need cooking temperatures, but leafy greens, sprouts, cut fruit and herbs have caused many large outbreaks. Whole produce is checked for mold, slime, insects and soil caked on the leaves, and cut or bagged produce such as spring mix and pre-cut melon is treated as a cold-holding food: it must arrive cold and go straight into the walk-in. Bagged salads are checked for swollen bags and liquid in the bottom, both signs of spoilage. Sprouts are bought only from suppliers who test their seeds and water, and Juniper does not serve raw sprouts on dishes ordered by guests who mention a weakened immune system.
Dairy products, juices and cider must be pasteurized unless a specific exemption applies, and the receiver checks the label. Milk crates and egg cases are checked for broken containers and leaks. At the bar, Nadia receives bottled and canned drinks, garnishes and bagged ice. Purchased ice is food: it must come from an approved maker, arrive frozen in sealed bags, and be stored off the floor. The bar's own ice machine is cleaned on a schedule and its scoop is kept in a holder outside the ice, never left lying in the bin.
Some deliveries arrive while the kitchen is closed, such as bread left at the back door before dawn. Juniper's bakery delivers into a locked bread box, and anything left outside in the open is inspected before use and rejected if the packaging is damaged or birds or rodents could have reached it.
Putting food away
Accepted food goes into storage in a set order: frozen food first, then chilled food, then dry goods. Nothing perishable is left on the loading floor or in the hallway while the receiver chats with the driver or finishes the paperwork. Cardboard boxes are broken down outside the kitchen where possible, because cardboard can carry dirt and insect eggs and soaks up spills, and food is moved into clean, labeled food-grade containers.
First in, first out
Stock rotation means using older stock before newer stock. The simplest system is first in, first out (FIFO): new deliveries go behind or below the older product, so the older product gets used first. Juniper uses a slightly better version, first expired, first out, which pays attention to the use-by date rather than just the delivery date. Every container in the walk-in has a label with the product name, the date it was received or prepared, the initials of the person who made it, and the date by which it must be used.
The Food Code requires date marking for ready-to-eat TCS food prepared in the restaurant and held cold for more than 24 hours, such as soups, sauces, cooked grains and dressings. The food must be used, sold or thrown out within seven days at 41 °F or colder, counting the day of preparation as day 1. When food is frozen, the clock stops while it is frozen and starts again when it is thawed.
# Work out the discard date for a date-marked food (day of prep counts as day 1).
from datetime import date, timedelta
def discard_by(prepared, days=7):
return prepared + timedelta(days=days - 1)
items = [
("chicken stock", date(2026, 3, 9)),
("buttermilk dressing", date(2026, 3, 11)),
("cooked farro", date(2026, 3, 12)),
]
today = date(2026, 3, 15)
for name, made in items:
last = discard_by(made)
status = "discard" if today > last else "use first" if today == last else "ok"
print(f"{name:<20} made {made} discard by {last} -> {status}")chicken stock made 2026-03-09 discard by 2026-03-15 -> use first buttermilk dressing made 2026-03-11 discard by 2026-03-17 -> ok cooked farro made 2026-03-12 discard by 2026-03-18 -> ok
The stock made on March 9 reaches its last day on March 15 and must be used during service that day or thrown out at close. The other two have time left. In practice, Juniper's labels show the last day directly, so nobody has to count on their fingers during a rush.
Where food goes in the walk-in
In a cooler, raw foods are stored below ready-to-eat foods, and raw animal foods are arranged from top to bottom by the temperature to which they will be cooked. Food that is never cooked again goes at the top. Below that come foods that will be cooked to lower temperatures, and poultry, which needs the highest cooking temperature, goes at the bottom. If anything drips, it can only drip onto something that will be cooked to a higher temperature, which will kill whatever was in the drip.
- Keep food at least 6 inches off the floor on shelves or dollies, so the floor can be cleaned and splashes from mopping cannot reach it.
- Cover or wrap food once it is cold. Food that is still cooling is left loosely covered or uncovered on the top shelf, protected from drips, until it reaches 41 °F.
- Store food in food-grade containers with lids, never in garbage bags or containers that held chemicals.
- Keep raw meat, poultry and fish in pans or trays deep enough to catch any juices.
- Do not store food under exposed sewer lines, leaking pipes or condensate drips.
Dry storage
Dry storage holds flour, sugar, rice, pasta, canned goods, oils, spices and paper goods. It should be cool, dry, well lit and well ventilated, ideally between about 50 °F and 70 °F, with no water heaters, dish machines or compressors in the room. Once opened, dry goods go into clean, tightly covered containers labeled with the common name of the product, as the Food Code requires for food not easily recognized, and for flours and grains the date opened. Scoops are kept in a separate clean container, not buried in the flour, and nothing is stored on the floor.
Chemicals are never stored in dry storage with food. At Juniper they live in the dish pit on their own rack, below and away from any food, clean dishes or packaging. Personal belongings, such as staff bags, coats and phones, go in the staff lockers, not on the dry storage shelves.
For supervisors: the weekly walk-in check
- Pull everything past its use-by date, and look for containers with no label at all; those go too.
- Check that raw food is still below ready-to-eat food. Shelving order slips quickly when the walk-in is full after a big delivery.
- Probe a few foods, not just the air, especially near the door and on the top shelf.
- Look at the gaskets, the floor under the shelves and the fan cover for damage, mold or ice buildup, and write work orders for anything that needs repair.
Summary and key terms
- All food must come from approved sources; shellfish tags are kept for 90 days, and home-made food cannot be served.
- Deliveries are checked for temperature (41 °F or colder, with a few exceptions such as live shellfish at 45 °F), packaging, condition, pests, labels and dates, and failed items are rejected on the spot.
- Frozen food is put away first, then chilled food, then dry goods; nothing perishable waits on the floor.
- Stock is rotated first in, first out (or first expired, first out), and prepared foods are labeled with a use-by date.
- In the cooler, ready-to-eat food goes at the top and raw animal foods below, ordered by cooking temperature with poultry on the bottom.
- Approved source
- A supplier that is licensed or permitted to produce or sell food and is subject to inspection.
- Shellfish tag
- The label that comes with oysters, clams and mussels showing where and when they were harvested; kept for 90 days.
- FIFO
- First in, first out: using older stock before newer stock.
- Date marking
- Labeling prepared foods with the date by which they must be used or discarded.
- Thaw and refreeze signs
- Large ice crystals, frozen liquid in the package or product frozen in a block, showing that food warmed up during transport.
Common mistakes
MistakeThe driver is in a hurry, so we can sign now and check the order later.
InsteadCheck temperatures and condition before signing; once the invoice is signed, rejected food is hard to return.
MistakeIt is fine to keep the oysters' tag only until the oysters are gone.
InsteadShellfish tags are kept for 90 days after the container is emptied, so illnesses can be traced.
MistakeRaw chicken can go on any shelf as long as it is covered.
InsteadRaw poultry goes on the bottom shelf, below everything else, because a cover can leak and drips spread pathogens.
Practice problems
Work each problem on paper first, then reveal the answer to check.
A case of frozen shrimp has a layer of frozen liquid at the bottom and the shrimp are fused together. What do you do?
Show answer
Reject it; those are signs that it thawed and refroze during transport.
A soup was made on Monday the 2nd. Under a seven-day rule counting the day of preparation as day 1, what is its last day?
Show answer
Sunday the 8th.
Put these in order from top to bottom shelf: ground beef, salad, raw chicken, whole salmon.
Show answer
Salad, whole salmon, ground beef, raw chicken.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.