
Give Claude or ChatGPT a table of actual and budget figures, plus notes that explain the known causes. It can return a first draft of the budget variance commentary. A finance reviewer then checks every total and matches every explanation to an approved note.
Neither tool can recover a missing business cause from the numbers alone.
A revenue shortfall may come from lower volume, price, timing, mix, churn, a reporting error or several causes together. The arithmetic shows the movement. The business note explains the cause. If the note is missing, the commentary should say unexplained, not manufacture a plausible story.
Keep three tasks separate:
- calculate and reconcile the variance;
- attach approved explanations to the relevant lines;
- draft commentary that labels observed facts, possible inferences and unexplained items.
Why a polished explanation can still be wrong
A language model is good at producing a coherent explanation. That strength becomes a risk when the source contains numbers but no causal evidence.
Suppose Product A revenue is 5% below budget. “Demand softened” sounds reasonable, but the actual cause could be a service-delivery delay already identified during the close. If the source pack does not establish the reason, fluency does not make the sentence true.
There are four common failure modes:
- Restatement: “Revenue was below budget because actual revenue was lower than budget.”
- Invented cause: The commentary attributes the movement to volume, price or seasonality without a supporting note.
- Sign error: Lower expense is described as unfavourable because the model applies the revenue convention to every line.
- Period mixing: Actual, budget and forecast are blended into one narrative even though they answer different questions.
The practical fix is a clean variance table, approved notes, clear rules and a separate arithmetic check.
Give the tool one table and one set of approved notes
Give the model a clean variance table and a separate set of approved business notes.
The table should include:
- reporting period and currency;
- account or business-line label;
- actual, budget and calculated variance;
- the sign convention;
- subtotal relationships;
- forecast in a separate column only when it is genuinely part of the task.
The notes should identify the line they explain, the approved cause, the amount attributed to that cause when known, the owner and whether the effect is timing or expected to continue.
This structure helps a reviewer trace each sentence. OpenAI’s current spreadsheet guidance similarly tells users to be specific about what should change and to review formulas, calculations, citations and changed cells before relying on the result. (OpenAI, ChatGPT for Excel and Google Sheets).
A complete synthetic example
The following example is fictional and uses USD thousands. It was constructed to teach the method; it is not client work and was not generated in a current Claude or ChatGPT comparison.
| Line | Budget | Actual | Variance | View |
|---|---|---|---|---|
| Product A revenue | 600 | 570 | -30 | Unfavourable |
| Product B revenue | 400 | 350 | -50 | Unfavourable |
| Revenue | 1,000 | 920 | -80 | Unfavourable |
| Cost of goods sold | 550 | 525 | -25 | Favourable |
| Gross profit | 450 | 395 | -55 | Unfavourable |
| Payroll | 200 | 215 | 15 | Unfavourable |
| Marketing | 80 | 60 | -20 | Favourable |
| Software | 40 | 48 | 8 | Unfavourable |
| Other operating expense | 30 | 32 | 2 | Unfavourable |
| Operating expense | 350 | 355 | 5 | Unfavourable |
| Operating profit | 100 | 40 | -60 | Unfavourable |
The sign convention is actual minus budget. A negative revenue or profit variance is unfavourable. A negative expense variance is favourable.
In this example, finance has already completed the close, including cutoff and accrual or prepayment checks, before preparing the AI input. The AI drafts from approved figures and notes; it does not decide when revenue or expense should be recognized. IAS 1 requires accrual-basis accounting other than for cash-flow information, while IFRS 15 ties revenue recognition to satisfying a performance obligation by transferring the promised good or service. Those standards inform finance's close; they are not rules for the model to apply from an invoice date alone. (IAS 1, paragraphs 27–28; IFRS 15 overview).
Approved notes state:
- Service delivery for two Product B engagements worth 22.5 each moved to next month.
- Contractor work budgeted at 18 moved to next month; usage-based hosting was 7 below budget.
- An approved contractor extension added 15 to payroll.
- A marketing campaign budgeted at 20 moved to next month.
- After finance checked the annual prepayment during close, an additional 8 above budget was recognized as current-month software expense.
- No approved explanation exists for Product A, the remaining Product B difference or other operating expense.
- No forecast was supplied.
The notes explain only the listed movements.
Tell the tool what to do when a cause is missing
A reusable prompt should tell the model how to handle missing evidence. A request for “insightful commentary” leaves that decision undefined.
You are preparing draft management commentary from the supplied variance table
and approved business notes.
1. Recalculate every subtotal and variance using actual minus budget.
2. Keep revenue/profit favourability separate from cost/expense favourability.
3. Use only approved business notes to explain causes.
4. Label statements OBSERVED, INFERENCE or UNEXPLAINED.
5. Do not create causes, forecast effects, customer names or actions.
6. Keep actual, budget and forecast separate. State when forecast is absent.
7. Report arithmetic-check failures before drafting commentary.
8. Return executive commentary, a driver table, unexplained items and reviewer checks.
For longer source material, Anthropic advises grounding answers in quotations from the supplied documents. Its prompting guidance also recommends structured formats for state and tests. In a finance workflow, that supports attaching a note identifier or quoted evidence to each cause rather than accepting an untraceable narrative. (Anthropic prompting guidance).
Compare the draft with this checked version
The manually checked commentary begins with the reconciled result.
OBSERVED: Revenue was 920 against a budget of 1,000, an 80 unfavourable variance (8.0%). Product A contributed 30 of the shortfall and Product B contributed 50.
It then limits the cause to documented evidence.
OBSERVED: Approved notes attribute 45 of the Product B shortfall to service delivery for two engagements moving to next month. The remaining 5 Product B shortfall is UNEXPLAINED. The 30 Product A shortfall is also UNEXPLAINED.
The cost paragraph protects an important business distinction.
OBSERVED: Cost of goods sold was 525 against 550, a 25 favourable variance (4.5%). Approved notes identify contractor work of 18 moving to next month and 7 lower usage-based hosting. The moved work is timing-related, so it should not be described as a sustained saving.
Finally, the profit bridge reconciles.
OBSERVED: Operating profit was 40 against 100, a 60 unfavourable variance. The movement reconciles to 55 lower gross profit and 5 higher operating expense.
The arithmetic follows.
- Revenue: 570 + 350 = 920; 920 − 1,000 = −80.
- Gross profit: 920 − 525 = 395; 395 − 450 = −55.
- Operating expense: 215 + 60 + 48 + 32 = 355; 355 − 350 = 5.
- Operating profit: 395 − 355 = 40; 40 − 100 = −60.
- Profit bridge: −80 revenue + 25 favourable cost of goods sold − 5 adverse operating expense = −60.
The complete source pack and checked commentary are retained in the synthetic variance example.
Build a claim ledger before publishing the commentary
A claim ledger forces each explanation to reconcile to the amount it claims to explain.
| Claim | Total variance | Supported amount | Remaining amount | Source and owner | Publication decision |
|---|---|---|---|---|---|
| Product B revenue was below budget because two engagements moved | 50 adverse | 45 | 5 unexplained | Approved delivery notes; revenue owner | Publish the 45 explanation and disclose the 5 gap |
| Cost of goods sold was favourable due to contractor timing and hosting | 25 favourable | 18 timing + 7 hosting | 0 | Approved cost notes; cost owner | Publish, but call the 18 timing rather than savings |
| Software was adverse after prepayment review | 8 adverse | 8 | 0 | Close support; controller | Publish only after finance confirms the accounting treatment |
Check four failure modes. An explanation may cover only part of a variance. Two notes may describe the same amount and create double counting. A timing movement may reverse next month and should not be called a lasting saving. A driver can be mathematically reconciled while its business cause remains unsupported.
The Product B row is the hard decision: publish a qualified sentence or hold the full causal claim. The ledger makes the missing 5 visible and gives the owner a precise follow-up question.
Keep actual, budget and forecast separate
Actual-versus-budget commentary explains performance against the approved plan. Forecast commentary explains the current expectation for a future period. One may inform the other, but they are not interchangeable.
If no forecast is supplied, write:
UNEXPLAINED: No forecast was supplied, so the effect on the full-year outlook cannot be assessed.
Do not let “service delivery moved to next month” silently update the forecast. A finance owner must decide whether that expectation is included in the approved forecast and whether any offsetting risk exists.
When a forecast is supplied, require separate labels:
- Actual: what was recorded.
- Budget: the approved comparison baseline.
- Forecast: the current forward estimate.
- Business note: the approved explanation or assumption.
This protects the management pack from a confident sentence that combines four different evidence types.
Use the same checks every month
A saved prompt is only one part of the monthly process. Keep these items together:
- a versioned variance-table template;
- the sign and materiality rules;
- the approved-note template and owners;
- the prompt or workflow version;
- arithmetic and source-trace checks;
- reviewer edits and unresolved items;
- the final approved commentary.
Each month, verify that account names, formulas, sign conventions and reporting periods still match. If the model or workflow changes, rerun a fixed set of prior cases. OpenAI’s API documentation notes that model outputs are variable and recommends pinned versions and evals where consistent behavior matters. Anthropic also recommends testing before model migrations. (OpenAI compatibility guidance; Anthropic model deprecations).
This does not make the model deterministic. It gives the finance team a way to detect a material change before the commentary reaches management.
Review before the words leave finance
The reviewer should be able to answer five questions:
- Do all totals and percentage changes recalculate?
- Does each stated cause point to an approved note?
- Are timing movements distinguished from sustainable performance?
- Are unexplained material variances visible?
- Are actual, budget and forecast kept separate?
If the answer to any question is no, the commentary is still a draft.
Claude and ChatGPT can reduce the effort required to structure and rewrite commentary. The finance team still owns the numbers, explanations and final judgment.
Poorna Reddy writes practical AI methods for analysts and managers who need outputs they can trace and check. Follow Poorna on LinkedIn and visit Timo for more worked examples.
