River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Monthly Management Report Template

Three documents and five sheets, built around a register where every action names the line it must move, by how much, and by when.

Free download  ·  No account needed

Action Register Procedure

[Entity] — three fields, or it is a note

The commentary resets every month. The register does not.

FieldWhat goes in it
Line or metricOne line on the departmental P and L, or one flash metric. Not a theme
Committed effectA monthly dollar amount, with a direction. Not a percentage
Month dueOne calendar month. Not a quarter

The distinction this makes, on one real item

NoteWe need to tighten up on delivery
ActionDuluth delivery cost down 14,000 a month from April, by routing every drop into one daily run

The second one can be wrong, which is what makes it worth writing down. Notes are often true and belong in the commentary. They never get a status column, because there is nothing to score.

Tolerance, fixed when the action opens

lands at=committed amount less 10 percent, floor 1,000

A threshold that can be revised once the result is known is not a threshold. If the commitment turns out to be unreachable, that is what versioning is for: v2 carries the smaller number and v1 stays readable.

Four verdicts, computed off the ledger

OpenInside the month it was due
LandedThe named line moved far enough, by the month named
MissedIt did not. Stays in the register with a cause, and ages
SupersededReplaced or withdrawn with a reason. Never deleted

Nobody is asked whether their action worked. The register reads the line.

Page one for this query already has action items. The free management report templates carry them with an owner and a due date, and one of them tells you to review progress on last month's actions before you write this month's. That is where all of them stop. Progress is what the owner says happened. Nothing on page one names the line an action is supposed to move, or the amount, or checks the ledger afterwards.

Here an action needs three fields or it is a note: the line, the monthly dollar amount, the month due. Halvorsen Equipment Rental, an illustrative four-branch equipment rental company, put 34 actions through nine months of that. Seven more items were proposed and stayed notes because they could not name a line and an amount. Of the 27 actions that came due, 19 landed and 8 missed, and 77,600 of committed dollars never reached a ledger line.

The verdict comes off the ledger, so a miss gets the line decomposed before it gets a cause. The Rochester branch's base wages fell 14,300 against a commitment of 15,000 while overtime on the same line rose 15,200, so the line moved 2,800 and the action missed. Federal audit rules keep an uncorrected finding on the schedule with the reasons for its recurrence, and COSO's framework sends a finding to whoever can act on it. The outward-facing version of the same month is a board package.

Nine months of a register, scored against the ledger

Sixteen rows, the aggregates, two misses worked through in full, and the departmental read the actions attach to.

Action Register

Halvorsen Equipment Rental, Inc. Sixteen of 34 rows at September 2026, month nine. An illustrative four-branch equipment rental company.

ActionDepartmentLineCommittedDueRealisedVerdict
A-01Sioux FallsRental revenue34,000Apr36,200Landed
A-02Shop and FleetRepair labour(18,000)Mar(19,400)Landed
A-04DuluthDelivery cost(14,000)Apr(3,500)Missed, 3
A-07RochesterDirect labour(15,000)Jun(2,800)Missed, 5
A-10Eau ClaireMerchandise revenue7,500Jun1,200Missed, 1
A-11Eau ClaireRental revenue12,000Sep12,300Landed, v2
A-13CorporateTemporary labour(16,000)Jun(17,200)Landed
A-14Sioux FallsDirect labour(12,600)Jul0Missed, 4
A-17CorporateBad debt(9,800)Aug(2,100)Missed, 1
A-20Shop and FleetOutside repair(11,200)Aug(4,300)Missed, 2
A-22Eau ClaireDirect labour(8,800)Sep0Missed, 6
A-24DuluthMerchandise revenue6,400SepSuperseded
A-25RochesterUsed equipment margin14,000Sep15,100Landed
A-26Sioux FallsRental revenue18,000Sep5,400Missed, 3
A-28DuluthDirect labour(11,400)Sep(12,000)Landed
A-32Eau ClaireRental revenue16,400DecOpen

Six causes, one per miss. The two worth the exercise are 5, the effect was offset elsewhere on the same line, and 6, the line was the wrong line. Neither is visible to a process that asks an owner for a status instead of measuring one.

What nine months of commitments produced

 CountCommittedRealised
Landed19252,100271,000
Missed896,90019,300
Superseded319,200
Open, inside their month445,000
Scored27349,000290,300
Items proposed across the nine months41
Could not name a line and an amount, so notes7
Realisation on scored dollars83.2%
Hit rate on scored actions70.4%
Committed dollars that never appeared77,600

