Cash forecast: the next 13 weeks
How much cash will the company have in each of the coming weeks, and when is it lowest? The
cash forecast answers from what the books already know, with nothing to type in, and says
what changed since last week (ADR-0105). It is a
feature module (cash_forecast) and posts nothing.
What it counts
The forecast starts from today's cash: the balance of the cash accounts (the bank accounts, cash in hand and payments in transit), the figure Home shows. It then adds, week by week from this week's Monday, everything the system knows will come in or go out:
| From | When it counts | Amount |
|---|---|---|
| Open customer invoices and credit notes | On the day this customer usually pays (see below) | What is still open |
| Open vendor bills and credit notes | On the day this vendor is usually paid | What is still open |
| Invoices and bills not posted yet (a draft, one waiting for approval) | The same way, from their due date | Their total |
| Payments recorded but not posted yet (a draft, one waiting for approval, a payment run's) | On their payment date | The payment |
| Recurring invoices and subscriptions | The invoices they will make, on the day the customer usually pays them | Each invoice with VAT, priced as its run would make it |
| Recurring journals on a cash account (a cash payment that repeats) | On each due date | What the entry moves on the cash account |
- What a payment waiting for approval settles is counted once, as that payment, never also as the open invoice or bill.
- A payment already posted is in today's cash, also while it waits for the bank on the payments in transit account.
- Something expected before today counts today, marked overdue: the forecast never puts money in the past.
- What falls after week 13 is shown as after week 13.
- A recurring journal that is an accrual (reversed in the next period) moves no cash for good and is left out. A recurring invoice or subscription that is paused, ended or not approved is left out, as its run would make nothing.
- Amounts are in the company's currency: an open invoice or bill at the rate it was booked at, a payment and what is scheduled at today's rate.
Payment habits
Customers rarely pay on the due date. For each customer the forecast learns, from the posted payments of the last 12 months, how many days after the due date it paid on average (weighted by the amounts paid; negative when it pays early), and moves its open invoices by that much. The same is learnt for each vendor from what the company paid.
- A customer or vendor without a payment in that time takes the company's habit with all its customers (or all its vendors).
- A company without any payments yet uses the due date.
- Each line of the forecast says which it used, for example "This customer pays 12 days late on average".
The screen
Reports → Cash forecast shows:
- Cash today, the lowest cash at a week's end in the next 13 weeks (red when it goes below zero), the cash in 13 weeks and what comes after week 13;
- a chart of each week's money in and out, with the cash at the week's end;
- what changed since last week (below);
- the 13 weeks, and every amount behind them: a click on a week shows only its amounts, a click on an amount opens its invoice, bill, payment or template.
Home shows the lowest cash in the next 13 weeks among its key figures, with its week; it opens the forecast.
What changed since last week
Every Monday (on the first scheduled run of the week) the system keeps each company's forecast as it stands. The forecast then compares itself with the one kept in the latest earlier week, amount by amount:
| Change | Means |
|---|---|
| Paid or settled | Expected then, gone now: paid, collected, credited or cancelled (today's cash shows what was paid) |
| New | Not expected then: a new invoice or bill, a new payment, a new template |
| Moved to another week | Still expected, in another week: a new due date, a changed habit |
| Amount changed | Still expected, for another amount: paid in part, a changed price |
| In the new week | In the week the forecast has moved on to |
Each change is valued by what it does to the cash over the weeks both forecasts cover, so together with the change of today's cash they explain why the lowest point moved. The screen lists the 25 largest; Explain with the assistant asks the assistant in the app to tell the story behind them in words, naming the invoices, bills and customers.
A kept forecast is never changed or deleted. Until the first one is kept, the screen says when it will be.
Assistants and the API
GET /v1/entities/{entity}/cash-forecastreturns the forecast (optionallyas_ofanother day), with its weeks, its lowest point, every line and what changed since the forecast kept in an earlier week (API).- An assistant over MCP reads the same with
cash_forecast: by default the 15 largest amounts (all_linesfor every one), so it can answer "when is cash lowest?" or "why did the forecast drop since last week?" with the documents and customers behind it.
Nothing here posts, and every control stays on: the forecast only reads.