Tab · Insights

Billing outcomes

Hand a client a one-page invoice that defends every billable AI minute. Per-client / contractor invoice export (CSV + print-to-PDF), proof-of-work line items, consent-mode watermark, outcomes panel. Reuses /api/billing/by-account.

See it in motion

Where to find it

  • Localhost: /billing-outcomes.html?repo=<id>
  • API: GET /api/billing/by-account?repo=<id>
  • Keyboard: K then invoice
  • Sidebar: Insights → Billing outcomes

What it does for you

One line item per billable session.Each row: date, scope (feature shipped, bug fixed, audit run), active hours (idle-capped), rate, total. The client sees the work, not the tooling.
Consent-mode watermark on every export.Metadata-only and content-redacted exports carry a watermark so the recipient knows the privacy mode. Off-prem clients get an unambiguous trail.
CSV + print-to-PDF, no SaaS dependency.The export is local — CSV for accounting, browser print-to-PDF for the email attachment. No third-party invoice service in the loop.

Configure

Rates per developer/contractor live in repos.config.json under billing.rates. The outcomes column reads from the matching session's commit message — write a scoped commit, get a scoped line item.

Use it well

At the end of the billing cycle, filter by client + date range. Skim the outcomes column — every line should make sense to the recipient. If a row is vague, open the session detail and add the missing scope to the commit; re-export.

Read more