Skip to main content

/report-dashboard

/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/.