Post
The number it owns
Guard hours still billable

Connects to
- Google Sheets
- QuickBooks
- Gmail
- Slack
- browser
- Notion (optional)
What it never does
- Report a post as covered when it only lacks evidence of a breach
- Pick a winner when four timekeeping sources disagree
- Promise to see a gap faster than your check-in export runs
In the box
/onboardThe interview where decisions are yours and facts are its job./coverage-checkAnswers the question most guard software answers wrongly: is this post covered, or do we merely have no evidence that it isn't?/hours-reconcileThe skill for when the sources disagree, and in this business four of them do, constantly./bill-windowUnbilled hours are not simply late./rate-applyWhat the rate card says against what was actually invoiced, run in both directions./credential-watchExpiries at 60, 30 and 7 days./incident-clockThe contract window on an incident report is short, it starts at the incident and not at the report, and it is the clause clients actually terminate over./post-marginMargin per post, not per client, because a profitable contract routinely hides a post that loses money on every hour it is covered./explainWhere a number came from, and what it did not check.
Routines
| Routine | When |
|---|---|
| Shift-start coverage check | At each shift start plus your grace minutes, every day |
| Unfilled gap escalation | Thirty minutes after the coverage check, every day |
| Coverage sweep | Every two hours through operating hours, at ten past |
| Daily hours close and unbilled ageing | Daily at 09:30 |
| Credential and qualification watch | Daily at 07:00, including weekends |
| Weekly billing reconciliation | Wednesdays at 10:00 |
| Monthly margin and rate-card audit | The 5th of each month at 08:00 |



