FIFO in Food Service: Meaning and How to Restock

FIFO in Food Service: Meaning and How to Restock

FIFO (First In, First Out) is a stock rotation method used in food service: the food that arrived first gets used first. In a restaurant, that means labeling every item with the date it was received or prepped, putting new deliveries behind older stock, and always pulling from the front, so nothing is held past its use-by date.

The concept is simple. The problem is that most kitchens don't actually follow it consistently, because following it requires a system that every staff member respects on every shift. Without that system, new product gets grabbed because it's in the front of the shelf, old product gets buried, and spoilage quietly eats into your margins. Here's how to build a FIFO system that actually holds.

FIFO also determines which purchase lots your inventory value gets calculated from — see Restaurant Inventory Valuation: The Complete Guide for how it fits with weighted-average pricing and count reconciliation.

TL;DR

  • FIFO means oldest inventory is used first — every time, by everyone, without exception.
  • The FDA Food Code requires date marking for ready-to-eat, temperature-controlled food. FIFO keeps that food moving before its date runs out, and it directly reduces spoilage and food cost.
  • Implementation requires four steps: date labeling, proper storage organization, staff training, and regular audits.
  • The walk-in cooler is where FIFO breaks most often — set it up right and it becomes automatic.

Why FIFO Is Non-Negotiable

FIFO matters for two independent reasons, and either one alone is enough to justify building a real system around it.

Food safety. The FDA Food Code, which most state and local health departments adopt, requires ready-to-eat, time/temperature control for safety (TCS) food held longer than 24 hours to be date marked, then used or discarded within 7 days at 41°F or below. The code doesn't name FIFO as the method, but oldest-first rotation is how most kitchens stay inside those dates. Missing date marks and food held past its discard date are among the more serious findings in a health inspection, not minor notes. An unlabeled container or a batch of protein buried behind new product that no one is tracking is both a food safety risk and a liability.

Food cost. When older product gets buried by newer deliveries and never rotates to the front, it eventually spoils and gets thrown away. That spoilage goes straight to your food cost — and to your trash. Most operators who track waste find that improper rotation is one of the top three contributors to food cost variance. A well-implemented FIFO system is one of the lowest-cost interventions available for reducing waste. See How to Reduce Food Waste in Your Restaurant for the broader waste reduction picture.

Step-by-Step FIFO Implementation

Step 1: Label everything with the date received. Every item that enters your storage — produce cases, protein, dairy, dry goods, prepped containers — gets a label with the date it arrived or was prepped. Use a label gun, tape and a marker, or food-safe stickers. The format doesn't matter; consistency does. Every item, every time, no exceptions.

For prepped items: the label should show the prep date and the use-by date. For ready-to-eat, temperature-controlled food, the FDA Food Code allows up to 7 days at 41°F or below, counting the prep day as day 1. Many items and some local codes call for less.

Step 2: Organize storage so the oldest product is always in front or on top. This is where most FIFO systems fail in practice. Labeling without reorganizing is useless if staff always grab whatever is easiest to reach.

  • Walk-in cooler: New deliveries go to the back or the right. Older product moves to the front or the left. Product should be arranged so that what you reach for first is always the oldest.
  • Dry storage: New stock goes behind existing stock on shelves. Never put new product in front of old.
  • Reach-in coolers: Same principle — front and top positions are for oldest product.

Step 3: Train every staff member, not just kitchen leads. FIFO breaks when a prep cook pulling product for lunch service grabs whatever is on top without checking dates. Training needs to cover:

  • What the date labels mean and how to read them
  • Where to find product (always front/top = oldest)
  • What to do if they find product without a label (label it immediately, flag it to a lead)
  • What to do if they find product past its use-by date (pull it immediately, do not use it, log it)

This isn't a one-time training — it should be part of onboarding for every new hire and reinforced in pre-shift.

Step 4: Verify during every inventory count. Inventory counts aren't just about knowing how much you have — they're an opportunity to audit your FIFO compliance. During every count, check that product in each location is properly labeled and organized by date. If you find unlabeled containers or product from three weeks ago behind fresh deliveries, that's a system failure that needs to be addressed at the source.

Which Products Need FIFO Most Urgently

Not all products carry the same risk. Prioritize your FIFO system on these categories:

CategoryWhy It MattersTypical Shelf Life
Proteins (raw)Food safety risk is highest; spoilage is expensive1–3 days (fresh), 3–5 days (cooked)
DairyShort shelf life; often used in high volume3–7 days after opening
Fresh produceHigh variability; some items go fast2–7 days depending on item
Prepped itemsInvisible expiration if not labeled3–7 days (varies by item)
Sauces and stocksOften made in bulk; date gets forgotten3–5 days refrigerated
Dry goodsLower urgency; but still track bulk-opened itemsWeeks to months

