Shelf life and expiry
Shelf life is how long a product stays what you said it was. Two dates express it, and they do not mean the same thing.
Best before is about quality. After it, the product may be flatter, darker or less fragrant, and it is still legal to sell in most places. It suits shelf-stable goods: sauces, preserves, dry mixes, most cosmetics.
Use by is about safety. After it, the product should not be eaten, and selling it is generally an offense. It belongs on perishable, chilled foods.
Getting the two the wrong way round is a compliance problem, not a labeling preference.
How a batch gets its date
Section titled “How a batch gets its date”A finished batch is only as durable as the shortest-lived thing in it, or as the process allows, whichever is sooner. Three inputs decide:
- The ingredients. A mash made from a fruit with four months left cannot produce a sauce with twelve, unless the process changes what the fruit is.
- The process. Fermentation, pasteurization, acidification and water activity all move the date, usually outward.
- The packaging. An unopened jar and an opened one are different products with different dates.
In practice the shortest ingredient sets a ceiling, your process sets the real figure, and validation is what lets you claim it.
What it changes upstream
Section titled “What it changes upstream”Shelf life is not only a label question. It decides how far ahead you can buy: ordering three months of an ingredient with two months left is money spent on waste. It decides how you draw stock, because oldest-first is the only order that makes sense when things expire. And it decides what an audit finds, because expired stock on a shelf is a finding whatever your paperwork says.
In BatchDash
Section titled “In BatchDash”Ingredients carry expiry on the lot, so the stock you hold knows its own dates. Drawing for a run takes the oldest first unless you name a specific lot. Expired stock is disposed of as a loss rather than quietly vanishing, so the ledger keeps saying what happened.
A batch’s own dates are written on the run and printed on its labels from the label data it carries. What must appear beside them is covered in what goes on a label.