Skip to main content
Shelf life determines when serial- or batch-tracked stock expires and whether it can be used afterward. The expiration date belongs to the physical , so shelf life applies only to and items. Three values control shelf life: an item-level policy, a tracked entity’s expiration date, and a company-wide rule for expired stock. For example, receiving a batch under a 120-day policy sets its expiration date 120 days later. After that date, Alforse blocks issue to a job unless an authorized user overrides the block.

How a date gets set: the three modes

An item’s shelf-life policy has one mode. NotManaged is the default — no expiry is tracked, and choosing it removes any existing policy. The other three modes each decide how the expiration date is computed:

When the clock starts

For Fixed Duration, the start event depends on how the item is sourced:
  • Made items start at a job operation finishing (or starting) — optionally gated to a specific trigger process (say, Pasteurise or Packaging), with Before or After timing. Sub-assemblies stamp their own batches from their own operations.
  • Bought items start from the receipt’s posting date, not “today”, plus the configured days.
Calculated items take the minimum expiration date across the tracked components they consume, so a build can never outlive its shortest-dated ingredient. Whether that minimum spans every dated input or only inputs that themselves carry a shelf-life policy is the company’s calculated input scope: AllInputs (the default) or ManagedInputsOnly.

Policy fields

The policy lives on the item’s pick method:

What happens to expired stock

A company-wide expired-entity policy governs every material issue and stock transfer: Picking is -aware: available tracked entities are offered earliest-expiry-first, so the oldest stock leaves first by default. A near-expiry warning highlights batches approaching their date in the tracked-entity lists; set its lead time (in days) in company settings. Leaving it blank turns the warning badges off.

Company settings

Set company-wide in Settings → Inventory:

Where you set it