Skip to content

FIFO vs FEFO: how to rotate stock in a grocery store and stop expiry losses

First in, first out or first expired, first out? When the two differ, which items need FEFO, how to do it on the shelf, and how to track expiry dates.

By Bimal Khatri4 min read

A hand moving older yogurt cups to the front of a shop fridge, with newer ones behind.

Every grocery throws something away: the yogurt behind the newer yogurt, the bread nobody reached for, the biscuits that turned up in a stock count three months past their date. Much of that loss comes from the order goods leave the shelf. Two rules decide that order: FIFO (first in, first out) and FEFO (first expired, first out).

FIFO: first in, first out

FIFO means the stock that arrived first is sold first. When a new carton comes in, it goes behind the old one, so the old one sells first.

For goods that don't expire, or expire years away (salt, soap, utensils, stationery), FIFO is all you need. It keeps the shelf fresh-looking and stops old packaging fading at the back.

FEFO: first expired, first out

FEFO means the stock that expires first is sold first, whenever it arrived.

Usually that's the same as FIFO: older deliveries expire sooner. But not always. A distributor may send you older stock on Thursday than the stock you got on Monday:

DeliveryArrivedQuantityExpires
AMonday24 yogurtsthe 20th
BThursday24 yogurtsthe 18th

FIFO says sell Monday's first. FEFO says sell Thursday's first, because it expires two days sooner. Following FIFO, Thursday's yogurts wait behind Monday's, and any still unsold on the 18th are lost while you're still selling the batch that lasts until the 20th.

FEFO is the rule for anything with a short or important date.

FIFO vs FEFO at a glance

FIFOFEFO
Sells firstThe oldest deliveryThe earliest expiry date
Best forGoods without an expiry date, or with a long oneFood, drinks, medicines, anything perishable
What you need to knowWhen each delivery arrivedEach delivery's expiry date
Risk if used wronglyOut-of-date stock when deliveries arrive out of orderLittle; it's the stricter rule

Which items need FEFO?

  • Milk, yogurt, paneer and other dairy
  • Bread, buns and cakes
  • Eggs and meat
  • Snacks, biscuits and chocolates
  • Soft drinks and juices
  • Baby food and formula
  • Medicines and anything with a "use by" date

How to do FEFO on the shelf

  1. Check dates at delivery. Before you sign, look at the dates. If a supplier regularly sends short-dated stock, agree a minimum shelf life for what you'll accept.
  2. Load from the back. New stock goes behind, earlier dates come forward. If the new delivery expires sooner, it goes in front. Expect some customers to reach to the back for a later date: keep the gap between front and back dates small.
  3. Mark the date where you can see it. A marker or sticker on the shelf edge with the earliest date saves turning every packet.
  4. Check fresh items daily and packaged goods weekly. Five minutes with the dairy fridge each morning is enough, and less if an app keeps the dates: BSMM lists what's expiring soon.
  5. Act a few days before the date, not on it: move the item forward, bundle it, or mark it down while customers will still buy it.
  6. Ask the supplier about returns. Some distributors take back or swap near-expiry stock, especially if you buy regularly.

FEFO in warehouses and pharmacies

FEFO isn't only a shop rule. Food warehouses and medicine distributors work to it as standard, because a pallet that expires in the warehouse is a total loss, and selling expired medicine can harm someone. Pharmacies apply it shelf by shelf. A small grocery can borrow the same habit: check dates when goods come in, and let the earliest date decide what goes out first.

FIFO in accounting is something else

If you've seen "FIFO method" in an accounting book, that's a costing method, not a shelf rule. It assumes the oldest stock was sold first when working out the cost of goods sold, which matters when purchase prices change. It has nothing to do with which packet the customer actually picked up. Many billing apps value stock at average cost instead, which smooths out price changes. See how to calculate your shop's real profit.

Tracking expiry dates in an app

On paper, FEFO means remembering which delivery expires when. An app can remember for you. In BSMM, the free stock and billing app for shops:

  • Record the expiry date with each delivery when you enter it with Stock in, so two deliveries of the same yogurt keep their own dates.
  • See what's expiring soon on the home screen and in a list of expiring stock, before the date arrives.
  • Take expired items out of stock with Adjust stock and the reason "Expired", so the loss shows in your records instead of disappearing.

Dead stock and expiry often go together; how to spot and clear dead stock covers the slow sellers that end up past their date, and a regular stock take finds the ones hiding at the back.

Questions shopkeepers ask

Is FEFO better than FIFO? For perishable goods, yes: it's the rule that actually stops expiry losses. For goods without a date, FIFO is simpler and just as good.

Is it illegal to sell expired food? Food rules vary by country and by the kind of date ("use by" and "best before" are treated differently in many places). As a shop, the safe practice is simple: don't sell goods past their date, and check your local food authority's rules.

What's the difference between FIFO, LIFO and FEFO? FIFO sells the oldest delivery first, LIFO the newest first, and FEFO the earliest expiry first. LIFO is mostly an accounting idea; on a shop shelf it's how food goes off.

More guides

Keep reading