# Cost Code Assignments Report

Source: https://docs.astalty.com.au/guide/reports/cost-code-assignments-report

> Find shifts and supports with missing cost codes before a payroll or invoice run, and check whether codes were assigned manually or by a rule.

Scheduling add-on - This feature requires the Scheduling add-on, which is available on Astalty Premium. See How to enable Scheduling.

Before an invoicing or pay run, open [**Reports > Scheduling > Cost Code Assignments**](https://app.astalty.com.au/reports/scheduling/cost-code-assignments).

## Finding Gaps Before a Pay or Invoice Run

1. Set the date range to the period you are preparing. The report initially opens on the current month.
2. Set **Assignment Status** to **Unassigned**.
3. Use **Type** to choose **Shift** for payroll checks or **Support** for invoicing checks. Leave both included to review them together.
4. Open a row's actions menu and select **View** to open the shift, support or group support.
5. Assign the missing code manually, or update a rule and [re-evaluate existing records](https://docs.astalty.com.au/guide/finance/cost-codes#keeping-things-in-sync).

Clear any **Cost Code** or **Source** filter when looking for unassigned records. Those filters require a code to be present, so combining them with **Unassigned** produces no matching rows.

## Narrowing the Results

Use **Participant**, **Worker**, **Site** or **Region** to narrow the work you review. Region filtering appears when Regions are enabled. **Cost Code** finds records carrying particular codes; **Source** distinguishes **Manual** choices from codes assigned by a **Rule**.

The search box can find a Participant or worker by name. Use the dedicated filters when you need to select several people or codes.

## Reading the Results

The **Total**, **Assigned**, **Unassigned**, **Manual** and **Rule** figures count all records matching your filters, not just the current page. They count shifts and supports separately; they are not totals of hours or dollars.

Each row shows its **Type**, **Date/Time**, Participant or worker, **Group Support**, **Site**, **Cost Code** and **Source**. A blank **Cost Code** and **Source** means no code is assigned. A support and the worker's shift can therefore appear as separate rows with different codes, reflecting the separate income and wage assignments.

Select a sortable column heading to change the order. Use the row's **View** action to investigate or correct the underlying record; the report itself does not apply codes.

## Related Guides

- [Cost Codes](https://docs.astalty.com.au/guide/finance/cost-codes) explains codes, assignment rules and payroll or invoicing mappings.
