Spreadsheet Studio

What a monthly reporting pack should contain

The pages a management reporting pack needs, how to build budget vs. actual so people read it, the inputs it should run on, and the checks that keep month twelve as trustworthy as month one.

Updated September 2, 2026 · 7 min read

A monthly reporting pack is one document, the same shape every month, that lets an owner or a board answer three questions in ten minutes: did we make money, where did the cash go, and what is off plan. Most packs fail on the third question, because the budget vs. actual page was built for January and nobody has trusted it since March. This guide covers the pages a pack needs, how to build the variance page so people keep reading it, what the pack should run on, and the checks that keep month twelve as trustworthy as month one.

The pages

  1. One-page summary. Revenue, gross margin, operating profit, cash, and the three or four numbers this business lives on. Actual, budget, variance, prior year. If the reader stops here, they should still know what happened.
  2. Income statement. Actual against budget and against the same month last year, then year to date. Grouped the way you run the business (by location, by product line, by department), not the way the general ledger happens to be numbered.
  3. Budget vs. actual with commentary. Covered in its own section below. This is the page that earns the pack its keep.
  4. Cash. Opening cash, cash in, cash out by category, closing cash, and the next three months of the forecast so the reader sees where it is heading, not just where it was.
  5. Balance sheet summary. Cash, receivables, inventory, payables, debt, equity. Receivables and payables in days, so a collection problem shows up as a number moving rather than a balance that looks about the same as last month.
  6. KPIs. Whatever leads revenue in your business: pipeline, bookings, occupancy, orders, headcount. Each one with a target and a trend, at least six months wide.
  7. Appendix. The detail behind the summary, for the one reader who wants it. Nothing on the summary page should need the appendix to make sense.

Budget vs. actual, built so people read it

Every budget vs. actual page has the same five columns: the line, the actual, the budget, the variance in dollars and the variance as a percentage. The decisions that make the page useful are in how those five are handled.

  • Pick one sign convention and print it on the page. Either favorable variances are positive everywhere (revenue over budget is positive, cost over budget is negative) or the column is actual minus budget and the reader does the thinking. The first is kinder. Mixing them is how a page gets ignored.
  • Set a threshold for commentary. Any line off by more than, say, ten percent and five thousand dollars gets a sentence. The threshold is an input on the inputs sheet, and the pack flags the lines that cross it, so the writing is aimed rather than spread evenly over forty lines.
  • Show the month and the year to date side by side. A bad month inside a good year is a different conversation from a bad month inside a bad year.
  • Separate volume from rate where you can. Revenue below budget because you sold fewer units is a sales problem. Revenue below budget because you sold the same units at a lower price is a pricing problem. One line with one variance hides which it was.
  • Flex the budget if volume drives cost. If materials scale with units, compare actual cost with what the budget would have allowed at actual volume. Otherwise every busy month looks over budget on cost and every quiet month looks disciplined.

The commentary column is where the value is. Two sentences per flagged line: what happened and what, if anything, is being done. Written by the person who knows, typed into a yellow input cell, so the pack carries the story rather than an email thread carrying it.

What it runs on

A pack that has to be rebuilt every month gets rebuilt worse every month. The way to avoid that is to make the month a single input cell. Every page reads the reporting month from that one cell and looks up its numbers from a data sheet that holds the trial balance or general ledger export for every month so far. Closing the month means pasting one export and changing one cell.

That data sheet is the only place raw numbers live. The budget sits next to it in the same layout, by month, by account. A mapping table turns account numbers into the lines the pack shows, so a new general ledger account becomes one row in the mapping rather than a formula edit on six pages.

The checks

A pack needs a checks page too. The ones that catch real errors:

CheckWhat it catches
1Mapped lines sum to the trial balanceAn account that was added to the ledger and never mapped
2Net income on the summary equals net income on the income statementA summary page that was edited by hand
3Closing cash on the cash page equals cash on the balance sheetA cash page that drifted from the books
4Departments sum to the company totalA department that was renamed and dropped out of a SUMIF
5Budget total equals the approved budgetA budget line that was changed after approval

Each check is a rounded difference that must be zero, and each one is written with a fully qualified reference to the sheet it is checking. That last point sounds pedantic and is not: a bare cell reference in a formula on the checks sheet reads the checks sheet, so the check compares the wrong cell with itself and passes forever. We found two of those in our own dashboard template and the builder now refuses an unqualified reference outright. The full routine for proving a check can fail is in how to check a financial model you didn’t build.

The monthly rhythm

Agree a close date with whoever keeps the books, then a pack date a few business days after it. What you send each month is the trial balance or general ledger export and the commentary for the flagged lines. What comes back is the pack, with the month moved on, the checks green, and the flagged lines already marked.

On the subscription a monthly pack is a standing request: the template is built once around your chart of accounts, and each month’s refresh is a 48-hour turn. It opens on a README, keeps every assumption on an inputs sheet, and ends on a checks sheet, like every workbook we ship. The plans are on the home page.

Spreadsheet Studio

Want this built for your numbers?

Every workbook is recalculated with a formula engine, its checks are proved able to fail, and a second pass re-derives the headline numbers before it ships.

Not ready? Get a free teardown of a sheet you already rely on.