Spend · Billing outcomes

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/per-client/outcomes?repo=<id>
  • Keyboard: K then invoice
  • Sidebar: Insights → Billing outcomes

What it does for you

One line item per billable session.Each row: date, session, source tool, model, tokens, and cost (the session's tracked LLM API spend). The proof-of-work column ties the row to what the session shipped. The client sees the work, not the tooling.
Consent-mode watermark on every export.Every export carries a consent-mode watermark (strict, full, or mixed) so the recipient knows which consent states are included. 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

Each session's cost is its tracked LLM API spend, summed from raw token counts; there is no per-developer or contractor rate to configure. 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