Quick answer
To write a financial narrative using AI, add a Driver column to your variance table holding the operational cause of each material line, mark unknown ones openly, and ask the model for prose only. Your spreadsheet does the arithmetic; the AI writes sentences from causes you supplied yourself.
It is 8pm on close night, you have a forty-row variance table open, and someone needs three paragraphs explaining it by morning. If you have ever tried to write a financial narrative using AI at that exact moment, you already know the failure mode. You paste the table, ask for commentary, and get back sentences that turn “OpEx over by $62k” into “OpEx experienced an increase of $62k.” Same information, more words, no insight.
That is not the tool being weak. It is the tool being asked to do something it structurally cannot do — know why your marketing spend went over. That cause lives in a vendor email, a delayed hire, a contract renegotiation. It is nowhere in the spreadsheet, so the model either skips it or quietly makes one up. One structural change to what you hand over fixes most of it. Here is what you get by the end:
- A method that keeps the arithmetic in your spreadsheet and the writing in AI, so numbers never drift
- Four prompts you can save once and reuse every close
- A pre-send check that catches invented causes before your CFO does
- A straight answer on what you can and cannot paste into which account
None of it requires new software, and none of it requires you to trust the output further than you should.
Will this work for you?
What leadership actually reads
A financial narrative is the short written explanation that sits beside your numbers and answers three questions: what changed, why it changed, and what happens next. Anything that only answers the first question is a data recap, and executives skim past it because the table already told them that.
Everyone who sets out to write a financial narrative using AI is really trying to close the gap between those two things, and the gap is almost always the middle question. Most finance business partners will tell you the same thing: reports don’t get rejected because a figure is wrong. They get rejected because nobody explained the operational reason behind it, so the reader can’t act on anything.
✕ Data recap — the number, restated
"Marketing OpEx was $412k against a budget of $350k, representing an unfavourable variance of $62k or 17.7% for the quarter."
✓ Narrative — the number, explained
"Marketing ran $62k over budget. Two-thirds of that is a media contract we renewed early to lock last year's rate, which pulls Q4 spend forward rather than adding to it. The remaining $20k is a genuine rate increase from our agency and will repeat."
Read those twice. The second version contains no extra data. It contains one extra fact — the reason — that you already knew and the spreadsheet never held. That is the whole problem in miniature, and it is what the rest of this guide is built around.
Leadership reads for the middle column. A recap stops at the first.
Your data before your prompt
Before any of this touches a real month-end file, settle the account question. This is where finance teams get themselves into genuine trouble, and the advice circulating online is mostly wrong.
The common belief is that a free plan trains on your data and a paid plan does not. That is not how it works. According to OpenAI’s own data controls documentation, personal Free, Plus and Pro accounts all have data sharing switched on by default, with an opt-out under Settings, and it is the Business, Enterprise, Edu and API tiers that do not train on your content by default. The dividing line is a personal account versus a work account — not the price you pay.
The ChatGPT Settings screen open on Data Controls, showing the 'Improve the model for everyone' toggle.
Crop to the settings panel only. Hide the account email, profile name, and the chat sidebar.
File: chatgpt-data-controls-training-toggle.png · Alt: "Data Controls settings panel showing the model training toggle switched off"The Microsoft side works differently but lands somewhere similar. Microsoft’s Copilot privacy documentation states that prompts, responses and data accessed through Microsoft Graph are not used to train its foundation models, and that Copilot only surfaces organisational data the individual user already has permission to open. That is a licensed work product, though — it is not the free chat sitting in your browser.
Whatever account you are on, the practical rule below covers you. It is worth reading alongside our fuller guide on what changes when you use AI on a work account.
Anonymised tables, category labels, percentages with no entity names.
Published results, anything already in a public filing.
Real cost centre names, headcount figures, internal margin detail.
Unreleased results before announcement, named client contract values, payroll-level data.
Anonymising takes two minutes
You rarely need real names for the AI to write good commentary. Replace cost centre names with generic labels, strip account codes, and drop any column the narrative will not reference. The variance amounts and percentages carry all the meaning; the identifiers carry all the risk.
A quick honesty note on anonymising.
- It reduces risk, it does not remove it. A distinctive number can still identify your company to someone who knows the sector.
- Check your own policy first. Some finance functions ban external AI tools for management accounts outright, whatever the settings say.
- Unreleased results are a different category. Anonymising does not make pre-announcement numbers safe to paste. Wait until they are public, or keep them inside a work account.
The Driver Column Method explained
Here is the change that fixes the blank-commentary problem for good, and it happens before you write a financial narrative using AI at all. Before your variance table reaches any AI tool, you add one extra column — Driver — holding the operational cause you already know for each material line, and you write “Driver unknown” wherever you genuinely don’t know. This is the Driver Column Method we teach at PromptPeakAI.
Two things happen the moment you do this. The model stops guessing at causes, because the cause is now sitting in the data it was given. And the lines where you wrote “Driver unknown” become a visible to-do list — the exact questions you need to ask a department head before this goes anywhere near a board pack.
The Driver Column Method: your spreadsheet owns the maths, AI owns the sentences.
The reason step one matters as much as step two: language models are built to produce fluent text, not to be a calculator. Ask one to compute a variance percentage and draft commentary in the same breath and you have introduced an arithmetic risk you had no reason to take. Your spreadsheet already did that job perfectly. Hand over finished numbers and ask only for sentences.
Write the financial narrative using AI
Four steps, start to finish. First run takes about half an hour because you are building the table shape and saving the prompts. After that it is roughly ten minutes a close.
Lock the numbers in your spreadsheet
Filter to material lines only — a threshold like 5% or a fixed currency amount keeps this to eight or ten rows instead of forty. Calculate variance amount and variance percentage as columns, so nothing is left for the model to work out. Then flatten it: no merged cells, no nested headers, one header row. If your source file is messy, our guide to cleaning up a spreadsheet before analysis covers the tidy-up.
You should now have a single flat table of eight to twelve rows, every variance already calculated.
Add the Driver column
Add one column at the end. For each row, write the operational cause in plain words — not accounting language. “Agency rate rose 8% at renewal” beats “unfavourable price variance.” Where you don’t know, write “Driver unknown” and leave it. Resist the urge to fill it with a plausible guess; that guess will end up in the narrative wearing the authority of a fact.
A flat variance table in a spreadsheet with an added final column headed 'Driver', containing short plain-English causes and one row reading 'Driver unknown'.
Crop to the table range only. Replace real cost centre names with generic labels before capturing.
File: variance-table-with-driver-column.png · Alt: "Variance table with an added Driver column explaining the cause of each variance"Mark timing against structural
Add one more short column, or a tag inside the Driver text, splitting each cause into timing (it moves between periods and washes out) or structural (it is the new baseline and repeats). This single distinction is what turns commentary into something leadership can plan against, and no model can infer it from a number.
A $62k overspend that is entirely timing is a non-event. The same $62k that is structural changes next year’s budget. Identical figure, opposite decision.
Ask for narrative only
Now the prompt. Note what it does not ask for: no calculations, no root-cause analysis, no interpretation beyond what the table states. It is a writing brief, and the constraint block at the bottom does most of the work — the same idea covered in our guide to telling AI what not to do.
You are an FP&A manager writing variance commentary for non-finance executives. Below is a variance table. Every figure in it is final and already calculated. Write three short paragraphs: 1. The headline — net effect on the total, in one or two sentences. 2. The drivers — group the material variances by cause, and state for each whether it is timing or structural. 3. What it means next period — the implication that follows from paragraph 2. Rules: - Use only what appears in the table. Do not calculate anything. - Where the Driver column says "Driver unknown", write "cause not yet confirmed" and do not suggest a reason. - Plain business English. No accounting jargon, no words like impressive, robust, strong or challenging. - Under 250 words total. TABLE: [paste your table here]
You should now have a draft where every stated cause traces back to a Driver cell you wrote yourself.
The Driver column is the only place the 'why' can come from.
Three prompts for common finance moments
The core prompt handles a standard budget-versus-actual table. Three variations cover most of what else lands on a finance calendar. Each assumes you have already done the Driver column work, and each is written to be saved and reused rather than retyped — a habit worth building alongside the rest of our free workplace AI templates.
You are writing the opening summary of a quarterly board pack. Below are the quarter's headline figures and the confirmed drivers behind them. Write 200 words, three paragraphs: - Performance against plan, and the single biggest reason for the gap. - Cost control: what held, what did not, and which of those repeats. - The one risk the board should be watching next quarter. Rules: - Every claim must map to a line in the input. Do not add context I have not given you. - Short declarative sentences. No hedging, no adjectives of enthusiasm. - If a driver is marked unconfirmed, say so plainly rather than omitting the line. INPUT: [paste figures and drivers here]
Rewrite the accounting explanation below for a department head with no finance background. Two sentences maximum. Tell them what happened to their budget and why, in operational terms. Do not use the words accrual, amortisation, true-up, deferral or capitalisation. Then add one line: "What this means for you: ..." ACCOUNTING NOTE: [paste the note here]
Below is a variance narrative I am about to send to my CFO. Do not rewrite it. Instead, list the three questions a sceptical CFO is most likely to ask about it, and for each one state which specific sentence prompts the question. Be blunt. I would rather find the weak spot now. NARRATIVE: [paste your draft here]
That third one is the highest-value prompt in this article, and almost nobody uses it. Turning the model into a critic of the draft it just wrote catches soft claims and unsupported causes far more reliably than reading your own work at 9pm.
Where AI gets financial commentary wrong
Time to be straight about the limits of writing a financial narrative using AI. There is a real productivity gain here — a narrative that used to take two hours can reasonably take twenty minutes once the table shape is settled — but that gain comes from the drafting, not the thinking. Four things stay yours.
What no prompt will do for you:
- Knowing which variance actually matters. A model weighs a $5k line and a $500k line by how interesting the words are, not by materiality. You set the threshold.
- Judging what leadership can hear. Whether a miss gets framed as a warning or a note is a read on the room, and the room is not in your prompt.
- Owning the number. Your name goes on it. Microsoft's own Copilot documentation says plainly that generated responses are not guaranteed to be factual and should be reviewed before they go to others — which is exactly right, and applies to every tool here.
- Confirming a cause. AI cannot phone the marketing director. Until someone does, "Driver unknown" is the honest entry.
There is a second, quieter risk. A well-written wrong explanation is far more dangerous than an obviously thin one, because it survives review. Fluent prose reads as considered prose, and a plausible invented driver can travel a long way through an organisation before anyone tests it. Our guide to why AI tools state false things confidently goes deeper on the mechanism.
Which tool you use matters less than most comparison articles suggest. The differences that actually show up in this workflow are narrow.
| Where you work | What it gives you | What to watch |
|---|---|---|
| Web chat tool | Fastest for pasted tables and iteration | Personal accounts share data by default |
| Copilot inside Excel | No copy-paste step at all | Needs a licensed work plan |
| A long-document tool | Handles a full reporting pack in one go | Still cannot see causes you did not write |
If you live inside spreadsheets all day, running this natively is the bigger win — our walkthrough of using Copilot inside Excel shows how the same steps work without leaving the file.
Check it before the CFO does
A financial narrative using AI is a draft until you have checked it. Three gates, in order. Each one takes under a minute and together they catch nearly everything that would embarrass you in a review meeting.
Three gates between the draft and the person who signs it off.
Gate two is the one people skip and the one that matters most. Take each stated cause in the draft and physically point at the Driver cell it came from. If you cannot find one, the model supplied it — delete the sentence rather than trying to justify it. The same tracing discipline shows up in our guide to verifying AI output before you put your name on it.
✕ Invented cause, no source
"The travel overspend reflects a return to in-person client engagement following a period of reduced activity."
✓ Honest gap, flagged
"Travel ran $28k over. The cause is not yet confirmed — we are checking with the regional teams and will report back with the November pack."
The second version looks weaker on the page. It is stronger in the room, because nobody can knock it over with one question. Finance credibility is built on that distinction.
When the output still comes out wrong
| What you see | Why it happens | The fix |
|---|---|---|
| Numbers differ from your table | Model attempted arithmetic | Pre-calculate everything, ban calculation in the prompt |
| Causes you never wrote | Driver cells were blank | Fill every material row, including "Driver unknown" |
| Reads like a press release | No tone constraint given | Name the banned words explicitly in the prompt |
| Only restates the figures | Drivers were vague or generic | Rewrite drivers as specific operational events |
| File upload rejected or garbled | Merged cells or nested headers | Flatten to one header row, paste as plain text |
Most of these trace to the same root: something the model needed was missing, so it filled the space. The Driver Column Method works because it leaves fewer spaces to fill.
Where this fits in your reporting
Variance commentary is one layer of a reporting stack, and the same Driver principle holds at every level of it — the model writes from what you put in front of it, and the “why” is always something you carried in.
- Above it: the one-page executive summary that compresses the whole pack, and the board report that wraps both.
- Beside it: the analysis written for non-finance stakeholders, where the translation problem is the whole job.
- Below it: the raw numbers, and the wider discipline of turning any dataset into business language.
Try the whole thing once on a month you have already closed and reported, rather than on live figures under deadline. Write a financial narrative using AI for a period where you already know the right answer, then compare the draft against what you actually sent. That single comparison will tell you more than any guide about which part of your close was drafting and which part was judgment — and judgment is the part worth protecting.
Run the Driver Column Method on your next close
- Filter your variance table to material lines only, and calculate every variance in the spreadsheet first Add a final column called Driver and write the operational cause for each line in plain words Write "Driver unknown" wherever you genuinely do not know, and never guess Tag each driver as timing or structural, then ask the AI for narrative prose only Trace every cause in the draft back to a Driver cell before you send it