Compliance Reminders
PMFriend's NotificationScanner runs daily at 21:00 UTC (07:00 AEST,
08:00 AEDT). It scans every compliance task in the agency and creates
notifications for:
| Trigger | Notification kind | Severity |
|---|---|---|
| Compliance due within 14 days | COMPLIANCE_DUE | NORMAL |
| Compliance already overdue | COMPLIANCE_OVERDUE | URGENT |
| Contractor insurance expiring within 30 days | CONTRACTOR_INSURANCE_EXPIRING | NORMAL |
Notifications land in the sidebar Notifications feed with an unread badge on the nav. Clicking one deep-links to the relevant property / contractor / task.
Deduplication
The scanner is idempotent. Re-running produces no new notifications for the same (kind, entityId, date-bucket) — we don't spam the feed on every scheduler tick. The daily scan is the only source of time-driven notifications; everything else is event-driven (Hibernate post-insert / post-update listeners).
Tuning the window
The 14-day-ahead and 30-day-insurance windows are currently hardcoded in
NotificationScanner. Making them agency-configurable is on the roadmap.
What if I want a reminder 48 hours before?
Two options, neither user-facing yet:
- Add a finer-grained kind —
COMPLIANCE_DUE_SOONat 48h andCOMPLIANCE_DUEat 14d. Requires scanner edit + frontend chip update. - Hook the daily scanner and filter client-side — stream every
COMPLIANCE_DUEnotification through a local filter. Easier but non-portable across team members.
If this matters to your agency, email hello@pmfriend.com with the specific windows and we'll wire it into the next scanner release.