For anything that expires, a count is not enough — you need to know which lot, bought when, and how long it has left.
A chemist, a food shop and a paint dealer all have the same problem: two units of the same item are not interchangeable if one expires next month. Stock kept as a single number cannot answer which one to sell, and the answer shows up as write-offs.
Tracking by batch keeps the lot with its expiry date, so the stock on hand is a list rather than a figure, and the one that should go out first is visible at the counter instead of at the back of the shelf.
Batch tracking is a property of the items that need it.
The lot and its expiry date, as the purchase is entered.
The sale takes from the lot you choose.
Batch reports show what is near expiry while it can still be sold.
What you sell and how much of it you have. Stock moves as you bill and purchase rather than waiting for someone to update a register, and the items themselves carry the detail a bill needs: rate, tax slab, unit, and a code to scan.
Set the items up once and the rest of the app leans on them — the counter, the invoice, the order and every stock report read from the same list.
The other way of identifying individual stock, and the counts behind both.
Batch summary · Batch transaction · Stock summary · Item low stock
Every feature, by plan →No — it is set per item, so only what genuinely expires has to be tracked that way.
Yes, through the batch reports, which show the lots you hold and the dates they carry.
A batch is a lot of identical units bought together; a serial number identifies one single piece.
Stock with dates on it needs to be a list, not a number.