Expiration alerts
Expiration alerts answer a simple question: what's about to go bad? They surface the products with batches expiring inside a window you control, so the kitchen can use them up before they hit the waste bin.
How they work
The dashboard's Expiration alerts card lists every batch of every product that's:
- Has an expiration date set (recorded at receiving time).
- Expires within the alert window (default 7 days; configurable in Dashboard Settings).
- Still has stock on hand (per FIFO accounting).
Each row shows the product, the batch's expiration date, the quantity on hand from that batch, and how many days until expiration.
Setting expiration dates
Expiration dates are set per receipt line item, not per product. When you receive a delivery:
- For each line item that has an expiration date, tap the date field and enter it.
- Leave it blank for shelf-stable items where expiration doesn't matter.
A single product can have multiple active batches, each with its own expiration date — that's how FIFO accounting captures real-world spoilage timing.
See receive a delivery manually for the field details.
FIFO and what counts as "on hand"
Rinvy walks batches oldest first when accounting for consumption. If you have 2 lb of chicken from a Monday delivery and 4 lb from a Wednesday delivery, prep that uses 3 lb takes 2 lb from Monday's batch and 1 lb from Wednesday's. The remaining Wednesday batch is what the expiration alert tracks.
The "quantity on hand" shown on the alert is whatever FIFO has left in that specific batch, not the product's total stock.
Configuring the alert window
Go to Dashboard settings.
Find Expiration alert days and set how many days out you want to be warned (default
7).- Save.
A wider window (14 days) gives more lead time but more clutter on the dashboard. A tighter window (3 days) is urgent-only.
What's excluded
- Status-tracked products (OK/Low/Out) don't get expiration alerts. Their inventory model is too coarse for batch tracking.
- Recipe-output products and non-inventoried products don't get receipt-based expiration dates by definition.
Common mistakes
Skipping the date at receiving
No date entered means no alert. For dairy, produce, and proteins, take the extra 5 seconds at receiving — it pays off in fewer surprise spoilage events.
Setting expiration to the print date on the package
Many packages have a print date that's not the expiration date. Use the actual best-by, sell-by, or use-by date stamped on the product.
Widening the window because nothing shows up
If nothing is in the window, the system is working correctly — you don't have anything close to expiration. Don't widen the window to fill the card; that just creates noise.