Stock by batch, not just by name
Every purchase adds a batch with its expiry, MRP and rate. Billing takes the batch that expires first, so old stock leaves the shelf first.
- Batch, expiry, MRP and rate per batch
- First-expiry-first-out at billing
- Value at cost and at MRP
