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 is approved: a supplier that is licensed or permitted to produce or sell food under federal or provincial law and is subject to inspection. Meat and poultry must come from federally or provincially licensed and inspected plants. Shellfish such as oysters, clams and mussels must come from approved harvest areas and licensed processors and must arrive with tags or labels that identify where and when they were harvested. Eggs must be graded. Food made in a private home cannot be served, however good it is, and wild game, wild mushrooms and foraged foods need special approval or must come through licensed channels.
Juniper buys from a short list of suppliers: a broadline food distributor, a meat purveyor, a seafood company in Victoria, a bakery, a dairy and two farms that sell produce to restaurants. Before a new supplier is added, Tomás confirms that they are licensed, 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. Juniper keeps shellfish tags for at least 90 days. 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: chilled potentially hazardous food should arrive at 4 °C or colder, checked with a probe between packages or in the product, and frozen food should arrive frozen solid, at −18 °C or colder. Hot food from a caterer or commissary should arrive at 60 °C 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 odours, slime, unusual colour, soft spots and mould. 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, best-before or use-by dates, shellfish tags, and the supplier's frozen-for-parasites 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 (BC limits).
COLD_MAX = 4.0 # degrees C for chilled food
FROZEN_MAX = -18.0 # degrees C for frozen food
delivery = [
# (item, kind, temp C, packaging ok, notes)
("chicken thighs, 10 kg", "chilled", 3.1, True, ""),
("halibut fillets (crudo)", "frozen", -21.0, True, "parasite freezing letter on file"),
("oysters, 100 count", "chilled", 5.8, True, "tag attached"),
("ground beef, 5 kg", "chilled", 2.4, False, "torn bag, leaking"),
("frozen fries, 4 cases", "frozen", -9.5, True, "fries stuck together in a block"),
]
for item, kind, temp, pack_ok, notes in delivery:
reasons = []
limit = COLD_MAX if kind == "chilled" else FROZEN_MAX
if temp > limit:
reasons.append(f"too warm ({temp} C, limit {limit} C)")
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, 10 kg accept halibut fillets (crudo) accept oysters, 100 count REJECT: too warm (5.8 C, limit 4.0 C) ground beef, 5 kg REJECT: damaged packaging frozen fries, 4 cases REJECT: too warm (-9.5 C, limit -18.0 C); signs of thawing and refreezing
Three items fail. The oysters are too warm for Juniper's 4 °C limit, so Aisha refuses them and calls the seafood company for a replacement delivery the same afternoon. 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 mould, 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, labelled 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.
BC does not set one storage limit for every prepared food; the operator's food safety plan sets the limits for its own products. Juniper's plan follows the common practice of using ready-to-eat potentially hazardous foods it prepares, such as soups, sauces, cooked grains and dressings made with dairy or eggs, within seven days, counting the day of preparation as day 1, and sooner where the recipe calls for it.
# Work out the use-by date for a prepared food (day of prep counts as day 1).
from datetime import date, timedelta
def use_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 = use_by(made)
status = "discard" if today > last else "use first" if today == last else "ok"
print(f"{name:<20} made {made} use by {last} -> {status}")chicken stock made 2026-03-09 use by 2026-03-15 -> use first buttermilk dressing made 2026-03-11 use by 2026-03-17 -> ok cooked farro made 2026-03-12 use 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 15 cm 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 4 °C.
- 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 10 °C and 21 °C, with no hot water heaters, dish machines or compressors in the room. Once opened, dry goods go into clean, tightly covered containers labelled with the product name 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, mould 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 (4 °C or colder chilled, frozen solid), 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 labelled 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
- Labelling 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.