Forecast supplier cash-out over 90 days
Projects supplier cash-out at 30, 60 and 90 days from invoices to pay, and compares it with the cash available on the wallet.
CFO๐
WeeklyIntermediateRead-only
Ask it like this
What supplier cash-out do we expect over the next 90 days?
When to use it
When the CFO or controller wants to project cash outflows over the next three months from outstanding supplier invoices.
What it produces
Overdue and per-horizon amounts, invoices with no due date shown separately, a comparison with available cash, and what the forecast leaves out.
How it works
- 1Reads the total of supplier invoices already overdue
- 2Splits invoices to pay by due date: 30, 60 and 90 days
- 3Isolates invoices with no due date
- 4Compares the nearest horizon with the cash available on the wallet
- 5States what the forecast leaves out
What protects you
- This skill only reads: it changes nothing in Spendesk
- It acts with your permissions and your role, never beyond
- The assistant cannot approve or pay
โธTechnical detail70/100 ยท 3 tools
Spend analysisReportsspendesk_get_due_invoicesget_payablesget_wallet_summary
# 90-day supplier cash-out forecast
## Purpose
Estimate upcoming cash out from supplier invoices still to pay, by horizon: overdue, within 30 days, 31 to 60 days, 61 to 90 days. Then compare the nearest horizon with the cash available on the wallet.
**What the forecast leaves out**: invoices not yet received or still waiting for approval, upcoming card spend, future subscriptions, and anything that does not go through Spendesk (payroll, rent). It is a floor, not a full cash forecast: say so in the report.
State today's date and the exact bounds of each horizon before the calls.
## Step 1 โ Overdue and total upcoming
```json
{ "tool": "spendesk_get_due_invoices", "params": { "includeUpcoming": true, "includeLineItems": false } }
```
- `summary.totalOverdueAmount`: what should already have been paid.
- `data.upcoming`: **all** unpaid invoices due in the future, with no horizon limit. It is not the "90-day" figure; it serves as a check for the next steps.
## Step 2 โ Split by horizon
One call over the next 90 days:
```json
{
"tool": "get_payables",
"params": { "filters": { "operator": "and", "subfilters": [
{ "field": "paymentStatus", "operator": "=", "value": ["toPay"] },
{ "field": "payableType", "operator": "=", "value": ["invoicePurchase"] },
{ "field": "dueDate", "operator": "between", "value": { "from": "2026-10-05T00:00:00.000Z", "to": "2027-01-03T23:59:59.999Z" } }
] } }
}
```
Sort each invoice by its `dueDate`: 0-30, 31-60, 61-90 days. Add up `outstandingFunctionalAmount`, what is left to pay in functional currency โ not `amount`, which is the full amount even when the invoice is already part-paid. Page with `cursor`.
The status value is `toPay`; there is no `approved` or `unpaid` value. The bookkeeping status field is called `bookkeepingStatus` and is not used here.
## Step 3 โ Invoices with no due date
```json
{
"tool": "get_payables",
"params": { "filters": { "operator": "and", "subfilters": [
{ "field": "paymentStatus", "operator": "=", "value": ["toPay"] },
{ "field": "payableType", "operator": "=", "value": ["invoicePurchase"] },
{ "field": "dueDate", "operator": "=", "value": null }
] } }
}
```
Show them on a separate line. Do not invent a due date for them: if the user wants an assumption (for example 30 days after the invoice date), apply it and say so.
## Step 4 โ Compare with what is available
```json
{ "tool": "get_wallet_summary", "params": {} }
```
Compare "overdue + 0-30 days" with `totalAvailableAmount`, and name that figure. If `scheduledTransfersAmount.scheduledInvoicesAmount` is above zero, those invoices are already deducted from the available amount: do not count them twice.
## Report
```
Forecast supplier cash-out โ as of <today's date>
Overdue X EUR (N invoices)
0-30 days X EUR (N)
31-60 days X EUR (N)
61-90 days X EUR (N)
No due date X EUR (N)
Wallet available: X EUR โ covers / does not cover "overdue + 0-30 days"
Not included: invoices not received or not approved, cards, subscriptions, outside Spendesk
```
All amounts are in functional currency. One company at a time.
## Observed result (demo account, 5 October 2026)
EUR 19,095.67 overdue across 11 invoices, nothing due in the next 90 days, and EUR 97,300.29 available: the overdue amount is covered five times over.
## Example prompts
- "What supplier cash-out do we expect over the next 90 days?"
- "Do we have enough on the wallet to cover next month's invoices?"
- "How many invoices to pay have no due date?"
How to install this skill
/
- 1Download the file
s44-cfo-cashflow-forecast.mdusing the button above. - 2Place the file in the
.claude/directory of your project (or~/.claude/for a global install).cp s44-cfo-cashflow-forecast.md .claude/s44-cfo-cashflow-forecast.md - 3Use in Claude Code โ the skill is automatically discovered. Describe your need in natural language and Claude will apply the skill instructions.
๐ก Make sure the Spendesk MCP is configured in your
.claude/settings.json with the tools spendesk_get_due_invoices, get_payables, get_wallet_summary.Similar skills
โ
Top