Dashboard

Use the Posnic Notification Centre

The bell combines a temporary realtime activity feed with low-stock status and optional browser push. It helps staff notice changes, but its badge and entries are not an audit log or task list.

Menu path
Dashboard header -> notification bell
Verified from
Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence

frontend/layouts/header.html single notification centre, low-stock section and push button, frontend/static/script/js/core/PosnicPro.js realtime EventSource, bellFeed storage, badge, routing and push opt-in, api/src/realtime/low-stock-push.js threshold, throttle, recipient and payload rules, api/src/realtime/push.js per-user device subscriptions, VAPID identity and stale-subscription cleanup, demo.posnic.io notification control observed on 2026-09-08

Notification centreThe bell collects shop activity and offers browser or desktop device notification permission.

Open and Read the Bell

  1. Select the bell in the top-right header. The badge is one combined attention count, not two separate counters.
  2. Read the Activity area first. Each row names a broad type of change, its relative time and, when grouped, a multiplication count.
  3. Select an activity row to close the dropdown and open its related Posnic page.
  4. Review the Low Stock section separately and select View All when stock action is required.
  5. Use the destination list or report to verify the actual record. The bell never replaces transaction history or an audit report.
  6. Close the panel after review. Opening it has already marked the current badge items as seen on this device.

What Activity Can Appear

The realtime signal carries only an entity name. Posnic deliberately reports a broad event such as Sales activity; it does not invent a customer, amount, item or employee detail that the signal did not contain.

Bell labelOpensRequired read access
Sales activitySalesSales
Inventory updatedItemsItems
Receiving activityPurchases/receivingsPurchase
Customer records changedCustomersCustomer
Supplier records changedSuppliersSupplier
Categories changedCategoriesCategory
Expense recordedCash Book/expensesExpenses
Register activityRegistersSales
Staff clock activityUsersUser
Table / KOT activityKOT historySales

How the Activity Feed Behaves

  • The browser receives other-till change signals through an EventSource connection. It reconnects automatically after an interruption.
  • Only recognized entity types for which the signed-in user has the required read permission are recorded.
  • Consecutive changes of the same type within 60 seconds are combined into one row with a count such as x3.
  • A new grouped row increases the unseen badge by one; additional changes merged into that row do not each add another unseen count.
  • The feed keeps at most 20 rows, newest first, and stores them only in the current page's memory.
  • Reloading, signing out, closing the app or opening another device does not provide a durable history of these rows.
  • Nothing yet means this page session has no permitted activity rows. It does not prove that no work occurred.

Understand the Badge and Seen State

The badge combines unseen activity rows with the number of low-stock items above a locally remembered low-stock watermark. Opening the dropdown clears the activity unseen count and moves the low-stock watermark to the current count.

  • The badge is capped visually at 99+.
  • Opening the bell marks items seen even when the operator does not select a row or View All.
  • The low-stock list remains visible after the badge clears; seen does not mean restocked or resolved.
  • When stock improves below the remembered watermark, Posnic lowers the watermark so a later increase can light the badge again.
  • The low-stock seen watermark is local to that browser or desktop profile, so another till can show a different badge.
  • A zero badge is an attention state, not evidence that every notification-related task is complete.

Enable Browser Notifications on a Trusted Device

  1. Open Posnic in a supported secure web browser and select the notification bell.
  2. Select Enable notifications on this device. The control is hidden when Notification, Service Worker or Push Manager support is unavailable.
  3. Approve the browser permission prompt only on a trusted business device.
  4. Wait for Posnic to retrieve the shop's public push key and register this browser subscription for the signed-in user.
  5. Confirm the Posnic success message. Reopen the bell; the button should now read Send test notification.
  6. Select Send test notification and confirm the operating-system alert appears.
  7. Repeat the opt-in separately for every browser profile or device that should receive alerts.

Know What Device Push Sends Today

The wired automatic push producer is low stock. It sends a count and a destination link, not item names, quantities, customer data or transaction values.

RuleCurrent behaviorOperational consequence
TriggerA stock-moving change asks the server to consider low stock.Push is best effort and never blocks the sale or stock operation.
ThrottleAt most one low-stock check per shop process every six hours unless explicitly forced by tests.An immediate second stock change may not create another push.
ThresholdThe widest configured notification range across the shop's branches is used.The push count is shop-wide and can differ from one branch's Low Stock page.
Included itemsAvailable quantity at or below the threshold; instant items are excluded.The notification is based on stored quantity, not supplier lead time or sales velocity.
When sentOnly when the low-stock count grows beyond the previously stored count.A flat count stays quiet; restocking down re-arms a later increase.
RecipientsSubscribed users who currently have Items read access.Removing Items read access prevents later automatic low-stock delivery.
Delivery lifetimeWeb Push is sent with a one-hour TTL.An offline device may miss an old alert after that delivery window.
Desktop appThe push button is hidden where no service worker registration exists; the source notes Electron does not register it.Use the in-app bell and Low Stock page in the desktop till rather than expecting OS push.

Permission and Privacy Boundaries

  • Activity rows are filtered using the signed-in user's current module read permissions before they enter the feed.
  • The Low Stock View All action is itself gated by Item read, write or delete access in the header markup.
  • Automatic low-stock push recipients must hold Item read access, even if an older device subscription still exists.
  • One user can subscribe several devices. Each browser endpoint is stored separately for that user.
  • A browser endpoint that answers 404 or 410 during delivery is removed as stale.
  • Do not enable device push on a public or personally shared computer. Browser notifications can appear outside the open Posnic tab.

Notification Centre Versus Source Records

NeedUseWhy
Notice another till changed somethingNotification activity feedFast, broad, temporary signal.
Identify who changed a record and exactly what changedRelevant history or audit logThe realtime entity signal contains no actor or field detail.
Work every low-stock itemInventory -> Low Stock / View AllThe badge can be cleared without stock being resolved.
Prove a sale, return or paymentSales History and the related reportA bell row is not financial evidence.
Check register accountabilityRegister details and Daily CloseRegister activity only indicates that some register change occurred.
Confirm a test push pathSend test notificationThis tests subscription and delivery, not automatic low-stock trigger timing.

Troubleshoot Alerts

SymptomLikely reasonNext step
Bell says Nothing yetNo permitted realtime events reached this page session, or the page was reloaded.Use the related module/report; do not wait on the bell.
Expected activity type never appearsThe user lacks its mapped read permission, the entity is unsupported, or EventSource is disconnected.Verify permissions and network, then inspect the source module directly.
Several changes show as one rowSame-entity events within one minute are intentionally grouped.Open the destination list to inspect individual records.
Badge reset but low stock remainsOpening the panel marks the current count seen; it does not resolve stock.Select View All and complete the inventory workflow.
Enable button is absentThe browser lacks required APIs/service worker registration, or this is the desktop Electron app.Use a supported secure browser for push; the in-app bell remains available.
Permission prompt no longer opensBrowser notification permission was previously denied or blocked.Change the Posnic site's notification permission in browser settings, then reopen the bell.
Test notification failsSubscription, network, server push dependency or OS delivery failed.Check site permission and OS focus settings, reopen the page, then subscribe/test again.
Automatic low-stock alert did not arrive immediatelyThe six-hour server throttle, unchanged count, one-hour delivery TTL or recipient permission can suppress it.Use the Low Stock page as the authoritative work list and test push separately.
Push count differs from this branchAutomatic push uses the widest configured threshold across branches.Review each branch threshold and reconcile on the Low Stock page.
Alert is visible on a shared PCPush was enabled for that browser profile.Remove the site's notification permission and subscription access, then sign out.