Recon Forensics · Cap Engine

Four ways to read one cap clause

This page helps an auditor see how much a lease’s cap on operating expenses should limit the landlord’s bill, and how much that limit changes depending on how the clause is read. Enter the cap terms and the yearly costs, and the page works out the most the landlord can charge each year. Every figure shows its working, ready to copy into a finding letter.

Deterministic engine — no AI in the arithmetic 200 tests, pinned to the cent Built-in leases are synthetic · your workpaper never leaves your machine
Stacked reconciliation documents — a billing statement, a general ledger and a spreadsheet — with a magnifier over one flagged figure.

Cap Trap Explorer

How this is built

The page contains no cap arithmetic of its own. Every ceiling, every allowed figure and every line of working comes from computeCapSchedule() — a pure TypeScript function compiled straight into this page, and the same function a golden test suite pins, to the cent, against worked examples from the industry's published training material.

The three leases are synthetic, written for teaching and demonstration. Their clause language is industry boilerplate; their numbers are invented. No client lease, reconciliation or figure appears anywhere in this page — a build-time check deletes the build rather than publish one. Your own lease, typed in or opened from a workpaper, is read in this page and never sent anywhere: the page cannot open a network connection, and closing it forgets everything you did not save.

The engine fails loudly rather than approximately. Ask it to honour a lease term it cannot model and it refuses to produce a schedule at all, because a number that silently drops a clause is worse than no number.