Skip to content

Perishable Inventory Management, With a Workbook

Perishable inventory management: the sellable window, the most stock worth holding, lots with a last day to ship, what to do with short-dated stock.

By Koa Sterling. Product specialist at TaroStack and small business owner. Yes, I am a real human, and I actually sit in front of a computer and write these articles. Reviewed October 16, 2026 · 7 min read

Perishable inventory management is holding only as much as you can sell before it's too old to sell. For a maker selling to stores, too old comes before the use-by date: a grocer wants most of the shelf life left when a case arrives, so the days you have to sell are the shelf life less what the buyer needs left and the days in transit. Most worth holding = sold a day × (shelf life − days the buyer needs left − days in transit). Then every lot gets a last day to ship, and stock goes out oldest first. In the example below, a tofu maker's 35-day block has a 13-day window, so 455 blocks is the most worth holding, and two lots that passed their last day to ship go to the farmers market instead of the bin. Below is each step, the lots, and a free workbook.

The short version

  • Find each product's sellable window: shelf life − days the buyer needs left − days in transit.
  • Hold no more than the window's worth of sales; more will pass its last day to ship.
  • Give every lot a use-by date and a last day to ship to buyers.
  • Ship oldest first, by date, not by which pallet is in front.
  • Make smaller runs more often when the window is short.
  • Have a plan for stock past its last day to ship: markets, restaurants that accept shorter dates, staff, donation.
  • TaroStack gives each lot its dates, ships the oldest first, and warns before lots expire. More below.

The sellable window

Skunk River Tofu Co., a made-up tofu maker in Ames, Iowa, I use in these examples, sells to co-ops, grocers and restaurants:

Product Shelf life Buyer needs left Days in transit Sellable window Sold a day Most worth holding
Firm tofu, 16 oz 35 days 21 days 1 13 days 35 455
Smoked tofu, 8 oz 45 days 25 days 1 19 days 8 152
Soy milk, half gallon 14 days 7 days 1 6 days 10 60

The co-ops want 21 days left on a 35-day block, so a block made today has 13 days to leave the building. Soy milk has six days. That's why the firm tofu is made in two runs a week of about 120 blocks, not one run of 245: a weekly run would put seven days of blocks in the cooler every Monday, more than half the window gone before the last ones ship. How much stock to keep in general is in how much inventory to keep on hand.

Lots and the last day to ship

On Friday, October 16, the cooler holds:

Product Lot Made Use by Last day to ship On hand Days left to ship
Firm tofu, 16 oz T-1001 Oct 1 Nov 5 Oct 14 14 −2
Firm tofu, 16 oz T-1012 Oct 12 Nov 16 Oct 25 60 9
Firm tofu, 16 oz T-1015 Oct 15 Nov 19 Oct 28 120 12
Smoked tofu, 8 oz S-0924 Sep 24 Nov 8 Oct 13 6 −3
Smoked tofu, 8 oz S-1008 Oct 8 Nov 22 Oct 27 70 11
Soy milk, half gallon M-1012 Oct 12 Oct 26 Oct 18 12 2
Soy milk, half gallon M-1015 Oct 15 Oct 29 Oct 21 40 5

Last day to ship = use by − days the buyer needs left − days in transit. Lot T-1001 was a run made for a co-op order that was cut in half, and its last 14 blocks missed their ship date on Wednesday; S-0924's six smoked blocks missed theirs on Tuesday. Both are still good food, with three weeks to their use-by dates, but no grocer will take them. The soy milk lot M-1012 has two days and ships first. What's still shippable covers 5.1 days of firm tofu, 8.8 of smoked and 5.2 of soy milk, each inside its window. How first-expired-first-out works is in FEFO vs FIFO, and a spreadsheet formula for days left in Excel formula to track expiration dates.

Stock past its last day to ship

Stock that can't go to a grocer can often still be sold or given away before its use-by date: at the Saturday farmers market, to a restaurant customer that agrees to shorter dates, to staff, or to a food bank. Skunk River's 14 blocks and six smoked blocks go to Saturday's market. What doesn't sell by its use-by date is a loss, recorded as expired, and what counts as expired stock is in what is expired stock.

Cold and short

Perishable stock also has to stay cold. The cooler's temperature is read and written down twice a day, and a door left open shortens everything inside; a log is in temperature log template. The tofu maker's whole plan, from the beans to the prices, is in tofu business plan.

Get the workbook

Download the perishable inventory workbook. Two sheets: products, where you type each one's shelf life, the days buyers need left, the days in transit and what sells a day, and the sellable window, the most worth holding, what's on hand and still shippable, and its days of cover fill in, red when the cover runs past the window; and lots, one line for each with the day it was made and how many are on hand, where the use-by date, the last day to ship and the days left fill in from today's date, red when past and amber within three days. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.

Where this stops working

Three products and seven lots fit on a sheet. Two runs a week, three products, dozens of orders, each picking from whichever lot is oldest, and the sheet's on-hand count is wrong by the first afternoon unless every pick is typed in. And a sheet can't stop someone shipping the newer lot because it was in front.

How TaroStack does it

TaroStack gives each lot its dates, ships the oldest first, and warns before lots expire.

Every run a lot, with its dates. A run of firm tofu takes its soybeans and coagulant off stock and gets a lot of its own with its production and best-before dates, so every block on the shelf has a date on the record.

Oldest first. First-expired-first-out picks the lot with the nearest date for each order, so T-1012 ships before T-1015 without anyone checking the labels.

Warnings before the date. An alert comes as lots near their dates, so short-dated stock is seen while there's still time to sell it. Each order records the lots each customer got, and every loss carries its reason, expired, damaged or sample.

The job Workbook In TaroStack
Dates on every lot Typed in Recorded with each run
Which lot to ship Check the labels Oldest first, chosen for you
A lot about to expire Found on the sheet An alert before the date
Who got which lot Search the invoices Recorded as each order ships

Lots, expiry dates, first-expired-first-out and alerts are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.

Questions people also ask

What is perishable inventory?

Stock that loses its value within days or weeks: fresh food, dairy, flowers, anything with a short use-by date. Its value runs out before it can sell, if too much is held.

How do you manage perishable inventory?

Hold no more than you can sell in the sellable window, give every lot a last day to ship, ship oldest first, and make smaller runs more often.

How much shelf life do grocers want left?

It varies by buyer and product. In the example, the co-ops want 21 days left on a 35-day block of tofu, and 7 on soy milk that keeps 14 days.

What do you do with food past its ship date?

If it's before its use-by date, sell it at a market, to customers who accept shorter dates, to staff, or donate it. In the example, 20 blocks go to the Saturday market.

We use AI to help with the research for these articles. Every one is read, checked against its sources and edited by Koa before it's published. Spot a mistake? Tell us and we'll fix it and say so. How we write these.

Let’s get your stack in order.

Get TaroStack

Sign up now for your free 30 day trial. No credit card required.