Cash flow forecast loop
Stop reconstructing cash flow from memory: this AI skill runs a 13-week forecast and collection ladder weekly, catching payroll gaps weeks before they hit.
“2:17 AM. You're staring at the ceiling. Payroll hits in 9 days... You keep running the same math in your head, but the numbers won't stay still long enough to add up.”
The problem
This AI skill installs a 13-week direct-method cash forecast plus an invoice-aging and client-concentration dashboard, run on a fixed weekly and monthly cadence instead of reconstructed from memory under pressure. A staged collection ladder chases late payments rung by rung, and a reserve-funding rule skims a fixed percentage off every deposit, so a cash gap is visible weeks before it hits.

Key takeaways
- A 13-week rolling forecast beats a monthly P&L for spotting cash gaps early: new forecasts run 50-60% accurate and reach 80%+ after 3-4 months of weekly refinement.
- 59% of small businesses now carry invoices 30+ days overdue, averaging $17,700 owed (Intuit QuickBooks, 2026), up from 47% the year before.
- One client above 25% of trailing 90-day revenue is a real concentration risk; above 50% means the business is effectively built around that one client.
- A staged collection ladder collects faster than chasing invoices ad hoc as they age: pre-due reminder, day 1-7 nudge, phone call, firm notice, formal demand.
- Chasing payment from a role address like accounts@ instead of the owner's own name measurably depersonalizes the ask (Ellen Forster, Substack).
- A 3-6 month reserve funded by skimming a fixed percentage off every deposit survives a slow month that a leftover-based savings habit does not; the median small business holds only about 27 days of buffer (BusinessNewsDaily).
Frontmatter
- name
- cash-flow-forecast-loop
- description
- Builds a 13-week rolling cash forecast plus an invoice-aging and client-concentration dashboard, then runs both on a fixed weekly and monthly cadence so a cash gap is visible weeks before it hits, replacing reconstructed-from-memory math with a repeatable check. Use when the user is unsure they can cover an upcoming payroll or bill run, says they are profitable on paper but short on cash, has invoices sitting unpaid past terms, or has one client whose payment timing could sink the business. Triggers include "will I make payroll this month", "profitable on paper but no cash in the bank", "client hasn't paid and I don't know what else is coming in", "one client is most of my revenue", "invoices piling up past due".
Cash flow forecast loop
This skill installs a repeatable cash visibility system: a 13-week rolling direct-method forecast, an invoice-aging and client-concentration dashboard, a staged collection ladder, and a reserve-funding rule, run on a fixed weekly and monthly cadence instead of reconstructed under pressure. Invoke it the first time a user raises any cash-timing concern, then keep running it on the cadence set in Phase 2 and Phase 3 for as long as the user keeps this system active.
The bundle carries what each step needs: references/forecast-template.md (the 13-week forecast structure and the receipt-weighting method), references/aging-concentration-dashboard.md (the aging buckets and concentration formulas and thresholds), references/collection-ladder.md (the staged reminder rungs and message templates), references/contract-terms-checklist.md (the net-terms, deposit, and early-payment-discount defaults for new and renewing contracts), references/reserve-funding-rule.md (the reserve target and the skim-percentage funding method), and references/financing-triggers.md (when a forecasted gap is enough runway to arrange financing calmly). examples/filled-13-week-forecast-example.md and examples/collection-ladder-thread-example.md show both filled out for a sample business. Every step below names the exact file it uses.
Phase 1: Build the system once
- Read references/forecast-template.md and build the forecast with the user: opening cash, then expected receipts listed per client and per invoice, each one weighted by that client's actual payment-history reliability (not the invoice terms as written). Below that, list committed outflows: payroll, rent, taxes, loan payments, anything with a fixed date. The template computes projected closing cash for each of the next 13 weeks from these three inputs. Pull every number from the user's actual books or invoicing tool; never estimate a client's reliability or an outflow amount without a source, and flag any input you could not source instead of guessing it.
- Set expectations on accuracy before the first full run: a new forecast typically starts around 50 to 60 percent accurate and reaches 80 percent or better after three to four months of weekly refinement, and even a mature forecast runs 90 percent or better at the 4-week horizon while declining to roughly 70 percent at the 13-week horizon. Log each week's projected close against the actual close in the forecast template's tracking tab (referenced in references/forecast-template.md) so the gap between projected and actual shrinks visibly over time instead of being reset from scratch every week.
- Read references/aging-concentration-dashboard.md and build the second dashboard: aging buckets (0 to 30, 31 to 60, 61 to 90, 90-plus days past due) with a dollar total per bucket, and a concentration check showing the top-1 client and top-5 clients as a percentage of trailing-90-day revenue. This dashboard must be readable in under a minute; if building it takes longer than that each week, simplify the layout before moving on.
- Read references/reserve-funding-rule.md and set a reserve target with the user: 3 to 6 months of operating expenses, sized from the forecast's own committed-outflows line, not a round number picked without reference to it. Set the funding rule as a fixed percentage skimmed off every deposit going forward, never a plan to fund it from month-end leftovers.
- Read references/collection-ladder.md and configure the ladder with the user: day -3 courtesy pre-due reminder, day 1 to 7 past due automated friendly nudge, day 7 to 10 phone call, day 14 to 30 firm written notice referencing terms and any late fee with new work held, day 30-plus formal demand or credit hold with invoice factoring or a collections agency evaluated. If the user has invoicing software with reminder sequencing, configure the first two rungs there; do not enable automated sending until the user has approved the exact message text for each rung. Where references/collection-ladder.md offers it, set the sender identity to a role address rather than the owner's personal name, since chasing from a role address measurably depersonalizes the ask.
- Read references/contract-terms-checklist.md and set the default terms the user will use going forward on new and renewing contracts: net-15 as the default ask instead of net-30, a 25 to 50 percent deposit or milestone structure on larger engagements, and a roughly 2 percent early-payment discount for payment within 10 days as the standing offer to chronically slow but otherwise good clients. These are defaults to apply per contract in Phase 3, not a one-time action.
- Propose a fixed weekly slot (a specific day and a 15-minute window, for example Monday morning) for Phase 2 and a fixed monthly slot for Phase 3. Present both to the user for confirmation before treating them as the standing cadence; do not add a calendar entry or recurring reminder without the user's explicit yes.
Phase 2: The weekly 15-minute loop (run every week on the confirmed slot)
- Open references/forecast-template.md and update this week's opening cash and each expected receipt from actuals since the last run. Log the prior week's projected closing cash against what the closing cash actually was, in the tracking tab from step 2.
- Recompute the 13-week projected closing cash row by row: opening cash plus weighted expected receipts minus committed outflows, for each of the 13 weeks.
- Refresh the aging buckets and the concentration percentages from references/aging-concentration-dashboard.md using this week's actual invoice and revenue data.
- Check the concentration percentages against the thresholds in references/aging-concentration-dashboard.md: above 10 percent from one client is a first flag, above 25 percent is a real risk, above 40 percent is structural, above 50 percent means the business is effectively built around one client. Surface any threshold crossed this week; do not decide an action on it here, that decision lives in Phase 3 step 16.
- Compare this week's invoice-aging buckets against the collection ladder's rungs from references/collection-ladder.md. For every invoice that crossed into a new rung since the last run, draft the matching ladder message using the template for that rung, filled with the client name, invoice amount, and due date from the source invoice, nothing invented. Present each drafted message to the user for approval and send it only through the user's own channel (email, invoicing tool, phone) after an explicit yes in that turn. Never auto-send, schedule, or queue a collection message.
- Check this week's deposits against the reserve-funding skim rule from references/reserve-funding-rule.md and confirm the skim was applied, or flag it if it was not.
- Scan the 13-week projection from step 9 for any week where projected closing cash goes negative or drops under one month of committed outflows. If one is found, read references/financing-triggers.md and check whether the gap sits 4 to 8 weeks out; if it does, note it as ready for the financing conversation and hand it to Phase 4. If the gap is closer than 4 weeks out, flag it as urgent and surface it to the user immediately rather than waiting for the next scheduled review.
Copy-paste checklist: the weekly 15-minute loop
- Opening cash and every expected receipt updated from actuals, not carried over unchanged
- Prior week's projected close logged against the actual close in the tracking tab
- 13-week closing-cash row recomputed end to end
- Aging buckets and concentration percentages refreshed from this week's data
- Any concentration threshold crossed (10 / 25 / 40 / 50 percent) flagged, not acted on unilaterally
- Every invoice that crossed a collection-ladder rung has a drafted message, shown to the owner, approved before it left draft state
- Reserve skim checked against this week's deposits
- Full 13-week window scanned for a negative or under-threshold week; any gap inside 4 weeks flagged as urgent, any gap 4 to 8 weeks out handed to Phase 4
Phase 3: The monthly pipeline-and-concentration review (run once a month on the confirmed slot)
- Pull the new-opportunity pipeline (value and stage per opportunity) and compare it against the same 90-day window the concentration dashboard uses. The goal being checked: no single client's payment timing can threaten payroll by itself.
- If any client's concentration crossed 25 percent in a Phase 2 run this month, treat that as the trigger to draft active diversification steps with the user (new-business targets, a referral ask) before concentration reaches the 40 percent structural line. Present drafted outreach for approval before it is sent; this skill drafts, it never contacts a prospect on the user's behalf without that approval.
- Cross this month's aging dashboard against the concentration dashboard. A client that is both chronically 60-plus days late and concentrated (above 25 percent) is the pre-decided trigger to renegotiate terms or end the relationship. Present this finding to the user as a flagged decision with the supporting numbers; never decide to renegotiate or end a client relationship on the agent's own authority, and never draft or send a termination or renegotiation message without the user's explicit approval in that turn.
- Review every new or renewed contract signed this month against references/contract-terms-checklist.md. Flag any contract that was not checked against the net-15, deposit, or early-payment-discount defaults from Phase 1 step 6 before it was signed, so the next contract can be checked before signing rather than after.
Copy-paste checklist: the monthly review
- Pipeline value and stage compared against the same 90-day window as the cash forecast
- Any client that crossed 25 percent concentration this month has a drafted diversification step, not yet sent without approval
- Aging and concentration dashboards cross-checked for any client that is both 60-plus days late and concentrated
- Every new or renewed contract this month checked against the terms checklist, gaps flagged for next time
Phase 4: Arrange financing on the forecast's timeline, not the bank balance's
- When Phase 2 step 14 hands over a gap that sits 4 to 8 weeks out, read references/financing-triggers.md and draft a short comparison for the user: a business line of credit versus invoice factoring, with the terms each option typically carries at that lead time. Present this draft to the user; this skill prepares the comparison and the numbers behind it, it never applies for financing, signs a term sheet, or contacts a lender on the user's behalf.
- If the user decides to proceed, hand the prepared numbers (the specific week, the size of the gap, the receipts and outflows behind it) to the user's own next step with the lender or factoring provider. Log the decision and its date in the forecast template's tracking tab so the next weekly run reflects the financing once it lands.
Guardrails: the ways this fails
- Never fabricate a client's payment reliability, an invoice amount, a receipt date, or an outflow figure. Every number in the forecast and the dashboards traces to the user's books, invoicing tool, or bank records. If a number cannot be sourced, flag it as missing instead of estimating it.
- Never auto-send, schedule, or queue any collection-ladder message, diversification outreach, or financing communication. Every one is drafted, shown to the user, and approved in that turn before it leaves the draft state.
- Never decide unilaterally to fire, renegotiate with, or hold work for a client. Phase 3 step 17 surfaces the flagged decision with its numbers; the user makes the call.
- Never apply for a loan, open a line of credit, or engage a factoring provider on the user's behalf. Phase 4 prepares the comparison and the numbers; the user takes the next step themselves.
- Never treat one strong week or one large deposit as the reserve target met. The reserve is funded by the fixed skim rule in references/reserve-funding-rule.md, run every week, not by an opportunistic top-up.
- If a scheduled weekly or monthly run is skipped, do not silently skip the missed period's tracking entry. Note the gap in the tracking tab and resume the cadence at the next scheduled slot; do not backfill a skipped week's actuals from memory.
- If the 13-week window shows a gap closer than 4 weeks out, do not wait for the next scheduled review to raise it. Surface it to the user immediately.
Install
- Download the .skill bundle, or the raw SKILL.md above.
- Unzip the bundle into your agent's skills directory. SKILL.md sits at the top level; any reference files sit beside it.
- Point your agent at the folder. It reads SKILL.md and follows it.
What's in the bundle
The .skill download contains SKILL.md plus these files, each at its path.
references/forecast-template.md3,539 chars
# 13-week cash forecast template
A direct-method forecast: opening cash, plus what actually lands, minus what
actually goes out, week by week, 13 weeks ahead. Build it in a spreadsheet using
the layout below. Update it every week; never rebuild it from scratch.
## Layout
One row per week (columns), three stacked blocks (rows):
| | Week 1 | Week 2 | ... | Week 13 |
|---|---|---|---|---|
| **Opening cash** | actual bank balance today | prior week's closing cash | | |
| **Expected receipts** (list each client/invoice below, one row per line) | | | | |
| Client A - Invoice #1042 | $4,000 x 0.7 = $2,800 | | | |
| Client B - Invoice #1055 | $1,500 x 0.95 = $1,425 | | | |
| **Total weighted receipts** | sum | | | |
| **Committed outflows** (one row per line) | | | | |
| Payroll | $6,200 | | | |
| Rent | $2,100 | | | |
| Loan payment | $800 | | | |
| Taxes (when due) | | | | |
| **Total outflows** | sum | | | |
| **Projected closing cash** | opening + weighted receipts - outflows | becomes next week's opening | | |
Carry the closing cash of each week into the opening cash of the next. Never
enter a receipt or an outflow you cannot point to a specific invoice, payroll
run, or bill for. If you cannot source a number, leave the cell blank and flag
it rather than guess.
## The receipt-weighting method
An invoice's stated due date is not when the money actually shows up. Weight
every expected receipt by that specific client's own payment history, not by
the invoice terms as written.
Reliability tiers (set from the client's actual pay history, not a guess):
| Tier | Definition | Weight |
|---|---|---|
| Always on time or early | Never paid late in the last 12 months | 0.95 |
| Usually on time | Late once or twice, never more than 2 weeks | 0.85 |
| Often slips | Late more than a third of the time, usually 2-4 weeks | 0.60 |
| Chronically late | Late most of the time, or has gone 30+ days past due before | 0.35 |
| New client, no history | Fewer than 2 completed invoices | 0.50 (revisit after invoice 2) |
Multiply the invoice amount by the tier weight and place that weighted figure
in the week you expect the payment, not the week the invoice was issued. Log
the tier next to each client name so the weight is not re-guessed each week.
As a client builds more paid invoices, move it to a more accurate tier; this
is where the forecast gets sharper over time.
## Accuracy expectations
A new forecast is not meant to be exact on day one.
| Stage | Expected accuracy |
|---|---|
| First full run | 50-60 percent |
| After 3-4 months of weekly refinement | 80 percent or better |
| Mature forecast, 4-week horizon | 90 percent or better |
| Mature forecast, 13-week horizon | roughly 70 percent |
The gap between projected and actual is expected to be large at first. It
should shrink week over week. If it is not shrinking after a month, the
reliability tiers are wrong for one or more clients: revisit them.
## Tracking tab
A second sheet (or a lower section of the same sheet) that logs, every week,
what you projected against what actually happened. This is what makes the
forecast sharper each week instead of restarting blind.
| Week of | Projected closing cash | Actual closing cash | Gap ($) | Gap (%) | Note (which client/outflow drove the gap) |
|---|---|---|---|---|---|
| | | | | | |
Fill this row in every week during the weekly loop, before recomputing the
new 13-week projection. A recurring gap tied to the same client name is the
signal to move that client to a lower reliability tier.
Sources
Merged from the top existing skills on the topic, with credit to every input.
Frequently asked questions
How do I know if I'll actually make payroll this month?
Build a 13-week rolling cash forecast: opening cash plus expected receipts (weighted by each client's real payment history, not invoice terms) minus committed outflows like payroll, rent, and taxes. Update it weekly and you see a payroll shortfall weeks out instead of the week it happens.
Why am I profitable on paper but always short on cash?
Profit counts revenue when it's invoiced; cash counts it when it actually lands. A 13-week direct-method forecast tracks the second number week by week, so the gap between the two shows up on the forecast before it shows up in the bank balance.
How do I know if one client is too big a share of my business?
Run a concentration check: that client's revenue as a percent of your trailing 90-day total. Above 10% is a first flag, above 25% is a real risk, above 40% is structural, and above 50% means the business is effectively built around that one client.
What do I actually do with an invoice that's 30 days past due?
Work it through a fixed collection ladder instead of chasing ad hoc: a courtesy reminder before it's due, an automatic-friendly nudge at day 1-7, a phone call at day 7-10, a firm written notice with new work held at day 14-30, and a formal demand or factoring past day 30.
How much cash reserve should my small business actually keep?
Aim for 3 to 6 months of operating expenses, sized off your own committed-outflows line rather than a round number. Fund it by skimming a fixed percentage off every deposit going forward, not from whatever is left over at month end; the median small business currently holds only around 27 days of buffer (BusinessNewsDaily).