# Qualifications Compliance Report

Source: https://docs.astalty.com.au/guide/reports/qualifications-compliance-report

> See which workers don't currently hold a qualification their role requires, and why.

Astalty Premium - This feature is part of the Astalty Premium plan. See What Premium includes.

> **Access to this report**
>
> Only the Account Owner, and Admins who have **Can manage User Records for all Users** turned on, can open this report. For other Admins it is off by default and is switched on per user. See [Roles & Permissions](https://docs.astalty.com.au/guide/users/roles-permissions).

Open [**Reports > Team > Qualifications Compliance**](https://app.astalty.com.au/reports/team/qualifications-compliance).

![The Reports page on the Team tab with the Qualifications Compliance report highlighted in the Team list, below My Billable Hours, My Billables, Team Billable Hours, Team Billables and User Records.](https://docs.astalty.com.au/assets/qualifications-compliance-report-find.png)

## Report Overview

The Qualifications Compliance report lists workers who don't currently hold a qualification their role requires, and tells you why - so you can chase the missing records before they cause a rostering problem.

One row appears for each combination of worker and unmet qualification, so a worker missing two qualifications appears twice. If several of a worker's User Groups require the same qualification, it appears once, with the strictest enforcement: **Block** wins over **Warn**.

A requirement only counts while its enforcement is **Block** or **Warn**. Requirements turned off, and requirements on an archived User Record Type, are ignored.

![The Qualifications Compliance report listing each Worker with an unmet Qualification, its Reason, such as Missing or Awaiting Verification, the Expiry Date and the Enforcement, Block or Warn, below a Search workers box and Filter button.](https://docs.astalty.com.au/assets/qualifications-compliance-report-overview.png)

> **This report covers role-based requirements only**
>
> The report is built entirely from [role-based requirements](https://docs.astalty.com.au/guide/settings/users-settings/qualifications) - the ones set against user groups on a User Record Type.
>
> Requirements set on an individual [Participant's profile](https://docs.astalty.com.au/guide/participants/required-qualifications) are **not** included. A worker who fails only a Participant-based requirement will never appear here, no matter how out of date their records are. Those failures surface [on the schedule and when saving the roster](https://docs.astalty.com.au/guide/scheduling/qualification-checks) instead.

## Report Columns

### Worker

The worker's name.

### Qualification

The qualification they don't currently hold. This is the name of the underlying [User Record Type](https://docs.astalty.com.au/guide/settings/users-settings/user-records).

### Reason

A worker meets a requirement when they hold at least one current record of that type: not archived, not declined, not expired, and verified where the User Record Type requires verification. Otherwise the row shows why:

| Reason                    | Meaning                                                                                                                                           |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Missing**               | There's no record of this type on their profile, or only archived ones.                                                                           |
| **Expired**               | The User Record Type has expiry turned on, and the record's expiry date has passed. Where expiry is off for the type, the expiry date is ignored. |
| **Awaiting Verification** | They've uploaded a record, but nobody has verified it yet.                                                                                        |
| **Declined**              | The record was reviewed and declined.                                                                                                             |

Where a worker has several records of the type and none is current, one record decides the reason and the **Expiry Date**, picked in this order: **Awaiting Verification**, then **Expired**, then **Declined**.

The report has no expiring-soon reason. A record that is still current today isn't listed, however close its expiry date is. To find records about to expire, use the **Expiry** filter on the [User Records Report](https://docs.astalty.com.au/guide/reports/user-records-report).

### Expiry Date

The expiry date of the record that best explains the issue, or **-** where there's no record or no expiry date.

### Enforcement

Whether this requirement is set to **Block** or **Warn**. See [Enforcement levels](https://docs.astalty.com.au/guide/settings/users-settings/qualifications#enforcement-levels).

Remember that **Warn** rows are informational - they don't stop anyone being rostered.

### Actions

The menu at the end of each row offers **View Record** (where a record exists) and **View User Records**, taking you to that worker's records so you can fix the problem.

![The Qualifications Compliance report with the three-dot menu open on Chadd Metz's Manual Handling row, which is Awaiting Verification, showing View Record and View User Records.](https://docs.astalty.com.au/assets/qualifications-compliance-report-row-actions.png)

## Available Filters

Click **Filter** to apply filters.

![The Qualifications Compliance report with the Filter menu open beside the Search workers box, offering the Qualification, User Group, Reason and Enforcement filters.](https://docs.astalty.com.au/assets/qualifications-compliance-report-filters.png)

### Search

Search for a worker by name.

### Qualification

Narrow the report to particular qualifications.

### User Group

Narrow the report to workers in particular [User Groups](https://docs.astalty.com.au/guide/settings/users-settings/user-groups).

### Reason

Filter by **Awaiting Verification**, **Declined**, **Missing** or **Expired**.

### Enforcement

Filter by **Block** or **Warn**.

## Sorting Records

Click any column header - **Worker**, **Qualification**, **Reason**, **Expiry Date** or **Enforcement** - to reorder the results. The report is sorted by **Worker** by default.

The report isn't paginated, so everything in scope is on the one page.

## Who's Included

The report covers workers with **Can be Scheduled for Supports** turned on whose status isn't Restricted or Deactivated. Invited users are included.

> **Some workers can trigger lapse alerts without appearing here**
>
> [Lapsed Qualification Notifications](https://docs.astalty.com.au/guide/notifications/lapsed-qualification-notifications) use a slightly wider net - they cover any worker who isn't deactivated.
>
> So a restricted or non-rosterable worker who still holds shift assignments can trigger a lapse notification while never appearing on this report.

## The Date This Report Uses

> **This report checks qualifications as at right now**
>
> Every row is worked out as at the **current moment** - not as at any future shift date.
>
> The rest of scheduling works the other way around: [roster checks](https://docs.astalty.com.au/guide/scheduling/qualification-checks) evaluate a worker as at the **shift's start time**.
>
> The practical consequence: a worker whose First Aid expires next month shows as **fully compliant on today's report**, but is already blocked from shifts starting after that expiry date. If you're planning a roster more than a few weeks out, this report won't warn you.

## Exporting the Report

There's no download button on the report itself. The CSV is generated from a separate screen - see the [Qualifications Compliance Export](https://docs.astalty.com.au/guide/exports/qualifications-compliance-export).

The export ignores the report's current filters and always produces the full list.

## Related Guides

- [Qualifications Compliance Export](https://docs.astalty.com.au/guide/exports/qualifications-compliance-export) - the CSV version.
- [User Records Report](https://docs.astalty.com.au/guide/reports/user-records-report) - the wider view of all staff records, not just those required for rostering.
- [Required Qualifications in Settings](https://docs.astalty.com.au/guide/settings/users-settings/qualifications) - set up which records are required.
