Skip to main content

Reports overview

Reports give you a real-time picture of your team's training status - who has completed, who is overdue, and who has something coming due soon.

Who this is for

Administrators (Quality Admin, HR Admin, Corporate Admin) see data for every person in the system. Team leads (foreman and line lead) see only their direct reports.

What you can answer here

QuestionWhere to look
Which department has the most overdue trainings?By Department tab
How has a specific person performed on their assignments?By Person tab
Which quiz questions did a learner get wrong?Wrong answers view
Does my team lead receive a weekly summary by email?Weekly supervisor digest
How do I configure the email sender?Email settings

Who can open Reports

The Reports page is at /reports in the navigation sidebar, labelled Reports.

RoleCan open ReportsSees
Quality AdminYesAll users
HR AdminYesAll users
Corporate AdminYesAll users
Team leadYesTheir direct reports only
EmployeeNo-

How visibility is enforced

Better Comply uses database-level security to scope what each person can see. The report views (report_person_status, report_assignment_status) are defined with SECURITY INVOKER, which means they run under your identity and the database's own row-level security rules apply automatically.

Visibility is controlled by the database, not the page

There is no client-side team filter on the Reports page. A team lead sees only their team because the database restricts the rows returned, not because the page hides them. Changing a person's manager or line lead assignment takes effect immediately at the data layer.

How overdue and due soon are calculated

The Reports page uses exactly the same overdue rule as the rest of the application:

  • Overdue: the assignment is not completed AND the current time is past due date + grace period (boundary exclusive - exactly at the threshold is not yet overdue).
  • Due soon: the assignment is not completed, not yet overdue, and the due date falls within the next 14 days.

The grace period is set per training under Scheduling settings. When a training has no grace period configured, the overdue threshold is the due date itself.

This definition is shared between the database views, the weekly supervisor digest, and the in-app overdue badge, so numbers are always consistent.