For Finance · Every token counts.
Defend the AI bill, line by line.
When the AI line item shows up on the variance report, you already have the row that explains it — signed by SSO, tagged to a project task, allocated to a GL code, immutable at the SQL layer.
The last week of the quarter
Reena runs FP&A. She used to call this week “AI archaeology.”
Old world
Five invoices. Four spreadsheets. Two days of pinging engineers.
OpenAI charged $42k. Anthropic charged $61k. Nobody can map either back to a product line. Reena calls the variance “Other.” The CFO underlines it.
After Tokenality
One query. By project, by team, by GL.
Project Alpha: $28.4k, 83% Anthropic. Onboarding initiative: $11.2k, four engineers. Reena clicks Export CSV. It posts to Workday before her coffee's cold.
In the variance review
The AI line item stops being the awkward one.
The CFO asks who's over budget. Reena pulls up the project view: nobody is. Two budgets blocked themselves at 90% last Tuesday — Engineering already adjusted.
What becomes true
Four things stop being projects.
Month-end close on AI: an afternoon, not a week. Filter, export, done.
Hard budget caps that the gateway enforces before the LLM is called — surprise invoice ends.
Chargeback CSV that joins to Workday or Netsuite without a translation layer.
When Engineering says "the agent ran away," the row says it didn't — the cap stopped it.
How it actually works
Spend Tokens are the second factor on the bill.
Every virtual key is bound to a budget at issuance — the cap is signed into the token envelope itself. The gateway verifies it offline, before any LLM call. When it's exhausted, the response is 402 Payment Required — not an alert email after the fact.
# Issued with a $500 hard cap, bound to Project Alpha's GL
eval $(vis-issue alice proj-alpha --cap 500 --gl 6210-AI-RND)
# Every commit lands on the ledger
{
"person": "[email protected]",
"project": "proj-alpha",
"task": "PROJ-128",
"gl": "6210-AI-RND",
"model": "claude-haiku-4-5",
"spend": "$0.0142",
"remaining": "$487.18"
}
# Cap hit → 402 before the LLM is called. Zero overrun.Your GL stays source of truth.
We post to your ERP, we don't replace it. Chargeback exports land joinable to the cost-center and account-code structure you already use.
Workday
Cost-center mapping + GL allocation
Netsuite
Chargeback CSV → GL postings
QuickBooks
Class + customer tagging for project rollups
Sage Intacct
Multi-entity AI spend allocation
SAP
Cost-center + WBS mapping at the line level
Snowflake
Ledger replication for FP&A analytics
Three other people are asking different questions.
The same row in our ledger answers all four. Pick the door that matches the meeting you're in.