← All workflows

Workflow · June 17, 2026

Turn a Monthly Trial-Balance Extract into a Board-Ready Variance-Analysis Narrative

✓ TestedFinanceFor Finance
Time saved2-3 hours per monthly close

The task

You're the controller or senior FP&A lead. The books are closed, the trial balance is locked, and the board package goes out Friday. You need the variance commentary — actuals vs. budget and vs. prior month — written in clean, defensible language that won't get torn apart by the audit committee.

Before AI

Pivot the TB extract in Excel, build a variance column, eyeball anything north of your materiality threshold, then write 1-2 sentences per material line. Most controllers I know block 2-3 hours for this, then another 30 minutes when the CFO sends it back with "can you explain payroll better?" Variance analysis is the process of comparing actual financial results to budgeted or expected figures to identify discrepancies and understand their causes. The math is easy. The narrative — tying the number to a business reason in language a board will read — is what eats the afternoon.

This workflow does the triage and the first draft. You still review, but you're editing, not staring at a blank page.

The workflow

Step 1 — Clean the extract and flag materiality

Paste your trial-balance extract (current month actual, current month budget, prior month actual, by account) into the prompt below. The model will normalize it into a variance table and flag what's actually worth talking about. A good rule of thumb from Numeric's variance analysis guide is to set both a dollar floor and a percentage floor so you don't waste commentary on a 40% swing in a $200 account.

Prompt
You are a senior FP&A analyst preparing variance analysis for a monthly close package. I will paste a trial-balance extract below containing account name, current-month actual, current-month budget, and prior-month actual.

Do the following:

1. Parse the data into a clean table with these columns: Account, Category (Revenue / COGS / Opex / Other), Actual, Budget, Prior Month, $ Var vs Budget, % Var vs Budget, $ Var vs Prior Month, % Var vs Prior Month.
2. Apply a materiality filter: flag any line where the absolute $ variance vs budget is >= $25,000 AND the % variance vs budget is >= 5%. Also flag any line where the $ variance vs prior month is >= $50,000 regardless of percentage.
3. Output two sections:
   - "Full variance table" (all accounts)
   - "Material variances to explain" (only the flagged lines, sorted by absolute $ variance vs budget, descending)
4. For each flagged line, add a one-line "hypothesis" column suggesting the most likely business driver based on the account name and the direction of the variance (e.g., "Revenue under budget — likely volume or timing of a large deal").

Do not write narrative commentary yet. Just the tables.

Trial-balance extract:
Sample input
Acme Widgets Inc. — Trial Balance Extract, Month Ended May 2026 (USD)

Account                          | Actual      | Budget      | Prior Month
---------------------------------|-------------|-------------|------------
Product Revenue – Hardware       | 1,842,300   | 2,050,000   | 1,910,400
Product Revenue – Software       |   612,500   |   525,000   |   498,200
Services Revenue                 |   188,400   |   200,000   |   195,100
COGS – Hardware                  |   985,600   | 1,020,000   |   988,200
COGS – Software                  |    74,300   |    65,000   |    61,800
COGS – Services                  |   142,800   |   135,000   |   138,400
Salaries & Wages                 |   612,000   |   590,000   |   601,500
Payroll Taxes & Benefits         |   148,900   |   142,000   |   146,200
Sales Commissions                |    94,200   |   110,000   |   102,300
Marketing – Programs             |   118,400   |    85,000   |    72,600
Marketing – Events               |    62,800   |    25,000   |    18,900
Travel & Entertainment           |    41,200   |    35,000   |    28,400
Software & Subscriptions         |    38,900   |    36,000   |    37,200
Professional Fees – Legal        |    72,400   |    25,000   |    19,800
Professional Fees – Audit        |    18,000   |    18,000   |    18,000
Rent & Facilities                |    52,000   |    52,000   |    52,000
Depreciation                     |    44,300   |    44,000   |    43,800
Interest Expense                 |    21,600   |    18,000   |    17,400
FX Gain / (Loss)                 |   (14,200)  |         0   |     3,100
Other Income                     |     5,400   |     2,000   |     4,200

Step 2 — Draft the narrative

