Six closes, 13 tasks with real dependencies, sign-off states, and a flux review with materiality thresholds. The close is a process with a critical path, not a heroic sprint — and this page names the current bottleneck. Synthetic, seeded data.
Bank reconciliation was automated in October (blue → green). July's critical path ran subledger → bank_rec → rev_cutoff → flux → reporting; December's runs rev_data → rev_rec → rev_cutoff → flux → reporting. The improvement did not come from anyone working faster on average — it came from removing 2.7 days from the one chain that gates everything. The next day of improvement lives in the path's longest task — currently revenue cut-off review — and the dashboard will keep saying so until it moves.
| Task | Owner | Start (day) | Duration | Finish | |
|---|---|---|---|---|---|
| Close AP / AR subledgers | AP accountant | 0.0 | 1.4 | 1.4 | |
| Payroll & benefits accrual | Payroll lead | 0.0 | 1.0 | 1.0 | |
| Usage & billing data cut | RevOps | 0.0 | 0.9 | 0.9 | ● critical path |
| Stock comp expense | Senior accountant | 0.0 | 0.8 | 0.8 | |
| Revenue recognition run | Revenue accountant | 0.9 | 1.3 | 2.3 | ● critical path |
| Bank reconciliations | Staff accountant | 1.4 | 0.7 | 2.1 | |
| Opex accruals & prepaids | Senior accountant | 1.4 | 1.4 | 2.8 | |
| FX rates & remeasurement | Senior accountant | 1.4 | 0.8 | 2.1 | |
| Intercompany reconciliation | Senior accountant | 2.1 | 1.2 | 3.4 | |
| Revenue cut-off review | Controller | 2.3 | 2.5 | 4.7 | ● critical path |
| Consolidation & eliminations | Controller | 3.4 | 1.0 | 4.4 | |
| Balance-sheet flux review | Controller | 4.7 | 1.3 | 6.0 | ● critical path |
| Management reporting package | Head of Finance | 6.0 | 0.9 | 6.9 | ● critical path |
Highlighted rows form the critical path — recomputed from the dependency graph, not asserted. Validation requires the path's length to equal days-to-close exactly; a "critical path" that doesn't is a diagram, not a measurement.
| Close | Line | Move | Commentary |
|---|---|---|---|
| 2025-08 | Deferred revenue | +$834K | Three multi-year prepays billed annually in advance |
| 2025-10 | Cash | −$1,400K | Q3 bonus payout plus annual insurance premium |
| 2025-11 | Prepaid expenses | +$294K | COMMENTARY MISSING — close not certified |
| 2025-11 | Accrued liabilities | +$343K | Legal settlement accrual per outside counsel range |
| 2025-12 | Lease liabilities | +$620K | GPU capacity agreement commenced (embedded lease, ASC 842) |
November's prepaid-expenses move breached materiality with no commentary attached. The engine refuses to certify that close until the line is explained — the control catching the gap is the demonstration. (December's lease line, incidentally, is the GPU embedded lease from the ASC 842 register commencing.)
Synthetic, seeded data
(random.seed(1231)). Generator, DAG, and checks:
github.com/Lumimama/finance/month-end-close.