CxOPack
KIT · 03 / 05

CFO Kit

Cash discipline, metrics you can defend, investor-grade numbers.

The CFO Kit turns your Stripe export into a defendable metric deck, keeps your 13-week cash flow up to date in 10 minutes a week, and flags concentration risk before an investor does. It won't replace your accountant — it makes you the founder who never shows up to a board call with bad math.

#1. Review, plan, brainstorm

Before you install anything: find your financial raw data. If you don't know where your Stripe export lives, fix that first.

Answer these first

  1. When did you last update your cash flow? (If 'never' or '>30 days', that's the #1 thing the kit fixes.)
  2. If asked right now, can you name: MRR, ARR, monthly burn, runway in weeks? (To the nearest 10%.)
  3. What percentage of your MRR comes from your top customer? Your top 3? (>20% from one = concentration risk.)
  4. When is your next investor update / board call / fundraising push? Count back 4 weeks — that's when you should start using the kit.

Brainstorm prompts

  • If an investor asked to see your data room *tomorrow*, what's missing?
  • Which of your recurring expenses do you not fully remember signing up for? (Run the audit.)
  • If your runway halved next month, what are the first 3 things you'd cut? Those aren't essential — why are they in there now?

#2. Connect MCPs and tools

Install these MCP servers (or their equivalent integrations) to make the CFO Kit 10× more useful. Not all are required — pick the top 1–2 to start.

Stripe

saas-metrics pulls subscription data directly — MRR, ARR, churn from transactions, not guesses.

Docs
Plaid or bank MCP

cash-flow-13w reads actual balances + recent outflows, no copy-paste from bank exports.

Docs
QuickBooks / Xero / Pennylane

Investor-grade P&L + balance sheet on demand, without bugging your accountant.

Docs
Google Sheets

cash-flow-13w can write directly to a shared sheet so co-founders + investors can view live.

Docs
Notion

data-room writes the investor-ready folder structure and missing-docs checklist.

Docs
Don't have MCP set up yet?
MCP is the Model Context Protocol — Anthropic's standard for letting AI tools read from your software. Install guides: Claude Code MCP setup. ChatGPT uses Actions (OpenAPI) instead of MCP — same capabilities, different protocol.

#3. Define your cadence

The CFO Kit works because you run it consistently. Block the weekly ritual in your calendar now — even 15 minutes, non-negotiable, beats 2 hours every 3 months.

Daily

  • Never·
    Finance is a weekly discipline, not a daily one. Resist the urge to check MRR more than once a week.

Weekly

  • Friday 16:30·10 mincash-flow-13w
    Roll the 13-week cash flow forward one week. Flag any delta >2 weeks.

Monthly

  • First business day·30 minsaas-metrics
    Pull SaaS metrics snapshot. If NRR dropped below 95% or a single customer >20% MRR, act that week.
  • Before every investor update·20 min
    Generate the numbers block: MRR, ARR, runway, top-of-funnel, all with MoM delta.

Ad-hoc

  • Before any pricing change·60 min
    Pricing experiment: hypothesis (conversion drop %, ARPU rise %) + kill criterion + 30-day notice to existing customers.
  • Before fundraising·half-day
    Build the data room: cap table, bank statements, Stripe export, P&L, investor updates. Close the checklist.

#4. Use the skills

Every asset in the CFO Kit — with when to trigger it, the exact step-by-step, an example in/out, and the common pitfalls. Read them once; refer back as you run the cadence.

cash-flow-13wSkill
Trigger
"update the cash flow" / "what's my runway"
When to use
Weekly, Friday afternoon. It takes 10 minutes if you do it every week. It takes 2 hours if you wait a month.
Step-by-step
  1. Reads last week's cash-flow file in finance/ (if any) and rolls it forward.
  2. Asks you to confirm actuals for the just-ended week: cash in, cash out.
  3. Flags any 'expected' line that didn't materialize — moves to next week or downgrades to 'possible'.
  4. Applies conservative model: inflows × 0.7, outflows × 1.1.
  5. Outputs markdown + CSV. Runway delta vs. last week in bold if >2 weeks.
Example input
"Actuals last week: in €1,200 (Stripe), out €4,500 (hosting + salary + 1 contractor). Expected this week: €2,800 in from 2 annual renewals."
Example output
13-week table, closing cash €58.4k, runway 5.3 months (was 5.6 last week, Δ −0.3w), variance paragraph: 'Contractor invoice was expected 2 weeks ago — shift to possible.'
Pitfalls
  • Don't show P&L-style accruals. This is CASH only.
  • If you skip a week, the rollforward loses fidelity. Set a Friday calendar block.
saas-metricsSkill
Trigger
"compute my MRR / churn / NRR"
When to use
First business day of each month. Also before any investor interaction.
Step-by-step
  1. Point the skill at your Stripe export (CSV or live via MCP).
  2. It computes: MRR, ARR, Net New MRR, logo & revenue churn, NRR, GRR, ARPU, CAC (fully loaded), LTV (capped 36 months), LTV/CAC, CAC payback.
  3. Flags concentration risk: single customer >20% MRR, vendor >50% COGS.
  4. Interprets — doesn't just list. 'NRR dropped below 95% — investigate expansion pipeline before next board update.'
Example input
Stripe subscriptions.csv
Example output
MRR €5,100 (+18% MoM), ARR €61.2k, NRR 108%, logo churn 2.1%, CAC €180, LTV €1,800, LTV/CAC 10x, CAC payback 6.5 months. 🚨 One customer represents 22% of MRR — diversify or lose them = 22% hit.
Pitfalls
  • Don't blend enterprise + SMB customer segments. The skill will ask which cohort to compute for.
  • CAC without founder time = vanity. Include a shadow rate for your own hours.
investor-updateSkill
Trigger
"prep the numbers for the investor update"
When to use
First business day of each month, or before any investor interaction.
Step-by-step
  1. Pull metrics from founder-log/metrics/ (run saas-metrics first if stale).
  2. KPI table with MoM delta: cash, burn, runway, MRR, net-new MRR, ToFu, churn, NRR.
  3. 1-paragraph interpretation (≤4 sentences).
  4. Auto-flag red conditions (runway −2mo, churn >5%, NRR <90%, concentration >20%).
Example input
Stripe export + last month update
Example output
9-metric table with sources and deltas. 'MRR +18% from PH launch cohort; NRR dipped to 94% on 2 SMB downgrades; runway −1.5mo from hiring ramp.'
Pitfalls
  • 'Steady growth' as interpretation — flat = concerning.
  • Hiding bad months.
data-roomSkill
Trigger
"prep for fundraising" / "build the data room"
When to use
90 days before a planned raise.
Step-by-step
  1. Generate 8-section folder tree under data-room/ (company, financials, product, customers, market, team, legal, pitch).
  2. Write data-room/00-readme.md with index + contact + latest metrics.
  3. Checklist tagged Must-have / Nice-to-have / Skip per round.
Example input
"pre-seed round"
Example output
Tree populated. Readme with MRR, runway, churn. ❌ 3 Must-have missing (cap table, metrics snapshot, customer list).
Pitfalls
  • Sharing a messy Google Drive = 2 weeks of back-and-forth.
  • Stale numbers that don't match the last update.
pricing-experimentsSkill
Trigger
"should I raise prices" / any pricing change
When to use
Any pricing change — never silent.
Step-by-step
  1. Baseline: current conversion, ARPU, monthly new customers, churn.
  2. Hypothesis: expected conversion, ARPU, revenue-per-visitor.
  3. One primary metric, specific guardrails, rollback plan within 24h.
  4. 30-day notice for existing customers if increase.
Example input
"Anchor $29 → $49"
Example output
Hypothesis: conv −10-15%, ARPU +69%, RPV +45%. Guardrail: rollback if conv −25% for 2 weeks. Notice template attached. Review: 60 days.
Pitfalls
  • "Let's just try it" — no baseline = can't read.
  • Running 3 experiments at once.
runway-scenariosSkill
Trigger
"model my runway" / "what if X happens"
When to use
Monthly, or after any significant event (hire, churn, price change).
Step-by-step
  1. Read 3 months of actuals.
  2. Build Base (trailing ×0.9), Bull (×1.5 + hires), Bear (flat or −20%, no hires).
  3. Per scenario: 12-month table + specific trigger to switch + pre-planned actions.
  4. Key dates: plausible fundraise, required fundraise, zero runway.
  5. Flag if Base ≤9 months.
Example input
€180k cash, €15k burn, 3 actuals
Example output
Base 12mo, Bull 18mo, Bear 7.5mo. Fundraise required by 2026-11. Switch-to-Bear trigger: 2 flat months OR top-3 churn.
Pitfalls
  • Budgeting like Base regardless of signal.
  • Ignoring fundraise lead time (3-6 months).
Your first win
Run saas-metrics on your Stripe export today. Either you learn your NRR for the first time, or you confirm what you thought — both are valuable.