Skip to content

SOP-029 — Utilization & cost report

Guide

<!-- last-reviewed: 2026-06-01 · owner: Finance (Financial Analyst) -->

SOP-029 — Utilization & cost report

SOP · owner: Finance (Financial Analyst). Layer: SOP/Runbook (docs/canon.md). Schema lives in docs/financial-system.md — not restated. Plan-phase note: the ledgers and finance/budgets.csv do not exist yet; until the Plan→Build gate a report says “system plan-phase; no ledger data.”

Interface Contract

  • Inputs: ledger slice ← from self (ledgers maintained via SOP-028) · trigger: usage data ready
  • Inputs: budget caps ← from Finance Director · trigger: budget proposed
  • Outputs: daily burn-vs-budget summary → to Personal Assistant · trigger: finance summary ready
  • Outputs: model-mix / cost data → to AI Systems Director · trigger: finance summary ready
  • Outputs: per-venture / per-agent P&L report → to Finance Director · trigger: review requested
  • Outputs: report file → to Archivist · trigger: artifact approved
  • Handoff trigger (in): a reporting period closes or a report is requested
  • Handoff trigger (out): the report is written, anomalies flagged, and delivered to its consumer
  • Definition of Done before handoff:
    • [ ] Cross-rate applied to all AI rows; unified “cost of work” computed
    • [ ] Spend vs. budget computed per scope (or “no budget cap on file” stated)
    • [ ] Anomalies flagged (scope >80% cap · single txn >20% scope cap · model spike) — surfaced, not buried
    • [ ] Report written to reports/finance/YYYY-MM-DD-<scope>.md; daily summary is a tight paragraph for the PA, not a full report
    • [ ] Finance Director review before any Principal-facing P&L
    • [ ] Learnings captured to docs/knowledge/ if any
    • [ ] Report handed to the Archivist (0 drift)

Proposed new triggers (usage data ready, budget proposed, finance summary ready) — reported to Operations, not added inline. review requested, artifact approved already exist in docs/handoff-triggers.md.

Purpose

Turn the two ledgers into legible reports — daily burn vs. budget for the PA’s briefing, model-mix for AI Systems’ cost-optimization, and per-venture/per-agent P&L for the Finance Director and Principal — with anomalies surfaced, not buried.

When to use

Daily (the burn-vs-budget summary for the PA), at period close (weekly / per-venture), or on request (a Principal decision brief, a model-mix review).

Flow

flowchart LR
  A["Define scope:<br/>period / ledger / audience"] --> B["Read ledger slice"]
  B --> C["Apply cross-rate →<br/>usd_equiv"]
  C --> D["Aggregate:<br/>spend vs budget, P&amp;L, model mix"]
  D --> E["Flag anomalies"]
  E --> W["Write report"]
  W --> X{"Audience?"}
  X -->|daily| PA["Tight paragraph → PA"]
  X -->|P&amp;L| FD["→ Finance Director review"]
  classDef s fill:#1d4ed8,color:#fff,stroke:#1e3a8a
  classDef d fill:#0f766e,color:#fff,stroke:#134e4a
  class A,B,C,D,E,W,PA,FD s
  class X d

Text fallback: define the scope (period / ledger / audience) → read the ledger slice → apply the cross-rate to get usd_equiv → aggregate spend-vs-budget, P&L, and model mix → flag anomalies → write the report → route by audience: a tight paragraph to the PA for the daily briefing, or the full P&L to the Finance Director for review before it reaches the Principal.

Steps

  1. Define scope — period, ledger(s), and audience (PA daily / Finance Director review / Principal brief).
  2. Read the ledgers for the period (Grep, Glob, Read); pull matching entries.
  3. Apply the cross-rate — convert every AI row to usd_equiv from finance/rates.csv; sum with money spend for “cost of work” by venture/agent.
  4. Aggregate — spend vs. budget per scope; per-venture/per-agent totals; model mix by token volume and USD equivalent; cache-hit rate.
  5. Flag anomalies — scope >80% of cap, single txn >20% of scope cap, model spend spike >20% vs. prior period, entries missing required fields. Surface, don’t bury.
  6. Write the report to reports/finance/YYYY-MM-DD-<scope>.md — exec summary, tables, anomalies. The daily summary is a tight paragraph for the PA, not a full report.
  7. Deliver to the consumer (PA for daily; Finance Director for review before any Principal-facing P&L); hand the file to the Archivist.

Roles / approvers

Run by the Financial Analyst (or the Finance Director when unhired). The Finance Director reviews any P&L before it reaches the Principal. The Analyst produces data and reports; it does not approve spend, set budgets, or interpret model architecture.

Guardrails

  • Anomalies surfaced, never buried — the report’s job is to make cost legible, including the uncomfortable parts.
  • No invented denominators — if no budget cap is on file, say so; do not fabricate a budget to compute burn-vs-budget.
  • Model-mix data only, not model recommendations — interpretation is the AI Systems Director’s.
  • Never include the Principal’s personal financial information — PA-only.
  • Do not restate docs/financial-system.md — link to it.

See also: SOP-028 (ledger upkeep) · SOP-026 (spend approval) · docs/units/finance/charter.md · docs/handoff-triggers.md.