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

# Filter tables with AI search

> Describe what you're looking for in your own words and let AI search turn it into filters on the general ledger, transaction lists, AR&AP and contracts.

AI search turns a phrase such as "travel expenses over 500 euros last quarter" into filter conditions on the table. You don't need to know which fields to filter on. Caleido shows how it read your phrase, so you can check the result and correct it.

## Where you can use AI search

The search field shows **AI search:** and **Search or describe what you want** on these tables:

* The **General ledger report** page. See [Use the general ledger and journal](https://support.caleido.io/guides/transactions/general-ledger.md)
* The transaction list that opens when you drill down from a figure in a report
* The invoice tabs on the **AR\&AP** page. The bank tabs keep a normal text search. See [Review receivables and payables](https://support.caleido.io/guides/receivables-payables/receivables-and-payables.md)
* The **Contracts** page. See [Manage contracts](https://support.caleido.io/guides/budgeting/contracts.md)

## Before you start: allow AI features

AI search needs AI features to be allowed for your organization. One user allows them for everyone, in one of two ways:

* **When you first search with a phrase:** Caleido asks **Enable AI search?**. Click **Enable** to allow AI features for the organization, or **Not now** to run your phrase as a normal text search. After **Not now**, the field works as a normal search field
* **In Settings:** open **Settings**, select **AI** and, under **AI features**, switch on **Allow AI features for this organization**. You can turn it on or off here at any time

The dialog and **Settings** > **AI** show the same text on data processing: AI search and the assistant send your prompts to OpenAI through their GDPR-compliant API. Data is retained for 30 days but is not associated with your organization, and models are not trained on it. Contact [support@caleido.io](mailto:support@caleido.io) for data deletion requests.

## Search with a phrase

**1. Type what you're looking for**

Click the search field above the table and describe the rows you want, for example "unpaid invoices from Acme over 1,000 euros"

**2. Run the search**

Press Enter. Caleido turns the phrase into filter conditions and applies them to the table

**3. Check and adjust the filter**

When AI wrote the conditions, the **Filter** panel opens and shows them. To change them by hand, open **Actions**, select **Modify** > **Filter…** and edit them on the **Advanced** tab

* A single word runs as a normal text search and isn't sent to AI
* When a phrase can't be turned into a filter, Caleido runs it as a text search and tells you: **That search couldn't be turned into a filter, so it ran as a text search.**
* Clear the search field to remove the filter. In the general ledger and drill-down transaction lists, a search can also change the columns, grouping and sorting so the answer is easy to see. Clearing the field puts them back
* In the same two tables, a phrase that asks for a total, such as "how much did we spend on travel in March", shows **Total** with the amount and the number of rows
* Each new phrase replaces the filter from the previous one

## See how your phrase was read

After a search, **Interpreted by AI** appears next to the table. Hover over it to see every condition Caleido made from your phrase. A note on a condition tells you more:

| Note | What it means |
| - | - |
| **estimate** | Your phrase didn't say this exactly, so Caleido filled it in |
| A value struck through | Caleido corrected a value. The struck-through value is the one it replaced |
| **ignored** | A part of the phrase the filter can't express. It doesn't filter the table |
| **not found in this ledger** | A name, such as a counterparty, that matches nothing in your data |
| **excluded, not filtered** | A period you asked to leave out. The filter can't leave out a period, so those rows stay in the table |

When the table comes back empty, look for **not found in this ledger**. That condition is the one that removed every row. Check the spelling of the name, or remove the condition in the **Filter** panel.

## Related

* [Use the general ledger and journal](https://support.caleido.io/guides/transactions/general-ledger.md)
* [Connect Claude, ChatGPT or another AI tool to Caleido](https://support.caleido.io/ai-agents/connect-an-ai-tool.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.