Policy clause
"Keep six months' spending in cash": how to write it, test it and evidence it
A spending reserve is written in money, not percentages: cash must cover a number of months of planned outgoings. Acclimetry has no spending feed, so the clause needs an approved spending figure. The nearest configuration is a governed formula dividing cash by a monthly budget held as an approved constant.
The charity will hold cash equal to at least six months of budgeted expenditure.
custom_formulaQuestions to settle before it can be tested
- Which spending: next year's budget, last year's actual spend or committed grants? The figure must be stated, because the rule cannot read accounts.
- What is cash: deposits and money-market funds, or short-dated gilts too? The formula counts only the classes its inputs name.
- Gross or net: are expected income and grants receivable deducted? A net figure needs its own approved number.
- Keeping it current: the budget is a constant in the approved version, so each new budget is a new version through maker-checker approval.
As a testable rule
Custom formula with three inputs: cash and mmf, the values of classes Cash and Money market funds, and budget, a governed constant of 1,800,000. Expression (cash + mmf) / (budget / 12), labelled months of budgeted spending, with hard minimum 6 and warning minimum 7. A cash line with no value makes the result not evaluated, never zero.
A testable wording and where it stops
Deposits and money-market funds must equal at least six months of the expenditure budget the trustees approved for this financial year.
Naming the approved budget makes the figure a governed input rather than a forecast. The formula forecasts nothing, so finance updates the figure through a new version; the custom formula page lists the measures it can use.
Worked example
Deposits and a money-market fund of 750,000 cover five months of a 1.8m annual budget, under the six-month floor.
Rule template:custom_formula inputs: name=cash, primitive=value_of, args={"attribute":"class","group":"Cash"} · name=mmf, primitive=value_of, args={"attribute":"class","group":"Money market funds"} · name=budget, primitive=constant, args={"value":"1800000"}expression: (cash + mmf) / (budget / 12)measureLabel: Months of budgeted spending held in cash
Bounds: hard min 6 · warn min 7
| Holding | Class | Market value |
|---|---|---|
| Global equity fund | Equities | 6,000,000 |
| Corporate bond fund | Bonds | 2,500,000 |
| Bank deposits | Cash | 420,000 |
| Sterling money-market fund | Money market funds | 330,000 |
| Group | Status | Value | Bounds | Headroom to the hard bound | Code |
|---|---|---|---|---|---|
| Months of budgeted spending held in cash | Breach | 5 | ≥ 6 warning ≥ 7 | -1 -2 to warning | BELOW_HARD_MINIMUM |
BELOW_HARD_MINIMUM: The measured value falls below the approved hard minimum, beyond any stated tolerance.
Computed at build time by the Acclimetry rule engine (backend commit 8197063); the same code runs in the product.
What each monitoring run records
Each run stores the months of cover, its state, headroom and the resolved inputs: the cash total and the budget behind it. The approved version carries the budget figure with its author and approvers. A breach opens a case like any other limit.