> ## 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.

# Contract Alerts

> Review differences between linked Royaltyport and Curve contracts

## What Are Contract Alerts?

**Contract alerts** show differences between a linked Royaltyport contract and its linked Curve contract(s). The integration compares royalty rules (rates), catalog (matched vs unmatched assets), and costs. Alerts help you see where Royaltyport and Curve disagree so you can fix data in one system or the other before syncing, or confirm that differences are intentional.

<Note>
  Contract alerts are in **beta**. The comparison logic and UI may be refined over time.
</Note>

## Where to Find Alerts

In **Curve** → **Links** → **Contracts**, use the sidebar and select **Alerts**. The Alerts view is only available when the **Contracts** tab is active. It lists contracts that have at least one linked Curve contract and shows whether they have detected differences.

## Alert Table

The table includes:

| Column              | Description                                                                                   |
| ------------------- | --------------------------------------------------------------------------------------------- |
| **Contract**        | Royaltyport contract (Assignee × Assignor) and contract ID, with link to open in Royaltyport. |
| **Issues**          | Badges for the types of differences: **Rates**, **Catalog**, **Costs**.                       |
| **Curve Contracts** | Number of linked Curve contracts for this Royaltyport contract.                               |
| **Has Differences** | Yes (check) or No (X) — whether any differences were detected.                                |
| **Actions**         | Link to open the contract in Royaltyport.                                                     |

You can filter by **Search** (contracts, ISRCs), **Status** (All, With Differences, No Differences), and **Issue type** (All, Rates, Catalog, Costs). Rows can be expanded (chevron) to see details.

## Expanded View (Details)

When you expand a row or open the detail view:

* **AI Summary** — A short, human-readable summary of the differences.
* **Last checked** — When the comparison was last run (e.g. by the weekly background job or after a sync).
* **Per Curve contract** — For each linked Curve contract: contract name (link to Curve), assignor → payee.
* **Detail tabs**:
  * **Rates** — Track-level comparison of royalty rates (e.g. participation, deal terms) between Royaltyport and Curve.
  * **Catalog** — Unmatched assets: catalog items that exist in one system but not the other or don’t match.
  * **Costs** — Cost rules and comparisons between Royaltyport and Curve.

Use these tabs to see exactly where rates, catalog, or costs differ so you can update Royaltyport, Curve, or both.

## Issue Types

| Type        | Meaning                                                                                                   |
| ----------- | --------------------------------------------------------------------------------------------------------- |
| **Rates**   | Differences in royalty/participation rules (e.g. rate, territory, channel) between Royaltyport and Curve. |
| **Catalog** | Catalog (tracks/releases) linked in one system but not the other, or different mappings.                  |
| **Costs**   | Differences in cost rules or deductions between Royaltyport and Curve.                                    |

Resolving these in the source system (or accepting the difference) keeps future [syncs](/projects/settings/integrations/curve/syncing-contracts) consistent and reduces conflicts during approval.

## How Alerts Are Updated

Differences are computed when:

* The **weekly background job** runs (after linking payees, catalog, and contracts) and triggers a contract-difference check for the project.
* A **sync run** or other process triggers a comparison for specific contracts.

Until the next run, “Last checked” and the issue badges reflect the last comparison. Fixing data in Royaltyport or Curve will be reflected after the next check.

## Next Steps

<Card title="Syncing Contracts" icon="refresh-cw" href="/projects/settings/integrations/curve/syncing-contracts">
  Run syncs after reviewing and resolving alerts.
</Card>

<Card title="Linking Contracts" icon="file-text" href="/projects/settings/integrations/curve/linking-contracts">
  Ensure all contracts are linked before relying on alerts.
</Card>
