River
Y CombinatorBacked by Y Combinator

Finance & AccountingFree

Month End Close Critical Path Diagnostic

The close solved as a dependency graph, so the task everyone wants to automate is shown to have four days of slack.

Start here

River's close diagnostic treats the month as a dependency graph rather than a checklist. Every task carries a work time and a wait time, and the wait has an owner. Solving the graph produces the critical path, the slack on everything off it, and the one number nobody computes: what the close becomes after each fix. That last part matters because the constraint moves, and the second fix is usually somewhere nobody was looking, which is why one round of improvements rarely lands.

Larkfield Instruments closed in 14 business days against a 5-day target. Its team did 56 hours of work across the whole close, and only 32 of the 111 hours from period end to package were work on the critical path. That makes the close 71 percent waiting. Bank reconciliation, the first thing every close article says to automate, had 39 hours of slack, so automating it moves the close by zero days. The checklist it diagnoses is the monthly close pack.

Written for the controller who just lost a weekend and has to explain the delay to a CFO who thinks it is a staffing problem. Once the timing is understood, the trial balance normalizer fixes the coding underneath it and account substantiation fixes what the reconciliations actually prove. The eight hours of flux commentary sitting on the critical path is the other place to look, since that one is work rather than waiting.

The constraint moves, so the first fix buys almost nothing

Larkfield's loudest complaint was departments submitting invoices on day 6 against a day-2 policy, and that wait was 48 of the 111 hours, 43 percent of the close before anyone in accounting touched anything. Enforce the cutoff on its own and the close goes from 13.9 days to 13.8. One hour. The plant inventory counts arrive on day 5 and the revenue tie-out sits directly behind them, so the critical path simply moves.

Fix both upstream inputs and the close lands at 10.8 days. Fix the review queue as well, which is the 16 hours the package sat before the controller opened it rather than the 6 hours of reviewing, and it lands at 8.4. That is 5.5 days from three changes, none of which is a reconciliation and none of which belongs to the accounting team's own throughput. The staffing conversation was never the right one.

The diagnostic also says when the target is wrong. With every input on day 1 and every queue cut to an hour, Larkfield closes in 6.3 days, and the longest chain of pure work is 4.6. A 5-day target leaves 0.4 days of slack across eleven handoffs, so it is not a process, it is an assumption that nothing ever queues. For a filer that matters, because a 10-Q is due 40 or 45 calendar days after quarter end and the review sits after the close rather than inside it.

How it works

  1. Add the task log

    The close checklist with dates and times, however roughly it was kept this month.

  2. Name the handoffs

    Which task waits on which, and who supplies the inputs you do not control.

  3. River solves the graph

    Critical path, slack per task, and the wait hours attributed to the party that owns them.

  4. Fix in order

    One ranked list, each fix carrying the days it buys and what becomes binding next.

What you get

  • Every task split into work time and wait time, with an owner on the wait
  • The critical path solved, so slack is a number rather than an impression
  • What the close becomes after each fix, since the constraint moves when you fix one
  • A dependency diagram with the binding handoff marked, ready to show a department head
  • Delay attributed to the upstream party that owns it, not to the accounting team
  • The arithmetic floor for your close, so a target can be argued with evidence

Common questions

Why not just use a close checklist?

A checklist gives you the order, not the arithmetic. It cannot tell you that bank reconciliation carries 39 hours of slack while the plant inventory roll-up carries one, so automating the first moves the close by zero days. Both look equally urgent on a list, and only a solved dependency graph separates them.

How is work time different from wait time?

Work time is somebody doing the task. Wait time is the item sitting in a queue, or an input that has not arrived. Larkfield's team worked 56 hours inside a 111-hour close, so 71 percent of it was waiting. A staffing answer only helps the other 29 percent, which is why hiring rarely shortens a close.

Our departments are always late. Is that the whole problem?

It was 43 percent of the close, and fixing it alone bought one hour. The plant counts land on day 5 and the revenue tie-out sits behind them, so the critical path just moves. That is the finding worth having, because it stops you spending a quarter of political capital on the wrong handoff.

Can I show this to the department that causes the delay?

That is what the dependency diagram is for. It shows one handoff, the hours it holds up, and what the close date becomes if it moves, which is a different conversation from asking people to try harder. The wait is attributed to an owner rather than described in general terms.

What if our target is simply unrealistic?

Then the diagnostic says so with a number attached. Larkfield's longest chain of pure work is 4.6 days, so a 5-day target allows 0.4 days of queue across eleven handoffs. That is not a stretch goal, it is an assumption that nothing waits, and it belongs in front of whoever set it.

Does this only apply to public companies?

No, though the deadline is sharpest there, because a quarterly report is due 40 or 45 calendar days after quarter end and everything after the close has to fit inside what is left. Private companies usually have a lender reporting covenant instead, and the covenant headroom forecast shows what a late delivery triggers.

What happens if we run out of days before the filing deadline?

There is a form for it and it is not free. A notification of late filing buys five calendar days on a quarterly report and requires stating in reasonable detail why. The officers still have to certify that they reviewed the report, which a compressed close makes harder to mean.

Month End Close Critical Path Diagnostic

Fill in the form and your workspace opens with the work already underway.