Batch-first, not an afterthought
Every line on a bill is tied to a batch, an expiry and a quantity on hand. The counter puts the first-expiry batch on the bill automatically (FEFO) and shows you the alternative batches; stock, expiry alerts, near-expiry reports and valuation all read the same ledger, so the number at the counter is the number in the report.











