Skip to main content

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:

ScreenPurpose
Expiry trackerBatches grouped by urgency — expired, expiring soon
Expiry analyticsA summary view of expiry risk
Batch detailDrill into a single batch's records and status
Expiry alert settingsEmail 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.

  1. Open Batch detail (or Recall Cases → New Recall Case) and select the item and batch.
  2. Enter a reason and severity, then save as Draft — the batch shows as Under review.
  3. Activate the case. The batch becomes Recalled and is blocked from delivery notes, sale invoices, and POS.
  4. Review the affected outbound transactions and update the notification status for each customer.
  5. Export the list to Excel for outbound customer communication.
  6. 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.

Next step