Why CashLens

It tells you when it doesn’t know

This is the whole argument. Most forecasting tools fill gaps with plausible-looking numbers, because a blank cell looks broken and a number looks finished. CashLens refuses.

Never invent a number

If a figure cannot be derived from the files you uploaded, it says NOT AVAILABLE and names the document that would supply it. It does not estimate, interpolate, or produce something that merely looks authoritative.

Cash runway

NOT AVAILABLE

the business was cash generative over the statement period (net +£41,977 per month); a runway figure only applies to a net cash outflow

A blank cell reads as zero. Zero runway means something very different from runway does not apply.

Every figure shows its working

A metric you cannot recompute is not finished. Each one carries its formula and the actual inputs used, so you can check it yourself — or defend it in a board meeting.

DSO

(6,308,964 ÷ 37,545,856) × 365

= 61.33 days

Behaviour, not payment terms

Receivables are aged into collection weeks using each customer’s own median payment lag, measured from their settled invoices — not the terms they agreed and routinely ignore. A customer on 30-day terms who always pays in 48 is forecast at 48.

Confidence is shown, not implied

Weeks 1–8 rest on invoices that already exist. Weeks 9–13 rest on behavioural projection, and the forecast line is drawn differently to say so. That distinction is the difference between a forecast a board will accept and one it won’t.

Your data stays yours

Every row and every file carries an owner, and the database itself refuses to return anything you do not own — enforced in Postgres, not in the interface. Encrypted in transit and at rest, with a documented retention policy and a log of who downloaded what.

Try it freeHow it works