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.