Finance / Accounting Unit Check¶
Domain unit audit — instantiates Dimensional Consistency Check
Separates money-like quantities that share a currency symbol but are not interchangeable — nominal vs. real, one-time vs. recurring, cash vs. accrual — before they are added or compared.
Finance / Accounting Unit Check is the domain-specialized check for the one place a naive unit check fails hardest: money. Everything wears the same dollar sign, so quantities look commensurable that absolutely are not. Its defining concern is meaning behind the symbol — the same "$1,000" can be a one-time cost or an annual recurring one, a nominal figure or an inflation-adjusted real one, cash received or revenue accrued, this year's dollars or a present value. The units match; the constructs do not. This mechanism makes those distinctions explicit and rules on which additions and comparisons are legitimate, catching the money-like quantities that the currency symbol quietly disguises as interchangeable.
Example¶
A team compares two vendor proposals. Option A is a $500,000 one-time software licence; Option B is a $120,000 annual subscription. A quick look says A costs "more," and a naive spreadsheet subtracts one from the other. The finance unit check refuses the subtraction: a one-time cost and a recurring cost are different quantities — a stock of dollars versus a flow of dollars per year — and cannot be compared until put on a common basis. Over a five-year horizon B is $600,000 nominal, already more than A.
Then the meaning check goes a layer deeper. Those five annual payments arrive in future dollars, so comparing their raw sum to today's licence price mixes nominal and present-value amounts.[1] The correction is to state the basis explicitly — a five-year present value at the firm's discount rate — and only then compare. The output is not merely a number but a ruling: these two quantities were not addable as written; here is the common basis on which they are, and here is the comparison that basis makes legitimate.
How it works¶
- Tag each amount's construct. Beyond the currency, record whether the figure is one-time or recurring, nominal or real, cash or accrual, and which period and price level it lives in.
- Rule on the operation. State which additions, comparisons, and aggregations are legitimate given those tags — a one-time and a recurring amount are not directly addable; nominal and real figures are not directly comparable.
- Put quantities on a common basis before combining. When an operation is wanted across incompatible constructs, specify the conversion — annualize, discount to present value, deflate to real terms — that makes them commensurable.
- Record the basis with the result. The chosen basis (discount rate, base year, horizon) travels with the comparison so it can be checked and reproduced.
Tuning parameters¶
- Basis of comparison — nominal, real, or present value; and if present value, the discount rate. This choice can flip which option looks cheaper, so it is the highest-stakes dial.
- Horizon — the time window over which recurring amounts are accumulated. A longer horizon favours one-time costs; a shorter one favours subscriptions.
- Construct granularity — how many money-type distinctions you track (just one-time vs. recurring, or the full cash/accrual/nominal/real matrix). More granularity catches subtler errors at more overhead.
- Materiality floor — how large a mismatch has to be before it is worth reconciling rather than noting.
When it helps, and when it misleads¶
Its strength is catching the errors that hide behind a shared currency symbol — comparing one-time to recurring, nominal to real, this-year to present-value — which are among the most common and most consequential in financial reasoning precisely because the units look fine.
Its risks are domain-specific. The basis choice is a genuine judgement, and because it can flip the verdict, it is the classic lever for running the check backwards — picking the discount rate, horizon, or basis that makes the already-preferred option win. It can also over-formalize, discounting soft or strategic considerations into a precision they do not deserve. The discipline is to fix the basis before seeing which option it favours, state it openly with the result, and show the comparison under a second basis when the choice is contestable.
How it implements the components¶
quantity_semantics— its core work: distinguishing constructs (nominal, real, one-time, recurring, cash, accrual) that share a currency unit but mean different things.operation_compatibility_rule— it rules on which money quantities may be added or compared, and which may not without a common basis.correction_rule— when an operation crosses incompatible constructs, it specifies the fix: annualize, discount, or deflate onto a shared basis.
It does not build the underlying variable-and-unit inventory of the model (that is Spreadsheet Unit Audit or Dimensional Analysis Table), nor separate the stock-versus-flow structure in the general case (that is Stock / Flow Separation Check); it specializes the meaning check to money.
Related¶
- Instantiates: Dimensional Consistency Check — the archetype specialized to financial quantities, where a shared currency symbol hides incompatible constructs.
- Sibling mechanisms: Stock / Flow Separation Check · Spreadsheet Unit Audit · Cross-Scale Transfer Review · Dimensional Analysis Table · Dimensionless Ratio Construction · Engineering Equation Sanity Check · Model Input / Output Contract · Normalized Metric Design · Per-Capita or Per-Unit Conversion · Unit Check · Unit Conversion Workflow
Notes¶
The one-time-versus-recurring distinction is a money-specific instance of the general stock/flow problem handled by Stock / Flow Separation Check; this mechanism carries the extra financial constructs — nominal/real, cash/accrual, present value — that the general check does not. When both apply, run the general separation first, then this domain layer.
References¶
[1] The distinction between nominal values (in the dollars of the year they occur) and real or present values (adjusted to a common price level or discounted to today) is standard in finance; mixing them is a meaning error even though the currency unit is identical. ↩