Skip to main content

/cfo-report-dashboard

/cfo-report-dashboard is the design-forward reporting path for CFO Stack. It turns a valid main.beancount entrypoint into a static dashboard bundle:

  • index.html
  • dashboard.css
  • dashboard-data.json

The generator reads Beancount through bean-query, infers whether the ledger looks like a business or a household profile, and renders a polished HTML dashboard with Bun, React, TypeScript, and Tailwind v4. No model is required at runtime, and every figure stays traceable to ledger-backed extracts.

Use it​

After ./setup:

./bin/cfo-dashboard ./ledger/main.beancount
./bin/cfo-dashboard examples/canadian-company/main.beancount
./bin/cfo-dashboard examples/canadian-family/main.beancount --profile household
./bin/cfo-dashboard --sample-set all

Default output goes under ignored reports/ directories so generated artifacts do not pollute git history.

What It Shows​

  • Business ledgers: income statement, balance sheet, direct cash flow, revenue mix, expense mix, asset/liability load, and recent activity.
  • Household ledgers: net worth, liquid cash, savings rate, income/spending mix, direct cash flow, and review queue context.
  • Review thresholds respect policy lookup order: ledger-local cfo-stack.yaml, then global ~/.cfo-stack/config.yaml, then the setup default.

Live Demos​

These demos are generated during the docs build and shipped as static HTML under /demo/report-dashboard/. This page embeds all six sample dashboards generated from the examples/ ledgers.

Included Sample Ledgers​

  • examples/usa-company/ — US solo consulting business
  • examples/canadian-company/ — incorporated Canadian service business
  • examples/usa-individual/ — salaried US individual ledger
  • examples/canadian-individual/ — salaried Canadian individual ledger
  • examples/usa-family/ — US household ledger
  • examples/canadian-family/ — Canadian household ledger

US Company Sample​

Open standalone HTML demo

Canadian Company Sample​

Open standalone HTML demo

US Individual Sample​

Open standalone HTML demo

Canadian Individual Sample​

Open standalone HTML demo

US Family Sample​

Open standalone HTML demo

Canadian Family Sample​

Open standalone HTML demo

Refresh the Demos​

cd docs
bun run generate-demos

This writes fresh demo bundles to ignored docs/static/demo/report-dashboard/.