Now turn the flagged lines into board-ready prose. The key instruction is tone: audit committees want cause, magnitude, and outlook in that order — not adjectives. Variance analysis isn't just about identifying differences but understanding what's driving them. Without context, a variance is just a number.

Prompt
Using the "Material variances to explain" table from the previous step, draft the variance-analysis section of our monthly board package.

Structure:
- Open with a 2-3 sentence executive summary covering total revenue vs budget, total opex vs budget, and the headline takeaway.
- Then a "Revenue" subsection, a "Cost of goods sold and gross margin" subsection, and an "Operating expenses" subsection.
- Inside each subsection, write one short paragraph per material variance. Each paragraph must follow this pattern: (1) the number and direction, (2) the most likely driver based on the hypothesis you generated, (3) one sentence on whether this is timing, structural, or one-time, (4) a forward-looking sentence if warranted.
- Close with a "Below the line" paragraph covering interest, FX, and other income if any are material.

Tone rules:
- Board-appropriate: precise, neutral, no hype words ("strong," "robust," "challenging") unless quantified.
- Always state the variance in BOTH dollars and percent on first mention of each line.
- Where the hypothesis is genuinely uncertain, say "pending investigation by [function]" rather than inventing a reason.
- No bullet points inside paragraphs. Plain prose.
- Length target: 350-500 words total.

Step 3 — Stress-test it before you send

Before the draft goes to the CFO, run it through a critic pass. This catches the two things reviewers always flag: unsupported causal claims, and variances you addressed in one section but contradicted in another.

Prompt
You are now the audit committee chair reviewing the variance narrative you just produced. Critique it on three dimensions:

1. Causal claims: list every sentence that asserts a business cause for a variance. For each, mark it GREEN (clearly supported by the data given), YELLOW (plausible but speculative — recommend softening language), or RED (not supported — recommend removing or replacing with "pending investigation").
2. Internal consistency: flag any place where the narrative contradicts itself or the variance table.
3. Missing items: list any line from the "Material variances to explain" table that did not get addressed in the narrative.

Then produce a REVISED narrative that incorporates your own feedback. Keep the same structure and length target.

Gotchas

  • The hypothesis column is a starting point, not a fact. The model will guess "likely sales commission timing" when the real answer is "we hired three reps in April." Always overwrite hypotheses with what you actually know from the close meeting before Step 2 — or accept that Step 3 will downgrade them to "pending investigation."
  • Materiality thresholds are company-specific. The $25K / 5% / $50K floors in Step 1 are placeholders. Match them to whatever your board package actually uses, and to your audit firm's expectations.
  • Trial-balance extracts with reclasses or accruals booked late will skew prior-month comparisons. If you did a big reclass in May, the prior-month variance will look dramatic and the model will write a confident-sounding paragraph about it. Strip reclass lines before pasting, or add a note in the prompt.
  • No PII or client identifiers. Account names are fine. Customer names in account descriptions are not — strip them before pasting if you're using a model that isn't inside your tenancy.
  • The model cannot see your subledger. It will not catch a duplicated invoice or a misposted journal. This drafts commentary on numbers you've already validated; it does not validate them.

Time saved

Roughly 2-3 hours per monthly close for a controller who already has the TB extract ready. The Step 1 table replaces the pivot-and-filter pass (~30 min). Step 2 replaces the blank-page first draft (~90 min for a 400-word narrative across 8-12 material lines). Step 3 replaces the first round of CFO ping-pong (~30 min). You still own the review, the numbers, and the final word — but you're editing prose instead of writing it from scratch.

What we got when we ran it

We executed every prompt above, in order, against the sample input (model: claude-sonnet-4-6). Outputs below are real and unedited apart from length truncation.

Step 1 output

