FIFO and expiry tracking for restaurants: use the oldest stock first and know your real food cost

Oct 23, 2026 · 5 min read

Every kitchen has a crate of paneer, a tub of batter or a box of cream that was bought before the latest delivery and is quietly getting close to its date. Most stock sheets only say how much you have. They do not say which lot it is, what it cost or when it expires — and that is where waste and wrong food costs come from.

What FIFO means in a kitchen

First in, first out (FIFO) means the stock that arrived first is used first. On the shelf it is the old rule of putting new deliveries at the back. In your software it means every order uses the oldest batch before the newer one — and when two batches arrived the same day, the one that expires earlier goes first.

Every delivery is a batch

To use stock in order, the system has to know the order. So each purchase line becomes a batch with its received date, its cost and its expiry date. Opening stock you already had is carried in as an opening batch, so you can start without a full recount.

  • ✓Received date — decides which batch is used first
  • ✓Cost — what you actually paid for that lot
  • ✓Expiry date — when it must be used or written off

Food cost that matches what you paid

Prices move. If tomatoes were cheap last week and dear today, a “last price” food cost is wrong for whatever you are still using from last week’s lot. With FIFO, each dish is costed from the batches it actually used, so plate cost, food cost % and stock value agree with your purchase bills.

Alerts before stock expires

Expiry dates are only useful if someone sees them in time. Set a low-stock level for each ingredient and let the system list what is running low, what expires soon and what has already expired. Expired stock should never vanish automatically: someone checks it, writes it off, and it is recorded as wastage so the loss is visible.

Prep items have expiry dates too

Batter, gravy, dough and sauces are made in batches and have a short shelf life of their own. Treat them as prep items with their own recipe: making a batch uses the raw ingredients first-in, first-out and creates a prep batch with its own expiry, which the dishes then use.

How BistroBot does it

BistroBot inventory (Gourmet and Pro) moves stock the moment an order is placed, oldest batch first, and puts it back if the order is cancelled or voided. Expiry and low-stock alerts appear in the inventory alerts page and on Live Floor. Recipes are your exact formulas — an AI suggestion is shown beside yours and never overwrites it — and supplier bills, payments, ageing, purchase returns and debit notes sit alongside your stock. Already record purchases in your existing billing or ERP software? Export them to Excel or CSV and import the file.

Every new restaurant gets every Pro feature free for 3 months, inventory included.

Try BistroBot free for 3 months

Every Pro feature, free — no card required.

Get 3 months free →

← All articles