Common FIFO Failures (And How to Catch Them)

Wrong date on labels. A container labeled with the wrong date is worse than no label — it creates false confidence. Train staff to write dates clearly and to double-check before labeling, especially on high-volume prep days.

Containers not rotated after delivery. A delivery comes in, new product gets stacked in front of whatever was already there, and the old product gets buried. The fix is a non-negotiable rule: any new delivery that goes into existing storage requires moving the existing product forward first.

Staff skipping steps under pressure. During a busy prep shift, FIFO habits are the first thing to slip. The solution is making the system faster to follow correctly than to skip. That means storage is set up so that grabbing the right product (oldest) requires no extra thought — it's simply what's in front.

No one checking during counts. If inventory counts only focus on quantities and skip date checks, FIFO compliance becomes invisible. Build date verification into your count sheets.

How to Set Up a Walk-In Cooler for FIFO

A well-organized walk-in makes FIFO automatic rather than effortful:

  1. Assign zones by category (proteins on one wall, dairy on another, produce on shelves)
  2. Within each zone, designate a clear direction: "new goes to the right, pull from the left"
  3. Post a simple sign at eye level in each zone: "FIFO — pull from left / oldest first"
  4. During every delivery, the person putting product away is responsible for rotating existing stock forward before placing new product behind it
  5. Weekly walk-in audits: check every zone for unlabeled product, out-of-order dates, and anything approaching use-by date that needs to be featured or moved

FIFO and Inventory Value: Why "Current Cost" Is Usually a Blend, Not a Single Number

Most operators think about FIFO in terms of food safety and spoilage prevention — and those reasons alone justify enforcing it. But FIFO has a third consequence that's rarely discussed: it directly affects how the value of what's sitting on your shelf gets calculated.

Here's the mental model most people default to: you purchase the same ingredient at different prices over time — say $10/unit in one delivery, then $20/unit, then $30/unit — and assume that at any given moment, everything on the shelf is priced at whichever single delivery you're "currently" working through, switching cleanly to the next price only once that batch is fully gone.

That's not usually how it plays out. Walk through it with real numbers:

LotArrivedQuantityPrice
A1/150$10
B1/1540$20
C1/2030$30

A count on 1/25 shows 60 units on hand. Under FIFO, the units that were used got pulled from the oldest lot first: all 50 units of Lot A are gone, plus 10 units from Lot B. That leaves 30 units remaining in Lot B and all 30 units of Lot C untouched — 60 units total, but split across two different prices at once.

The value of what's on the shelf isn't "$20, because that's the batch we're in." It's a blend of both remaining lots:

(30 × $20 + 30 × $30) ÷ 60 = $25

That's higher than Lot B's price alone and lower than Lot C's — because the shelf genuinely holds a mix of both. The "switch cleanly from one price to the next" model only holds in the special case where consumption happens to line up exactly with lot boundaries, which is rarely how real usage falls. Any time FIFO draws partway into a lot while a newer lot is already sitting behind it, you have two (or more) prices coexisting, and the accurate cost basis is a weighted average across whatever remains — not whichever single delivery you'd guess is "current."

Most restaurants don't track this at all. They set one price and leave it until someone updates it — which may be months after the actual purchase price changed, and even then, a single manually-set number can't capture a shelf that's genuinely holding stock from two or three deliveries at once.

How Dinezy handles this. Dinezy's inventory counting follows FIFO principles for consumption order — when a count comes in short, the oldest lots get drawn down first, consistent with proper rotation. The value of what remains is then calculated as the weighted average across whatever lots are still on hand, the same way the worked example above works out — not a single price that jumps at each full depletion. Recipe costing draws on that same weighted-average cost: because recipe costs are built from your purchase records, a delivery recorded at a new price enters the blend right away and every recipe using that ingredient recalculates automatically, moving toward the new price as the older lots are used up, so a price change doesn't sit stale for months. See restaurant-food-cost-percentage for how this weighted-average inventory value feeds into your COGS calculation.

This matters most for price-volatile ingredients: proteins, fresh produce, dairy. For boba shops, it applies to milk, toppings, and fresh fruit. For bakeries, it applies to butter, eggs, and flour. Prices on these items move seasonally, and any time you're carrying overlapping deliveries at different prices, the accurate shelf value is a blend, not a single number.

