Track Expiry, Batches, and Recalls
Tracking expiry
For products with track expiry turned on, enter a manufacture or expiry date on the GRN when you receive them. Picking rules then decide which batch ships first:
- FEFO picks the batch closest to expiry first.
- FIFO picks the oldest receipt first.
Use these screens to stay on top of it:
| Screen | Purpose |
|---|---|
| Expiry tracker | Batches grouped by urgency — expired, expiring soon |
| Expiry analytics | A summary view of expiry risk |
| Batch detail | Drill into a single batch's records and status |
| Expiry alert settings | Email and dashboard rules, test email, run a check now |
Alerts are deduplicated per batch and per urgency tier, so you won't get the same warning repeatedly for the same batch. Use Test email on the alert settings screen to confirm delivery is working.
Batch recalls
When a lot needs to be pulled — a supplier alert, a failed QC check, a contamination concern — use a recall case rather than a one-off report.
- Open Batch detail (or Recall Cases → New Recall Case) and select the item and batch.
- Enter a reason and severity, then save as Draft — the batch shows as Under review.
- Activate the case. The batch becomes Recalled and is blocked from delivery notes, sale invoices, and POS.
- Review the affected outbound transactions and update the notification status for each customer.
- Export the list to Excel for outbound customer communication.
- Resolve the case once it's complete, clearing the recall status from batches that are physically confirmed clear so they can ship again.
:::info Recalls can also target serial numbers A recall case can block specific serial numbers the same way it blocks a batch — useful for serialized items rather than batch-tracked ones. :::
Write-offs and returns to vendor still work on recalled stock. This workflow doesn't file anything with a regulator on its own — use your traceability exports for that.