# Cashflow Projection

> Cashflow projection for the next 90 days. Reads GnuCash snapshot and active project pipeline, models income against outgoings, flags break-even risk. Run monthly or when planning new work.

- Skill: `markbaindesign/cashflow-projection` (Agent Skill)
- Install (CLI): `npx skillmds@latest add markbaindesign/cashflow-projection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/markbaindesign/cashflow-projection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: markbaindesign (https://skillmd.com/u/markbaindesign)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/markbaindesign/cashflow-projection

---


# Cashflow Projection

Models business-level risk before it arrives: income vs. outgoings, break-even, and runway over the next 90 days.

## Steps

### 0. Load business context

Read `/media/data/Dropbox/Work/Admin/Financial/Accounting/aletheia-codex.md` before anything else. This is the authoritative record of account topology, money flow, and operating conventions. Use it to interpret which accounts obligations come from and how income is routed.

### 1. Read the financial snapshot

Read `/media/data/Dropbox/Work/Admin/Financial/Accounting/accounts.json`. If more than 24 hours old, run `python3 studio/collectors/gnucash_collector.py` to refresh.

Key fields:
- `total_eur` — current bank balance
- `upcoming_30d` — bills due in the next 30 days
- `upcoming_30d_total` — total obligations next 30 days
- `balance_after_30d` — cash after 30-day obligations
- `monthly_pl_recent` — last 3 months income/expenses/net
- `breakeven_allin` — €4,115/month (all costs + owner's draw)
- `fixed_costs` — €717.38/month

### 2. Read the pipeline

Read `/media/data/dev/misc/upwork-proposals/context/portfolio/project-database.csv`. Identify active projects (no End Date or End Date in the future). For each, note expected invoice amount and approximate timing.

Read `accounts.json`'s `harvest.invoices` field for outstanding (unpaid) invoices (sourced live from Harvest, not a local log). If `harvest.configured` is false or the field is missing, note that Harvest isn't wired up rather than silently treating it as zero outstanding invoices.

### 3. Build the 90-day projection

Model three months from today. For each month:

| Month | Expected income | Fixed costs | Variable costs | Net | Running balance |
|---|---|---|---|---|---|

- Expected income: invoices likely to be paid + new project starts
- Fixed costs: €717.38 + autónomo quota €300 = €1,017.38/month
- Variable costs: any known one-off expenses

### 4. Flag risks

- **Break-even risk**: any month where expected income < €4,115
- **Late-payment risk**: project >3 months with no interim milestone payment
- **Capacity conflict**: more than 2 concurrent projects at full capacity
- **Runway**: how many months of fixed costs remain if no new income arrives

### 5. Output

Return the projection table and a 2–3 bullet risk summary. Save to `/media/data/Dropbox/Work/Admin/Financial/Accounting/cashflow-{YYYY-MM}.md`.

Be direct. If month 2 looks thin, say so.

