---
title: Month-end Workflow
description: Once a month, log your balance sheet and cash flow together so net worth and savings rate stay current. Easiest way. Ask Claude to walk you through it. Slowest way. Do it yourself in the terminal, also fully supported.
---

export const askRows = [
  { cmd: '/month-end', desc: 'Claude walks every balance + flow category, batch-upserts in one call, and returns a settlement summary (net worth, net flow, savings rate).' },
  { cmd: '"Let\'s close out April"', desc: 'Plain conversation. Claude routes you through the month-end flow' },
];

export const cliRows = [
  { cmd: <code>firma add monthly</code>,           desc: 'Balance sheet + cash flow for the current month' },
  { cmd: <code>firma add monthly -p 2026-03</code>, desc: 'Entry for a specific past month' },
];

export const afterRows = [
  { cmd: <code>firma show balance</code>, desc: 'Review the balance sheet you just recorded' },
  { cmd: <code>firma show flow</code>,    desc: 'Review the cash flow you just recorded' },
  { cmd: <code>firma report</code>,       desc: 'See net worth trend, savings rate, and income breakdown across all months' },
];

export const editRows = [
  { cmd: <code>firma edit balance [YYYY-MM]</code>, desc: 'Re-run the balance wizard with values pre-filled' },
  { cmd: <code>firma edit flow [YYYY-MM]</code>,    desc: 'Re-run the flow wizard with values pre-filled' },
];

<Section label="Ask Claude">
  <CommandTable rows={askRows} />
</Section>

<section className="section">
  <p className="section-label">Why Use This<Badge>power user</Badge></p>

Running <code>firma add balance</code> and <code>firma add flow</code>
separately works, but <code>add monthly</code> keeps the context together -
same period, one sitting, and a combined summary at the end that shows
net worth, net flow, and savings rate at a glance.

  <CommandTable rows={cliRows} />
</section>

<Section label="firma add monthly">
The wizard runs in two phases. Existing values are shown as defaults
- press Enter to keep them. Overseas stock value is auto-filled from
your current holdings.

<div className="terminal">
  <div className="terminal-line">
    <span className="term-prompt">$</span>
    <span className="term-cmd">firma add monthly</span>
  </div>
  <div className="terminal-block">
    <div className="term-row"><span className="term-meta" style={{ color: 'var(--muted)' }}>  Period: 2026-04  (2026-04-30)</span></div>

    <div className="term-row" style={{ marginTop: '0.5rem' }}><span className="term-meta">── BALANCE SHEET ────────────────────────</span></div>
    <div className="term-row" style={{ marginTop: '0.25rem' }}><span className="term-meta">── ASSETS ──────────────────────────────</span></div>
    <div className="term-row"><span className="term-meta">◆  Cash</span><span className="term-val">$48,000</span></div>
    <div className="term-row"><span className="term-meta">◆  Investments  <span style={{ color: 'var(--muted)' }}>($283,400 auto)</span></span><span className="term-val">↵ keep</span></div>
    <div className="term-row"><span className="term-meta">◆  Pension</span><span className="term-val">$11,600</span></div>
    <div className="term-row"><span className="term-meta">◆  Real Estate</span><span className="term-val">$10,400</span></div>
    <div className="term-row"><span className="term-meta">◆  Vehicle</span><span className="term-val">↵ keep</span></div>
    <div className="term-row"><span className="term-meta">◆  Deposit</span><span className="term-val">$24,000</span></div>
    <div className="term-row" style={{ marginTop: '0.25rem' }}><span className="term-meta">── LIABILITIES ─────────────────────────</span></div>
    <div className="term-row"><span className="term-meta">◆  Credit Card</span><span className="term-val">$850</span></div>
    <div className="term-row"><span className="term-meta">◆  Loans</span><span className="term-val">0</span></div>

    <div className="term-row" style={{ marginTop: '0.5rem' }}><span className="term-meta">── CASH FLOW ────────────────────────────</span></div>
    <div className="term-row" style={{ marginTop: '0.25rem' }}><span className="term-meta">── INCOME ───────────────────────────────</span></div>
    <div className="term-row"><span className="term-meta">◆  Salary</span><span className="term-val">$13,720</span></div>
    <div className="term-row"><span className="term-meta">◆  Business</span><span className="term-val">0</span></div>
    <div className="term-row"><span className="term-meta">◆  Dividends</span><span className="term-val">$244</span></div>
    <div className="term-row" style={{ marginTop: '0.25rem' }}><span className="term-meta">── EXPENSES ─────────────────────────────</span></div>
    <div className="term-row"><span className="term-meta">◆  Personal</span><span className="term-val">$6,200</span></div>
    <div className="term-row"><span className="term-meta">◆  Rent</span><span className="term-val">$1,000</span></div>
    <div className="term-row"><span className="term-meta">◆  Utilities</span><span className="term-val">$278</span></div>
    <div className="term-row"><span className="term-meta">◆  Insurance</span><span className="term-val">$139</span></div>
    <div className="term-row"><span className="term-meta">◆  Phone</span><span className="term-val">$92</span></div>

    <div className="term-row" style={{ marginTop: '0.5rem' }}><span className="term-meta" style={{ color: 'var(--muted)' }}>  Summary  2026-04</span></div>
    <div className="term-row"><span className="term-meta">  Net Worth</span><span className="term-val">$443,400</span></div>
    <div className="term-row"><span className="term-meta">  Net Flow</span><span className="term-val" style={{ color: 'var(--green)' }}>$6,255</span></div>
    <div className="term-row"><span className="term-meta">  Savings Rate</span><span className="term-val">44.8%</span></div>
  </div>
</div>

  <Note>
    Pressing Enter on any field keeps the previous month's value.
    Overseas stock is always auto-filled from your current holdings and
    the live FX rate. No manual entry needed.
  </Note>
</Section>

<Section label="After Entry">
  <CommandTable rows={afterRows} />
</Section>

<Section label="Editing & Deleting">
To correct a specific entry after the fact, use the individual edit commands:

  <CommandTable rows={editRows} />

  <Note>
    There is no <code>firma edit monthly</code>. Edit balance and flow separately
    since they are stored independently.
  </Note>
</Section>
