> ## Documentation Index
> Fetch the complete documentation index at: https://docs.royaltyport.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Filters

> Filter contracts to find exactly what you need

## Overview

Filters help you narrow down your contract list to find exactly what you need. All filters use **multi-select checkboxes** — you can select multiple values within each filter, and combine multiple filters to precisely target contracts.

***

## Status Filter

The built-in Status filter lets you show contracts by one or more processing statuses. Leaving all statuses unchecked shows all contracts.

| Status         | Shows                               |
| -------------- | ----------------------------------- |
| **Completed**  | Fully processed contracts           |
| **Processing** | Contracts currently being extracted |
| **Queued**     | Contracts waiting in the queue      |
| **Paused**     | Contracts requiring user input      |
| **Failed**     | Contracts with processing errors    |

***

## Adding Filters

<Steps>
  <Step title="Click Filters">
    Click the **Filter** button in the toolbar.
  </Step>

  <Step title="Add a Filter">
    Use the "Add filter..." dropdown at the bottom to select a field. The filter is added immediately.
  </Step>

  <Step title="Select Values">
    Check one or more values in the filter's checkbox list. Options are populated based on your actual contract data.
  </Step>
</Steps>

***

## Available Filter Fields

Filters are organized into three categories:

### File Fields

Basic file information:

| Field              | Description                    |
| ------------------ | ------------------------------ |
| **File Name**      | The uploaded document filename |
| **File Extension** | File type (e.g., pdf)          |

### System Fields

Extracted contract data:

| Field                                 | Description                    |
| ------------------------------------- | ------------------------------ |
| **Language**                          | Contract language              |
| **Type**                              | Contract classification        |
| **Recording (Name)**                  | Linked recording names         |
| **Composition (Name)**                | Linked composition names       |
| **Relation (Name)**                   | Related contract names         |
| **Relation (Email)**                  | Related party emails           |
| **Entity (Name)**                     | Party names                    |
| **Entity (Phone)**                    | Party phone numbers            |
| **Accounting (Period)**               | Accounting period type         |
| **Accounting (Cross Collateralizes)** | Cross-collateralization status |
| **Accounting (Audit Rights)**         | Audit rights status            |
| **Control Area (Control Type)**       | Type of control/rights         |
| **Control Area (Exclusivity)**        | Exclusivity status             |
| **Compensation (Currency)**           | Payment currency               |
| **Compensation (Recurring Payment)**  | Recurring payment type         |
| **Signature (Name)**                  | Signatory names                |
| **Signature (Signed)**                | Signature status               |
| **Tags (Name)**                       | Applied tags                   |

#### Flattened Fields

Detailed breakdowns from categorized extractions:

| Field                                 | Description                   |
| ------------------------------------- | ----------------------------- |
| **Royalties Flat. (Rights Type)**     | Royalty rules by rights type  |
| **Costs Flat. (Category)**            | Cost deductions by category   |
| **Control Areas Flat. (Rights Type)** | Control areas by rights type  |
| **Control Areas Flat. (Control)**     | Control areas by control type |
| **Control Areas Flat. (Exclusivity)** | Control areas by exclusivity  |

#### Content Health Fields

Aggregate boolean filters for identifying contracts that may need attention:

| Field                   | Description                                                             |
| ----------------------- | ----------------------------------------------------------------------- |
| **Missing Contracts**   | Filter by whether a contract has associated missing content flagged     |
| **Duplicate Contracts** | Filter by whether a contract has duplicate child contracts linked to it |

<Info>
  These filters return **Yes** or **No** options. Select **Yes** to surface contracts with the condition present, or **No** to show contracts without it.
</Info>

### Custom Fields

If you have [custom extractors](/projects/contracts/drive/custom-extractors) configured, their output fields appear as filterable options. Each extractor field becomes a separate filter.

***

## How Filtering Works

Each filter uses **multi-select checkboxes**:

1. When you add a filter, the system queries your contracts to find all unique values for that field
2. Check one or more values — all checked values are matched with **OR** logic within that filter
3. Multiple filters combine with **AND** logic across filters

**Example:** Status is "Completed" or "Failed" **AND** Type is "Recording Agreement" — only contracts matching both conditions appear.

<Info>
  Filter options are dynamically populated based on your actual contract data. If a field has no values across your contracts, it won't show any options.
</Info>

***

## Managing Filters

### Filter Count Badge

The Filter button shows active filter count — a filter is counted as active when at least one value is checked:

* **Filter (0)** - No active filters
* **Filter (3)** - Three filter groups have values selected

Each filter also shows a small badge next to its label indicating how many values are currently selected.

### Clearing Selected Values

* Click **Clear** on an individual filter to uncheck all its values (keeps the filter in the panel)
* Click **X** on an individual filter to remove it entirely from the panel
* Click **Clear** in the filter header to remove all filters and reset the status filter

***

## Best Practices

<AccordionGroup>
  <Accordion title="Filter by status first">
    Start with the status filter to focus on completed contracts before adding field filters.
  </Accordion>

  <Accordion title="Select multiple statuses">
    Use multi-select to show contracts in more than one status at once — for example, "Failed" and "Paused" together to review all contracts needing attention.
  </Accordion>

  <Accordion title="Use tags for custom grouping">
    Create [tags](/projects/contracts/drive/bulk-actions#tagging) for categories you filter often, like "Priority" or "Under Review".
  </Accordion>

  <Accordion title="Check filter count">
    If you're having trouble finding contracts, check the filter count — you may have filters applied.
  </Accordion>

  <Accordion title="Use flattened fields for detail">
    Flattened fields let you filter by specific royalty types, cost categories, or control areas.
  </Accordion>
</AccordionGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Sorts" icon="arrow-up-down" href="/projects/contracts/drive/sorts">
    Sort filtered results.
  </Card>

  <Card title="Views" icon="table-columns" href="/projects/contracts/drive/views">
    Create custom column layouts.
  </Card>
</CardGroup>
