Low-stock and expiring-stock warnings can now be delivered as in-app messages to chosen employees, with per-item and per-batch control over how far ahead an expiry warning fires.
Two things go wrong quietly in a stockroom: something runs out, and something sits past its date. PHP Point Of Sale can warn you about both. Historically those warnings went out by email, which is easy to miss; they can now be delivered as in-app messages that show up on the bell icon at the top of the screen while people are working.
This article covers both alert types, where each one is configured, and what triggers it.
Where the alerts arrive
In-app alerts land in the Messages module. The bell icon in the top bar carries an unread count, and All Messages opens the full list. They are ordinary internal messages, so they stay there until read and can be reviewed later — see email, SMS and notifications for the rest of the messaging system.
Two store-wide settings, both under Store Config → Application Settings, decide whether in-app alerts happen at all:
- Alert in in-app messages for urgent notifications — the master switch. Off by default.
- Employees to alert for urgent notifications — who receives them. Pick the people who can actually act on a stock problem; leaving it empty means nobody gets an in-app alert.
Low-stock alerts
A low-stock alert fires at the moment a sale takes an item to or below its reorder level. An item with no reorder level set can still alert when a sale takes it to zero — unless the location has Alert only for items with re-order level turned on, which restricts alerts to items that actually have one. There is no nightly sweep of the catalog: the alert is a consequence of selling, which is exactly when the news is useful.
The reorder level is set per item, per location; see stock levels, adjustments and damaged items and creating items.
Delivery is decided per location, under Locations → edit a location:
- Receive stock alerts — whether this location raises stock alerts at all.
- Stock Alert Email — the address emailed alerts go to.
- Alert only for items with re-order level — restrict alerts to items that have a reorder level, instead of also alerting on anything that reaches zero.
- Use in-app notifications for stock alerts — deliver this location's stock alerts as in-app messages to the employees chosen above, instead of relying on the email.
A warehouse that nobody watches by email and a shop floor whose manager is signed in all day can therefore be set up differently.
Each low-stock episode alerts once. Selling the same item down again after it has been restocked raises a fresh alert; continuing to sell an item that is already flagged does not spam the same warning over and over. Items with variations and item kits alert the same way plain items do.
Expiration alerts
Expiration alerts warn you before dated stock goes out of date. They are raised on a schedule rather than by a sale, and they are delivered in-app only — they deliberately do not generate a stream of emails.
Set how far ahead to warn
Three levels, from general to specific — the most specific one that is set wins:
- Store Config → Application Settings → Default days to notify before an item expires — the store-wide default. Ships as 5 days.
- The item → Inventory tab → Days to notify before expire — an override for that item. Milk needs a shorter warning than tinned goods.
- The receiving batch → Days to notify before expire — an override for one delivery, editable on the receiving line and on the item's Expiring Batches list.
The expiry date itself still comes from where it always has: Days to expiration on the item, or an explicit expire date on the receiving batch. See receiving stock.
Expiring Batches on the item
Open an item and go to the Expiring Batches tab. It lists every receiving batch of that item with:
- the receiving it came from (the RECV number links straight to that receiving),
- the Receiving Date,
- the Quantity (for employees with permission to see item quantities),
- the Expire date, editable in place,
- Days to notify before expire, editable in place.
This is the fastest way to see what is about to turn, and to fix a wrong date on the batch that has it.
Subtract what has already sold
Store Config → Application Settings → Subtract sold items from quantity expiring changes what the figure means. With it on, the quantity reported as expiring — on the dashboard, in the report and in the alert — is reduced as items sell, and the remaining stock is attributed to the latest-expiring batches first. In other words, you are told what is genuinely still sitting there rather than what you originally received. Off by default.
It works correctly for items with variations, so each variation's remaining quantity is counted on its own rather than being mixed together with its siblings.
The Expiring Items Report
Reports → Expiring Items Report is the batch-by-batch view of the same data: quantities approaching their expiration date for Today, This Week, This Month or a custom range. Each row links back to the receiving it came from, batches that never actually received anything are left out, and — with Subtract sold items from quantity expiring on — the quantities are reduced by what has already sold. See inventory and purchasing reports.
A working setup
For a store that sells fresh goods:
- Turn on Alert in in-app messages for urgent notifications and list the store manager and the stockroom lead under Employees to alert for urgent notifications.
- Set Default days to notify before an item expires to whatever your normal shelf-life buffer is.
- On short-life items, set Days to notify before expire on the item itself.
- Turn on Use in-app notifications for stock alerts for the locations whose staff are signed in during the day, and keep Stock Alert Email for the ones that are not.
- Turn on Subtract sold items from quantity expiring so the numbers reflect what is really left.
Common questions
I turned on in-app alerts but nothing arrives. Check Employees to alert for urgent notifications actually lists someone. With no recipients, nothing is delivered — and nothing is marked as sent either, so the alert still fires once you add people.
Do I get an email as well as an in-app message? Low-stock alerts can do both: the location's Stock Alert Email governs the email, Use in-app notifications for stock alerts governs the message. Expiration alerts are in-app only.
Why did I only get one alert for an item I kept selling? Alerts are de-duplicated per episode, so an item does not raise the same warning on every sale. It alerts again after the stock has been brought back above the reorder level and falls below it once more.
Nothing appears under Expiring Batches. That item has no receiving batches with expiry information yet. Expiry data comes from receivings — an item that was never received, or received without an expire date, has nothing to list.
Comments
0 comments
Please sign in to leave a comment.