> ## Documentation Index
> Fetch the complete documentation index at: https://control-dev.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Review budget variances with comments

> Have an AI client review a month against the budget, ask line owners about variances on the statement cells, and write the commentary from their answers.

Use an AI client to review a month's results against a budget on the statement itself. The client explains on each variance what the budget notes already cover and asks the line owner about the rest in a comment on that cell. Owners answer where the number is, in Control or through their own AI client. The client then writes the month's variance commentary from those comment threads and resolves the answered ones.

Each question and answer stays next to the number it is about, with its author and the plan it was compared against, instead of in an email thread or a spreadsheet column.

## Before you start

* [Connect your AI client](https://control-dev.mintlify.site/product-docs/ai/mcp-server.md) to the correct Control workspace. Reading the statement, budget, and comments needs read access. Adding comments and resolving threads needs write access; see [access and permissions](https://control-dev.mintlify.site/product-docs/ai/mcp-access.md).
* Choose the plan to compare, such as the approved budget or the latest forecast. A comment written against a plan belongs to that plan: it appears on the statement only while the same plan is compared.
* Choose the month, companies, and currency, and the size of variance that needs an explanation.
* Tell the client who owns which lines. Control does not store line owners, so give the list in your request or in the client's project instructions.
* Agree how owners hear about their questions. Control does not send notifications for comments, and a name in a comment does not notify that person.

Who can do what:

| Action | In Control | Through an AI client |
| - | - | - |
| Read comments | Anyone who can open the statement | Read access |
| Comment, reply, resolve, or reopen | Anyone in the workspace, including viewers | Write access; viewer accounts cannot write through an AI client |
| Edit a comment | Its author | Its author, with write access |
| Delete a comment | Its author or an administrator | Its author or an administrator, with write access |

Comments written through an AI client are saved under the name of the person who connected it and are labelled **via MCP** (Model Context Protocol), so reviewers can tell them apart from comments typed in Control.

## Watch an example

<video controls playsInline preload="none" aria-label="An AI client reviews September against the budget, asks line owners about two variances on the statement cells, and writes the commentary from their answers" alt="An AI client reviews September against the budget, asks line owners about two variances on the statement cells, and writes the commentary from their answers" poster="/product-docs/images/bva-review-with-comments-via-mcp-poster.jpg" src="https://mintcdn.com/control-dev/Q0k8XmZP14GHQqHm/product-docs/videos/bva-review-with-comments-via-mcp.mp4?fit=max&auto=format&n=Q0k8XmZP14GHQqHm&q=85&s=3f6b26635a530c6aaec239b7011d762a" />

> [!NOTE]
>
> The film has music and no narration. Its figures, people, companies, and timing are illustrative, not a benchmark
> or a guarantee for your workspace.

In the film, the finance lead asks his client to review September against the FY 2026 budget and to look at every account more than 5,000 off. Four accounts qualify. Budget notes explain two of them as timing, so the client says so on their cells and resolves those threads. The other two have no note, so the client asks their owners on the cells. One owner opens the yellow marker in Control and types a reply. The other asks her own AI client to answer from the invoices, and the reply lands on the same thread. The finance lead then asks for the September commentary: three timing differences and one recurring cost to reforecast. Both answered threads are resolved and the markers leave the statement.

## Run the review

### 1. Ask for the review

Name the month, the plan, the threshold, and what the client may do on its own:

> Review September 2026 against the FY 2026 budget for the group in EUR, every account off by more than 5,000. If a budget note explains the variance, say so on the cell and resolve it. Otherwise ask the owner on the cell: Henri owns Marketing, Aino owns Cloud hosting. Show me the list of threads you opened.

The client compares the month's actual results with the plan, reads the budget notes (the explanations saved on budget cells, with their authors), and checks invoices or transactions where they help. It should ask you to resolve ambiguous choices, such as which plan version to use, instead of picking one.

### 2. Let the client comment on the cells

For each variance above the threshold, the client opens a thread on the variance cell of the plan comparison, the **Δ** column under the plan's name. A thread that only records what a budget note says can be resolved at once, but only when your request allows it. A question to an owner should name the person, the amount, and what is unclear, for example whether the difference is timing or will recur.

The **Review** button on the statement shows the number of open threads. Yellow markers show where they are.

### 3. Tell the owners

Send each owner a short message: which statement, month, and plan to open, and which lines have a question. Owners need the same plan compared to see the threads on the statement.

### 4. Owners answer on the cell

In Control, an owner opens the statement for the month, compares the same plan, and either clicks the yellow marker on the variance or opens **Review** and picks the thread. They type the answer in the comment and select **Reply**. **Start new thread** opens a separate thread on the same cell; use it only for a different question.

Through their own AI client, an owner can ask:

> Answer the cloud hosting question on the September statement cell from our invoices. Reply on the existing thread; don't resolve it.

The client finds the open thread, checks the evidence, and replies on that thread under the owner's name.

### 5. Write the commentary and resolve

When the answers are in, ask for the commentary:

> Write September's variance commentary from the review threads and the budget notes. Separate timing differences from recurring changes, quote who answered each one, and list any thread that is still unanswered. Then resolve the threads that have an owner's answer.

The commentary is a document in your AI client, not a Control export. Review it before sharing; see [what to check](#check-the-commentary-before-you-rely-on-it).

## How comments attach to a plan comparison

This section covers what matters for a variance review. For everything comments do in Control, see [Comment on financial statements](https://control-dev.mintlify.site/product-docs/reporting/statement-comments.md).

* **A thread belongs to one cell.** It is tied to the account (or statement row), the period, the scope of the view (companies, dimensions, counterparty), and the comparison it was written against. For a plan, that is the plan version.
* **Plan threads show only while that plan is compared.** They sit on the plan's **Δ** column. Compare another plan, or none, and the marker disappears from the grid; the thread is listed under **Review** → **Elsewhere**, which opens the view it was written in.
* **Account threads follow the account across layouts.** A thread on an account appears on every profit and loss (P\&L) layout that shows that account for the same period, scope, and plan.
* **Resolved threads leave the grid.** They stay in **Review** → **Resolved**. Turn on **Show resolved on the grid** to see them as grey markers. Replying to a resolved thread reopens it.
* **Deleted plans keep their threads.** If the plan is deleted, its threads appear on no statement but stay in **Review**, where they can be replied to or resolved.
* **Changed numbers are flagged.** A thread records the values it was opened on. If the number changes later, for example after a late booking, the thread shows that the value changed and from what to what. Ask the client to record the actual and plan values when it opens a thread; a thread opened without them cannot show the change.

## Check the commentary before you rely on it

* Every explained variance has either a budget note or an owner's answer behind it. Statements the client inferred, such as a guess at timing, are marked as its own.
* Actual, plan, and variance figures match the statement in Control for the same month, plan, companies, and currency.
* No thread shows that its value changed since it was opened. If one does, recheck the explanation.
* Every resolved thread has an answer. Check **Review** → **Resolved** for threads the client closed without one.
* A timing difference is in the plan for a later or earlier month, so it reverses rather than counting twice.
* A recurring change is listed as a decision for you, such as a reforecast, not applied to the budget by the client. See [Update a budget forecast](https://control-dev.mintlify.site/product-docs/ai/use-cases/adjust-budget.md).

> [!WARNING]
>
> An answer in a comment is the owner's explanation, not evidence. Check material explanations against invoices or
> transactions before they go to management or the board.

## Troubleshooting

### A thread isn't visible on the statement

Compare the same plan the thread was written against and view the same month in a monthly view. Check the company and dimension filters: a thread on the group total does not appear on a single company's view, and the reverse. Resolved threads are hidden unless **Show resolved on the grid** is on. **Review** → **Elsewhere** lists open threads for the period that are outside the current view.

### An owner's answer is missing

Check whether the owner replied in a new thread on the same cell, or on a thread for another plan or period. If the owner used an AI client, check that its connection has write access; a read-only connection can read threads but cannot reply. Ask the client to list the month's threads with their comments to find the answer.

### A comment landed on the wrong cell

The client used a different account, period, scope, or plan than you meant. A thread cannot be moved. Ask the client to open a new thread on the right cell and delete its first one; deleting a thread's only comment deletes the thread. Only the author or an administrator can delete a comment.

### The owner wasn't told

Control does not notify anyone about comments in this version, and names in comments are plain text. Tell the owner directly, or ask the client to list the open threads by owner so you can send each person their questions.

### The client can't add or resolve comments

The connection is read-only, or the account is a viewer. Reconnect with write access as a member or administrator. Viewers can still comment and resolve in Control.

## Example prompts

> List September's open review threads against the FY 2026 budget, grouped by the person each question is for.

> For each variance over 10,000 in the third quarter against the latest forecast, open a thread on the cell with the actual, the plan, and the transactions that explain most of it. Don't resolve anything.

> Read the answers on September's threads and tell me which ones say the change will recur. Don't resolve them yet.

> Reopen the Marketing thread for September and ask Henri whether the trade fair cost will still appear in October.

## Related workflows

> **[Review quarterly budget performance](https://control-dev.mintlify.site/product-docs/ai/use-cases/quarterly-bva-report.md)**
>
> Compare a quarter with the budget and investigate the largest differences.

> **[Reuse budget comparison instructions](https://control-dev.mintlify.site/product-docs/ai/skills/budget-vs-actual-review.md)**
>
> Save a repeatable budget-versus-actual review in your AI client.

> **[Prepare a monthly board pack](https://control-dev.mintlify.site/product-docs/ai/use-cases/monthly-board-pack.md)**
>
> Draft a board pack from reviewed results and their explanations.

> **[Update a budget forecast](https://control-dev.mintlify.site/product-docs/ai/use-cases/adjust-budget.md)**
>
> Reforecast the months a recurring change affects.


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