Lots and expiry dates, only where they matter

Turn them on per product. A tin of paint does not need a lot number; a pallet of yoghurt does, and the difference should not cost you two extra columns everywhere.

Lot numbers and expiry dates, only where they earn their place

Each product carries two switches: lot required and expiry required. Stock of a product with those switches on cannot be registered without the data, which is what makes the field trustworthy later. Products without them stay simple.

An expiry date is only useful if it reaches the person doing the picking. The dashboard counts what expires within thirty days and the stock list filters to exactly those lines, each with its lot and its location — so the weekly question, what has to go out and where is it, takes one click rather than a sort and a walk.

The dashboard counts what expires within the next thirty days, and the stock list has an “expiring soon” filter, so the question “what do I need to move this week?” has an answer that takes one click rather than a sort and a squint.

Buy it once. Use it for as long as it is useful.

The price rises every five licences sold and never comes back down. Whatever you pay today is what this copy cost, for good.