A recent example of how fast this matters: U.S. egg prices rose 150% year-over-year in early 2023 and hit new highs again in 2025, driven by avian flu outbreaks, according to the U.S. Bureau of Labor Statistics. See Restaurant Food Inflation for the full price history and a framework for deciding how to respond to a spike like it. The FIFO-specific takeaway is narrower: the cost driving your recipe should reflect the lots actually on your shelf, a blend of the deliveries still in stock, not the price of a single delivery and not a number nobody's updated in months.

That's what FIFO discipline combined with delivery records kept current gives you: when a cost event happens, you can run the numbers and make an active decision instead of absorbing the outcome after the fact.

Frequently Asked Questions

What does FIFO mean in a restaurant? FIFO stands for First In, First Out — a stock rotation method where whichever inventory arrived earliest gets used or sold first. In food service, this means older deliveries move to the front of the shelf and get pulled before newer ones, so nothing sits unused past its safe use-by date. It applies to proteins, dairy, produce, prepped items, and dry goods alike, and it's how most kitchens meet the FDA Food Code's date-marking rules for ready-to-eat, temperature-controlled food.

How do you use FIFO to restock food? When a new delivery comes in, place it behind or underneath the existing stock — never in front, where staff will reach for it first. In a walk-in cooler, new product goes to the back or right side while older product stays at the front or left, ready to be pulled first; the same rule applies to dry storage and reach-in coolers. Label each item with its arrival date so the rotation order is visible at a glance, not something staff have to guess. See the step-by-step section above for the full process.

Is FIFO required by law? The legal requirement is date marking, and FIFO is the usual way to meet it. The FDA Food Code, a model code that most state and local health departments adopt, requires ready-to-eat, time/temperature control for safety (TCS) food held more than 24 hours to be marked with the day it must be used or discarded, up to 7 days at 41°F (5°C) or below. Food past that date must be thrown out. The code doesn't prescribe FIFO by name, but rotating oldest-first is how most kitchens make sure marked food gets used in time. Requirements vary by jurisdiction, so confirm the details with your local health department.

What if a staff member finds product without a date label? The standard protocol: assume it's old, label it with today's date and a question mark, flag it to a supervisor, and pull it from service until it can be evaluated. Never use unlabeled product without verification.

How do I handle FIFO for products I receive pre-packaged with manufacturer dates? For sealed, packaged items (bottled sauces, packaged proteins, etc.), use the manufacturer's use-by or best-by date for rotation order. Newest use-by date goes to the back; nearest use-by date comes to the front.

What is the difference between FIFO and FEFO? FEFO stands for First Expired, First Out: the item with the nearest use-by date gets used first, whenever it arrived. For most fresh deliveries the two give the same order, because the oldest delivery also expires first. They differ when a newer delivery carries an earlier date than stock already on the shelf, such as a case of dairy with a shorter code date. In that case, rotate by the use-by date. Most kitchens run FIFO as the default and use FEFO for pre-packaged items with manufacturer dates.

Does FIFO affect how I calculate inventory value and recipe costs? Yes — and this connection is underappreciated, and it's usually more of a blend than people expect. If you're holding stock from two overlapping deliveries at different prices — say 30 units left from a $20/unit order and 30 units from a $30/unit order — the value of what's on the shelf isn't either price alone, it's the weighted average of both: (30 × $20 + 30 × $30) ÷ 60 = $25. It only simplifies to a single "current" price in the special case where one delivery is fully used up before the next one is touched. In practice, this means recording every delivery at the price you actually paid, not catching up on costs once a quarter. A delivery that isn't recorded at its real price produces recipe costs that understate or overstate your actual margin.

Key Takeaways

  • FIFO is how most kitchens meet the FDA Food Code's date-marking rules, and a direct driver of food cost — not just a best practice
  • Implementation requires four steps: labeling, organized storage, staff training, and audit during inventory counts
  • The walk-in cooler is where FIFO most often fails; set it up structurally so the right behavior is the easy behavior
  • Common failure modes are mislabeled dates, rotations skipped during busy prep, and no one checking compliance during counts
  • FIFO practice and inventory value are directly linked — when overlapping deliveries sit on the shelf at different prices, the accurate value is a weighted average across whatever remains, not a single price that jumps when one lot runs out

Dinezy's inventory counting follows FIFO for consumption order, and values what's left as the weighted average across whatever lots remain — so a shelf holding two overlapping deliveries at different prices gets valued as the blend it actually is. Because recipe costs are built from the same purchase records, a delivery recorded at a new price automatically recalculates every recipe that uses that ingredient. Try Dinezy free at dinezytech.com.

Ready to take control of your food costs?

Dinezy helps independent restaurants track inventory, manage recipes, and catch profit leaks — all in one place.

Try Dinezy Free →