# Assign invoice tags (workflow catalog)

Assign invoice tags from a catalog with filters and conditions.

Apply a **closed catalog** of tags to payables using an **Assign invoice tags** workflow step. Cortena picks matching labels (or records that **none** fit) and shows the result on invoice detail and in list filters.

**Who this is for:** AP process owners who want consistent document classification (Capex, intercompany, urgent, etc.) without free-text fields, and who branch workflows with **Invoice tags** conditions.

## 1. Configure the catalog

1. Open **Workflow Configuration** → add **Assign invoice tags**.
2. For each tag row, set:
   - **Label** · Short name shown on the invoice (e.g. `Capex`).
   - **Instruction** · Plain-language rule the AI uses to decide if the tag applies (what to look for on the PDF or extracted fields).
3. Add or remove rows with **Add tag** / **Remove**.
4. **Publish** the workflow.

When the invoice reaches this step, Cortena evaluates the catalog and stores assigned tags plus a **reason** (visible in a tooltip).

## 2. On invoice detail

After the step runs:

- **Assigned tags** appear as badges above the line items (or in the header tag area, depending on layout).
- If no catalog tag fits, a **No tags** badge appears. Hover for the reason (e.g. nothing matched the Capex instruction).
- Tags are **not** free-form user labels; they come only from published workflow catalogs on paths that ran **Assign invoice tags**.

## 3. Payables list filter

On the payables workspace:

1. Open filters → **Tags**.
2. Select one or more catalog labels to narrow the list.
3. Choose **No tags** to find invoices where the assign step ran but **none matched** (`none_matched`).

Deep links and dashboard counts use the same tag parameters as the filter bar.

## 4. Branch with Invoice tags condition

After **Assign invoice tags**, add a **Condition** step:

| **Operator** | **Use when** |
| --- | --- |
| Tag **contains** | Invoice has a specific catalog label |
| **None matched** | Assign step ran but no label applied |
| **Not run** | Assign step has not executed yet on this path |

Example: **Assign invoice tags** → **Condition** (**Invoice tags** / **None matched**) → manual review vs auto-continue.

See also [Workflow configuration](https://help.cortena.ai/guides/workflows/workflow-configuration) for the condition builder.

## Tips and limitations

- Instructions should be **specific** (amount thresholds, keywords, supplier types). Vague rules increase **No tags** outcomes.
- Changing the catalog requires **publish**; reprocess or re-run workflow on open invoices if you need new tags retroactively.
- **Invoice tags** condition values are the catalog **labels** from **Assign invoice tags**, not arbitrary strings.
- For entity routing before tagging, use [Assign invoice tenant](https://help.cortena.ai/guides/workflows/assign-invoice-tenant) first.

## Quick reference

| **Task** | **Where** |
| --- | --- |
| Define catalog | **Workflow Configuration** → **Assign invoice tags** |
| See result | Payable detail → tag badges / **No tags** |
| Filter list | Payables → **Tags** (includes **No tags**) |
| Branch workflow | **Condition** → **Invoice tags** |
| None matched path | Condition operator **None matched** |
