Accounting Control Tower
A close is not finished when the numbers are produced, but when someone can say what is wrong with them.
A month-end close tower over 30,000 order-level transactions and 48 periods: ASC 606 revenue recognition, subledger-to-GL tie-out, six-channel settlement, AR aging, tax accrual and budget flux. It found that the ledger overstates revenue by 16%.
Context
The ledger records the full value of every order as revenue — including orders that were cancelled and orders that came back.
The design problem
A client reading a management report with gross revenue on the top line is reading a number that overstates the business by roughly a sixth. Every margin below it inherits the error, and so does every decision taken from it.
Design decisions
The gross-to-net bridge drawn as steps, with the two deductions in red
Every step is a decision the ledger did not make. Drawing them is what turns a 16% gap from an assertion into something a controller can check line by line.
Forty-eight periods as forty-eight squares, one per month
All green says the subledger and the ledger agree to the cent. The value of the control is not that it found a break — it is that a single amber square would appear the month it happened, instead of at the audit.
The figures are precomputed and the site carries no database credentials
A public demo over a real schema is a demo with something to leak. Precomputing leaves nothing at the edge, and every figure still reproduces by running the views.
Visual system
- Six named SQL views as the single provenance of every number
- An analyst in a drawer that explains reconciled figures and may not assert a cause the data does not establish
- Anything above one cent of variance is flagged, never rounded away
The highlight
The control that reports zero variance is doing more work than the one that finds a break: it is the difference between asserting the books are right and knowing it.