Read those two rates together. Landed actions overshot by 18,900, so realisation looks healthy in a run where three actions in ten missed.

The eight misses, aged

ActionOpenedDueMonths past dueCommittedRealisedCause
A-04FebApr514,0003,5003
A-07MarJun315,0002,8005
A-10MarJun37,5001,2001
A-14MayJul212,60004
A-17MayAug19,8002,1001
A-20JunAug111,2004,3002
A-22JulSep08,80006
A-26AugSep018,0005,4003
Three months or more336,5007,500 

Whose commitments turn up

DepartmentScoredLandedHitCommittedRealisedRate
Duluth4375%62,00056,30091%
Rochester4375%64,00056,50088%
Eau Claire4250%38,50024,10063%
Sioux Falls4250%73,60051,00069%
Shop and Fleet5480%57,50054,60095%
Corporate6583%53,40047,80090%
Total271970%349,000290,30083%

A-07, and the line that barely moved

Rochester direct labour · committed (15,000) by June · lands at (13,500)

The manager said the action worked. Finance said it missed. Both were right, and the decomposition is why.

ComponentMayJuneChange
Base wages, 34 hourly mechanics and drivers148,400134,100(14,300)
Overtime24,60039,80015,200
Contract drivers18,20017,900(300)
Payroll taxes and benefits44,30040,900(3,400)
Line total235,500232,700(2,800)

Two ways to read the same month

Measured onMovementThresholdVerdict
Base wages alone(14,300)(13,500)Would have landed
The line, which is what was committed(2,800)(13,500)Missed

Two mechanics left in May and the remaining crew covered the hours. Base wages came down almost exactly as promised and overtime ate all of it.

Cause 5, executed and offset elsewhere on the same line. The register records the line, because the line is what the department is accountable for and a saving that never reaches it is not a saving.

The value is not the verdict. It is that October's action targets overtime and a backfill, instead of somebody spending a fourth month on base wages. Without the decomposition this is a meeting where one person insists it worked and the other insists it did not, and the month after that looks the same.

A-11, and the commitment that was never reachable

Eau Claire rental revenue · skid steer class, 27 units

Before anybody argues about execution, work out what full execution was worth.

Version one, opened April, committed 18,000 by June

May, the month before the action96,400
June, the month named101,900
Movement5,500
Shortfall against v112,500

The ceiling test

Units re-rated by June9 of 27
Realised per unit611
That rate across all 27 units16,500
Version one committed18,000

The action could not have landed if every unit had been re-rated on day one. It was oversized by 1,500 before anybody touched it, so nine months of chasing execution would have found nothing.

What the population actually was

Six of the 27 units sit on open-ended contracts that only re-rate at renewal. They were never available to this action, which leaves 21.

Version two, committed 12,000 by September

Lands at10,800
September against the May baseline108,700 against 96,400
Movement12,300
VerdictLanded

Version one stays readable. A register whose numbers change once the result is known is a register that can never be wrong, and one that can never be wrong tells nobody anything.

P and L by Department, September

DepartmentRevenueDirectContributionMarginAugBudgetVariance
Duluth812,000498,000314,00038.7%322,000302,00012,000
Rochester704,000452,000252,00035.8%256,000244,0008,000
Eau Claire596,000401,000195,00032.7%198,000206,000(11,000)
Sioux Falls486,000349,000137,00028.2%138,000152,000(15,000)
Four branches2,598,0001,700,000898,00034.6%914,000904,000(6,000)
Shop and Fleet 268,000(268,000) (270,000)(274,000)6,000
Corporate 342,000(342,000) (344,000)(348,000)6,000
Operating income2,598,000 288,00011.1%300,000282,0006,000

Flash Metrics, with the system each comes from

MetricSepAugJulSourceAction
Dollar utilisation40.3%41.4%40.9%Rental revenue over fleet costA-32
Time utilisation69.5%71.5%70.7%Rental system, month endA-32
Rate realisation91.3%90.6%90.1%Contracts against the rate cardA-11
Stale quote value1,842,0001,624,0001,486,000Quoting system, 14 days oldNone yet
Days sales outstanding494848Aging over trailing revenueA-17
Units down over 7 days313844Shop work orders by ageA-20

Stale quote value has moved the wrong way three months running with nothing attached to it. That is the most useful row on the page, and it is the one a report with no register has no way to surface.

What's in the pack

01

Action Register sheet

One row per action, carrying its number, owner, department and version. Then the commitment: the line it must move, the monthly effect, the month due. Then the score: realised movement, the threshold it lands at, the verdict, the cause, months past due. Nothing is ever deleted.

