Finance & Accounting

How to generate financial report summaries with AI

The short answer

To generate financial report summaries with AI, pull final statements from your accounting system, compute every variance, margin and ratio in code, and pass the model a fact sheet of labeled numbers plus a short note of known business events. The model writes the narrative for a specific audience, an automated check confirms that every number in the draft exists in the fact sheet, and a controller edits the draft before it is sent.

What this automation does

The numbers come from code and the words come from the model, and nothing goes out until both have been checked.

  1. Pull final numbers. Once the period is closed, the workflow pulls the P&L, balance sheet and cash summary for the period, the prior period, the same period last year and the budget, from QuickBooks Online, Xero or NetSuite.
  2. Build the fact sheet. Code computes every number the summary might mention, including changes in dollars and percent, gross and net margin, operating expense ratios, days sales outstanding and cash runway, and gives each fact an ID and a label.
  3. Add context. The controller adds a few bullets of known events in a short form, and the workflow attaches the largest movements by customer, vendor or account.
  4. Draft for the audience. The model receives the fact sheet, the context and an audience template, and writes the summary in that structure, using only facts it was given.
  5. Verify the numbers. A check extracts every number from the draft and confirms each one matches a fact in the sheet, allowing for rounding. Drafts with unmatched numbers are regenerated or flagged.
  6. Edit and send. The draft lands in a Google Doc next to the statements. The controller edits and sends it, and the final version is saved so next month’s draft can follow the same voice.

When it is worth building

It is worth building when someone spends hours each month writing the same kind of commentary, or when the commentary never gets written and owners receive a spreadsheet they do not read. It also helps when several audiences need different versions of the same numbers.

If you produce one short summary a quarter, writing it by hand with an AI assistant open next to you is fine. If your books close late or keep changing after close, fix that first with month-end close reporting, because a well-written summary of the wrong numbers is worse than none. If leaders mostly want to ask questions of the data rather than read a summary, natural-language SQL reporting may fit better.

Architecture

LayerWhat we useWhy
Statement pullQuickBooks Online and Xero report endpoints through n8n, NetSuite through its REST web servicesFinal, closed numbers straight from the ledger
Fact sheetA code step that writes labeled facts to Google Sheets or PostgresEvery figure the model may cite is computed exactly and reviewable
Context formA short form or doc the controller fills in at closeGives the model real causes instead of guesses
DraftingClaude Opus 5.5 or Sonnet 5.5 through the APIStrong at structured, restrained business writing that follows a template
Number checkA code step that parses numbers in the draft and matches them to factsCatches invented or mis-transcribed figures before a person reads the draft
OutputGoogle Docs, or email for internal audiencesEasy to edit, comment on and keep a history of what was sent

How to build it

  1. Collect three past summaries. Use the best summaries your team has written. They define the target structure, length and tone better than any instruction.
  2. List the facts. From those summaries, list every kind of number that appears. That list becomes the fact sheet specification, computed in code for every period.
  3. Set materiality rules. Define when a change is worth mentioning, such as a dollar floor and a percent change together. Mark small-base percentages, like a 400 percent rise on a $200 line, as not reportable.
  4. Write audience templates. For each audience, specify sections, length, what to include and what to exclude. Department heads, for example, should not see payroll detail outside their area.
  5. Write the prompt. Tell the model to cite fact IDs inline (they are stripped before display), to say “cause unconfirmed” when no context explains a change, and to describe direction correctly for expenses, where down is usually good.
  6. Build the number check. Parse numbers, percentages and currency from the draft, normalize rounding and match each to a fact. Fail on any unmatched number.
  7. Run three periods back. Generate summaries for past months and have the controller compare them with what was actually sent before going live.

What breaks in production

  • Invented causes. Without context, the model explains a revenue drop with a plausible story. The “cause unconfirmed” rule and the context form are what prevent this. Watch for vague causal phrases in review.
  • Direction errors. “Expenses fell 12 percent, a concern” is a common slip. Label each fact with whether an increase is favorable and include that in the fact sheet.
  • Rounding mismatches. The statement shows $1,248,503 and the draft says $1.2 million. The number check must understand rounding conventions or it fails good drafts.
  • Fiscal calendars. A fiscal year that does not match the calendar year leads to wrong labels such as “Q3”. Pass period labels as facts and forbid the model from computing them.
  • Pulled before close. A draft built on preliminary numbers gets sent. Trigger only on the closing date or an explicit “final” flag.
  • Tone drift. Summaries become steadily more upbeat. Keep past approved summaries as examples and refresh them every quarter.

Timeline and cost

A single company with one or two audience templates usually takes one to three weeks, including the back-test. Lumeor builds it for $3,000 to $9,000, depending on the number of entities and audiences and whether you want board or lender versions with extra review steps. Model usage is a handful of calls per period, so running costs are negligible next to hosting. If you are choosing an AI assistant for your finance team more generally, ChatGPT vs Claude for business compares the two for everyday work.

How to measure success

  • Controller minutes from final numbers to sent summary
  • Sentences changed during review, trending down over the first few months
  • Drafts blocked by the number check, and why
  • Summaries delivered by the agreed day of the month
  • Follow-up questions from readers, which should shift from “what happened” to “what should we do”

Frequently asked questions

Can I just paste my P&L into ChatGPT or Claude?

For a one-off look, yes, using a business plan rather than a free consumer account. For a monthly report people rely on, a workflow is safer. It pulls final numbers directly, computes the math in code, applies the same structure every month and checks the draft for numbers that do not appear in the source.

Why not let the model calculate the variances?

Language models can make arithmetic and sign errors that read confidently, and a wrong margin in a board report damages trust quickly. Code computes every figure exactly. The model's job is to choose which facts matter and explain them clearly, which is what it does well.

How does the AI know why revenue changed?

It only knows what you tell it. The workflow supplies the computed changes, the biggest movements by customer or account where available, and a short note from the controller about known events, such as a price increase or a large one-off order. If none of those explain a change, the draft says the cause is unconfirmed.

Can different audiences get different summaries?

Yes. Each audience gets its own template that controls length, tone, which statements are included and which details are excluded. Owners might see a full summary, department heads only their own lines, and lenders a covenant-focused version that a person always reviews before sending.

Should these summaries go out automatically?

Internal team summaries can, once you trust them. Anything sent to lenders, investors or a board should always be reviewed and sent by a person. The automation's job is to turn a two-hour writing task into a fifteen-minute edit.

Next steps