Route
/reporting — ReportingPage.vue
Layout
Two-column: main content (left) + expiring agreements sidebar (right).Stats Row (5 metrics)
Verified, Pending Review, Needs Review, Overdue (>7 days), Verification Rate %.Verification Queue
Lists all deals withpending_review or needs_review status. Each card shows:
- Deal code + status badge
- Athlete name, brand, sport/position, deal type
- Issue list (missing comp type, missing end date, overdue)
- Total value + Verify/Resolve button
PATCH /deals/:id/verify, shows “Verifying…” loading state, triggers SaveToast on success, and refreshes both reporting and dashboard query caches.
Policy Checks
Two columns:- Critical issues — missing compensation type, missing end date, overdue >7 days (with counts)
- Passing checks — total value present, athlete linked, agreement type specified (with X/Y counts)
Audit Log
Chronological activity entries with:- Colored dots (green=created/verified, blue=certification, gold=alert, red=flagged)
- Action description, deal code, user name, timestamp
- Filterable by action type (All, Verified, Created, Flagged)