02

Space rule

An action names a line, an amount and a month. Three required fields, a tolerance fixed when the action opens, four verdicts computed off the ledger, six causes for a miss, and versioning rather than rewriting. It governs every prompt in the space.

03

Action Effect Log sheet

The arithmetic behind every verdict, one row per component measured: the baseline month and figure, the measured month and figure, the change, and a note. This is where an offsetting movement gets found, and it is the reason a verdict is evidence rather than an assertion.

04

Action Register Procedure

The standing method rather than a monthly document. What qualifies as an action, the tolerance formula, the six-step scoring run, how to decompose a line for a miss, the ceiling test before anyone argues about execution, and four escalation triggers with one response each.

05

P and L by Department sheet

Revenue, direct cost, contribution and margin per department with the prior month and budget alongside, then the overhead departments and operating income. The open actions and the year-to-date landed ones sit in two columns beside each department. Seeded from whatever the close produced.

06

Trend sheet

Six months of every line and every flash metric, with a source column on each row, plus two rows nobody else keeps: actions landed in the month and actions missed in the month. A series whose mapping changed gets restated rather than quietly broken.

07

Flash Metrics sheet

Six operational rows with a definition, the system and query behind them, three months of history, a direction and the action attached. A metric drifting the wrong way for three months with nothing attached is the flag the space raises first.

08

Management Commentary

Written after the register is scored, never before, and reading from the sheets so no figure is retyped. The month in four numbers, what the register says with both rates, the misses that found something, anything aged past three months, then a block per department. Distinct from the board package and the investor update.

09

Department Owner Brief

Sent to each owner once, so the first meeting is not spent explaining why a status is not an answer. What they own, the three fields, how the verdict is computed, why the line counts and not the component, and how to size a commitment before making one. The same owner presents these numbers again, department by department, at the quarterly finance review.

How to use it

  1. 1

    Download the files, or open the pack

    Three Word documents and five CSV sheets, with no account. Or open the pack in River and give it a departmental ledger, and the read and the register get built from your own accounts.

  2. 2

    Send the ledger with departments intact

    The last closed month at minimum, three or more for a usable trend, plus whatever operational data the business runs on. If a line needs explaining rather than tracking, the flux commentary tool handles that half.

  3. 3

    Turn what you already decided into rows

    Most of it will come out as notes, which is the intended result. The one or two items that can name a line, an amount and a month get a baseline, a threshold and a ceiling check before the row is written.

  4. 4

    Score, then write, in that order

    After each close the register reads the named lines and assigns verdicts. Misses get their line decomposed and one cause. Only then does the commentary get written, because a commentary written first credits actions the ledger has not confirmed.

Frequently asked questions

Is this template free?

Yes. Three Word documents and five CSV sheets, no account, no card, no trial. Edit with AI is there for anyone who would rather hand over a departmental ledger than map accounts to lines by hand and set up the register columns themselves. Everything else is in the free templates library.

The free templates already have action items. What is different here?

They have an owner and a due date, and they ask you to review progress. Progress is self-reported. Here the action names the line and the dollar amount, and the verdict is read off the ledger against a threshold fixed when the action opened. Nobody is asked whether their action worked.

Is it fair to score the line when the component moved as promised?

It is the point. A saving that never reaches the line is not a saving, and the department is accountable for the line. What stops it being punitive is the decomposition: the offsetting component gets named with its amount, so the record says the work was real and exactly what ate it.

What happens to an action that keeps missing?

It stays in the register, gains a cause and ages. Past three months past due it is resized or withdrawn rather than carried unchanged, which is a normal outcome. Deleting it would remove the only evidence that the same problem has been discussed since February.

Can I use this if I have no budget to compare against?

Yes. The register scores movement against a baseline month, not against a plan, so it works from the ledger alone. The budget columns stay empty until there is one, and the annual budget pack is where that gets built if you want it.

How is this not just a board pack with different sections?

Audience and consequence. A board package explains a quarter to people who were not there, so its register tests whether last quarter's explanations turned out to be true. This one is read by the people who decided, so its register tests whether what they decided moved the line they aimed at.

Most of what comes out of our meetings will fail the three fields. Is that a problem?

No, and it is worth seeing. In the worked example seven of 41 proposed items stayed notes. Notes go in the commentary and are often true. What they do not get is a status column, because tracking something nobody can measure is the habit this pack exists to break.

Give your monthly read a memory

Download the blank pack as Word and CSV files, or open this exact pack in River and let it build the departmental read and the register from your own ledger.

Edit with AI