← All help topics

πŸ«€ System health

A nightly check of the core invariants β€” stock conservation, no negative balances, one group per property, and mis-mapped turnovers.

The System health page (under Settings, admin-only) runs an automatic nightly check of the rules the whole system depends on, and shows the result with a green OK or a red FAIL for each one. If anything fails, a banner also appears on the Dashboard so you notice it without opening this page.

What it checks

  • Linen conservation β€” for every linen item and every bucket (On Shelf / In Vault / At Laundries / Coming back), the per-group tabs must add up to the Total. A mismatch means stock is attributed to a group that no longer exists, or a per-group split has drifted.
  • Perishables conservation β€” the same, for consumables stock.
  • No negative stock β€” no item’s tenant-total balance in any bucket is below zero (a single group may sit negative and is clamped for display; the aggregate never should).
  • No impossible per-group negatives β€” flags any item whose *per-group* slice in a bucket is below zero. These are physically impossible (a group can’t hold minus-N pieces) and are hidden on the pages because the display clamps them to zero, so the total can look fine while a slice sits negative. Surfaced here so it can be cleared with the superuser Reconcile tools (which raise the slice to zero while keeping the tenant total unchanged). A warning, not a hard failure.
  • One group per property β€” no apartment is in two property groups at once.
  • No mis-mapped turnovers β€” when the booking system is reachable, no single listing resolves to two different apartments (the tell-tale of a bad merge). This one is *skipped*, not failed, when the PMS is unreachable.
  • Backup & replication freshness β€” surfaces a silent off-site-backup failure, a missed daily backup email, or (on an active cluster node) a stale replication push.

Running it on demand

Click Run check now to run it immediately instead of waiting for the nightly run β€” useful right after a data fix. The page also shows a short history of recent runs. It is read-only: it only inspects your data, it never changes stock. On a passive cluster replica the button is unavailable (the standby is read-only) β€” run the check on the active node.

Note When a check fails and you have set up email alerts (Settings β†’ Email), the report is also emailed to your team β€” so a problem is noticed even if nobody opens the app. A known, accepted opening-stock artifact (a negative In-Vault that a superuser can reconcile to zero on the Linen Vault) will keep the β€œNo negative stock” check red until it is cleared.

Open System health