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

# Cash flow categories

> Browse the cash flow category catalog, grow it, and tag transactions

Cash flow categories are the organization's chart of categories for classifying money in and out. They form a two-level tree: top-level **categories** carry a direction (inflow or outflow) and hold nested **subcategories**. The MCP server lets you read the catalog, add to it, and set or clear the category on transactions.

The category and subcategory ids surfaced here are the same ones returned as `cashflow_category.id` and `cashflow_subcategory.id` on a transaction (see [Transactions and statements](/mcp/tools/transactions-and-statements)), so they reconcile against an external chart of accounts.

## Tools

| Tool                                    | What it does                                                                                                                                                                                                                                                                                                 | Upstream                                                                                                                                                                                                                                                              |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_cash_flow_categories`             | Read the catalog as a tree: each parent category, its direction, VAT rate, and nested subcategories. Read-only. Use it to resolve a `category_id` before assigning, and to map the ids seen on transactions back to names.                                                                                   | [List cash flow categories](/api-reference/business-api/transactions-statements/cash-flow-categories/list)                                                                                                                                                            |
| `create_cash_flow_category`             | Grow the catalog. Omit `parent_category_id` to create a top-level category — a direction `type` (`CATEGORY_TYPE_INFLOW` or `CATEGORY_TYPE_OUTFLOW`) is required. Pass `parent_category_id` to create a subcategory under it — `type` is rejected there, since a subcategory inherits its parent's direction. | [Create a cash flow category](/api-reference/business-api/transactions-statements/cash-flow-categories/create) · [Create a cash flow subcategory](/api-reference/business-api/transactions-statements/cash-flow-categories/create-subcategory)                        |
| `modify_transaction_cash_flow_category` | Set or clear the cash flow category on up to 100 transactions in one call. Pick exactly one branch: `assign` (`transaction_ids` + `category_id`) tags the transactions, replacing any category they already carry; `clear` (`transaction_ids`) removes whatever category they carry.                         | [Assign a cash flow category to transactions](/api-reference/business-api/transactions-statements/cash-flow-categories/assign) · [Unassign a cash flow category from transactions](/api-reference/business-api/transactions-statements/cash-flow-categories/unassign) |

## Assigning to a leaf

A transaction is categorized against a single node in the tree. Once a category has subcategories, assignment must target a **leaf** subcategory — assigning the parent is rejected. Resolve the right `category_id` with `list_cash_flow_categories`, then pass it (the subcategory id, when one exists) to `modify_transaction_cash_flow_category` with the `assign` branch.

`clear` is its own branch rather than an `assign` with an empty `category_id`, so removing a category is always explicit and a tagging call can never silently wipe one.

**Try it**

> What cash flow categories do I have set up?
>
> Create an outflow category "Software" with a "Cloud hosting" subcategory under it.
>
> Tag my last three AWS transactions as Cloud hosting.
>
> Clear the cash flow category on that miscategorized transfer.