Full Variance Table > Convention: For **Revenue** accounts, Actual > Budget = **favorable** (positive). For **Cost** accounts (COGS / Opex / Other-expense), Actual > Budget = **unfavorable** (negative shown in parentheses). $ Var vs Budget = Actual − Budget for Revenue; Budget − Actual for Costs. % Var vs Budget = $ Var / Budget. Same sign convention applied to Prior Month variances. | # | Account | Category | Actual ($) | Budget ($) | Prior Month ($) | $ Var vs Budget ($) | % Var vs Budget | $ Var vs Prior Month ($) | % Var vs Prior Month | Materiality Flag | |---|---------|----------|------------|------------|-----------------|--------------------:|----------------:|-------------------------:|---------------------:|------------------| | 1 | Product Revenue – Hardware | Revenue | 1,842,300 | 2,050,000 | 1,910,400 | **(207,700)** | **(10.1%)** | **(68,100)** | **(3.6%)** | ⚑ Budget & Prior Month | | 2 | Product Revenue – Software | Revenue | 612,500 | 525,000 | 498,200 | **87,500** | **16.7%** | **114,300** | **22.9%** | ⚑ Budget & Prior Month | | 3 | Services Revenue | Revenue | 188,400 | 200,000 | 195,100 | **(11,600)** | **(5.8%)** | **(6,700)** | **(3.4%)** | — | | 4 | COGS – Hardware | COGS | 985,600 | 1,020,000 | 988,200 | **34,400** | **3.4%** | **2,600** | **0.3%** | — | | 5 | COGS – Software | COGS | 74,300 | 65,000 | 61,800 | **(9,300)** | **(14.3%)** | **(12,500)** | **(20.2%)** | — | | 6 | COGS – Services |

…output truncated at 250 words.

Step 2 output

# Acme Widgets Inc. — Monthly Variance Analysis ### Month Ended May 2026 | Board Package --- ## Executive Summary Total revenue came in at $2,643,200, unfavorable to budget by $131,800 (4.7%), driven primarily by a shortfall in Hardware that was partially offset by an above-budget Software performance. Operating expenses were unfavorable to budget by $127,700 (8.3%), with the overrun concentrated in three accounts — Legal, Marketing Events, and Marketing Programs — that together account for $118,600 of the total opex variance. The net effect is meaningful pressure on operating income for the month; however, the Software revenue beat and the commission underspend that follows from lower Hardware volumes provide a partial natural offset. --- ## Revenue Product Revenue – Hardware came in at $1,842,300, unfavorable to budget by $207,700 (10.1%) and down $68,100 (3.6%) from April. The most likely driver is a large deal that slipped out of May, either through a delayed customer purchase order or a push to a later close date. This is assessed as a timing variance rather than a structural demand issue, though that distinction requires confirmation from Sales. The pipeline for June should be reviewed by the Sales team to determine whether the slipped deal is recoverable within Q2 or will fall into Q3. Product Revenue – Software came in at $612,500, favorable to budget by $87,500 (16.7%) and up $114,300 (22.9%) versus April. The most probable driver is an unbudgeted license expansion, upsell, or early renewal pulled forward from a future month.

…output truncated at 250 words.

Step 3 output

Audit Committee Review --- ### 1. Causal Claims Assessment | # | Sentence | Rating | Reason / Action | |---|----------|--------|-----------------| | 1 | "driven primarily by a shortfall in Hardware that was partially offset by an above-budget Software performance" | 🟢 GREEN | Directly supported by the variance table figures. | | 2 | "The most likely driver is a large deal that slipped out of May, either through a delayed customer purchase order or a push to a later close date." | 🟡 YELLOW | Plausible for a $207K hardware shortfall but no CRM or pipeline data was provided to support it. Soften to "may reflect." | | 3 | "This is assessed as a timing variance rather than a structural demand issue" | 🔴 RED | No data supports this classification. The narrative itself immediately concedes uncertainty. Remove the assertion; retain only the caveat. | | 4 | "The pipeline for June should be reviewed by the Sales team to determine whether the slipped deal is recoverable within Q2 or will fall into Q3." | 🟢 GREEN | A reasonable forward-looking action item, not a causal claim. Appropriate. | | 5 | "The most probable driver is an unbudgeted license expansion, upsell, or early renewal pulled forward from a future month." | 🟡 YELLOW | Plausible but speculative without contract or booking data. Soften to "may reflect." | | 6 | "If this reflects genuine pull-forward, a corresponding headwind in June or July should be anticipated"

…output truncated at 250 words.

---

This content is for informational purposes only and is not financial, investment, or accounting advice. Verify outputs against authoritative sources before use.

Source: Agentic Daily

Exact prompts included · Untested steps are marked · Corrections are public