Codensics

Your AI coding bill doubled. You cannot tell finance why.

Cursor. Claude Code. Copilot. Same developer, same sprint, three invoices and zero chargeback. Codensics attributes AI coding spend to the team, the release and the tool that caused it, enforces budgets before the request leaves, and leaves a receipt on every accepted AI edit.

Claude Code Cursor GitHub Copilot Codex any git workflow
The problem

Spend is growing faster than anyone can account for it.

The invoices arrive per tool. The budget is set per team. Nothing connects the two, so the conversation with finance starts from guesswork.

108%

Year on year jump in enterprise AI spend, averaging $1.2M per organisation, with 78% hitting unbudgeted charges.

Source to confirm before publish
31%

Of AI spend is attributable to an outcome. The other 69% is a number with no team, no release and no return attached to it.

Source to confirm before publish
36%

Of organisations track AI spend without measuring what it returned, which makes the budget conversation a negotiation rather than a decision.

Source to confirm before publish

The pattern is already public. Organisations have exhausted a full year of planned AI budget within months of scaling coding agents, and found out from the invoice rather than from a dashboard.

Try it

The same spend, attributed three ways.

Switch the dimension. The total does not move, because it is the same money. What changes is whether anyone can act on it. Pick a row to follow one record from prompt to spend.

AI coding spend, this quarter

$110,600

attributed by team

Illustrative data

Provenance

Every accepted AI edit leaves a receipt.

Attribution is only trustworthy if it reaches the commit. Codensics records which agent wrote the change, who it was acting for, and under what scope, at the moment the edit is accepted.

src/auth/tokenRefresh.ts claude-code
async function refreshToken(session: Session) { - const res = await fetch(REFRESH_URL, { method: 'POST' }) - return res.json() + const grant = await writ.request('auth.refresh', session.actor) + if (!grant.allowed) return deny(grant.reason) + const res = await fetch(REFRESH_URL, { method: 'POST', headers: grant.headers }) + return res.json() }
agentclaude-code
acting asa.reyes
scoperepo:auth write
receiptcommitted

Illustrative editor surface, not a screenshot

Budgets

Enforced before the request leaves.

Reporting tells you what you already spent. A budget that means anything has to act earlier than that.

Reporting after the fact

You find out from the invoice

Spend is reconciled at the end of the month, by which point the money is gone and the only available action is a conversation about next quarter. A dashboard that reports an overrun is describing something it could not prevent.

Enforced at the boundary

The request does not leave

Budgets are enforced before the request goes out, so a team that has reached its ceiling is stopped rather than billed. The refusal is recorded like any other action, which means the overrun that did not happen is as visible as the spend that did.

What you get

The number finance is asking for.

01

Finance-grade chargeback

Spend resolves to a team, a release and a cost centre, in a form that survives contact with a finance review rather than a form that only makes sense to the platform team.

02

One view across every tool

Claude Code, Cursor, Copilot and Codex arrive as separate invoices and land in one record, so the same developer in the same sprint stops appearing as three unrelated line items.

03

Agent and human, told apart

What an agent wrote and what a person wrote are attributed separately. Without that split, the question of what the spend actually bought has no answer.

Where it sits

Codensics extends Receipts into the IDE.

It is not a separate ledger running alongside the platform. Codensics is the developer-workflow layer on top of Receipts, so a coding agent's activity lands in the same record as everything else an agent does.

Receipts

The record everything writes to

Who acted, under what grant, with what context, published where. Every product on the platform writes here, which is why a coding agent and a customer-service agent produce the same kind of evidence.

Codensics

The developer-workflow layer

Adds what a coding workflow needs on top of that: the tool, the model, the accepted diff, the commit, the release and the cost. A superset of Receipts rather than a parallel to it.

Questions

Attribution, budgets and provenance, answered.

What engineering leaders and their finance partners ask before the first walkthrough.

How do you attribute AI coding spend to a team?

Codensics ties each request to the developer who made it, the commit that accepted the output, and the release that commit shipped in, so spend resolves to a team rather than to a tool invoice. The same quarter of spend can then be read by team, by release or by tool without the total changing, because it is one record being attributed rather than three reports being reconciled.

Does it work across Claude Code, Cursor and Copilot at once?

Yes. Codensics produces one record across the coding tools in use, including Claude Code, Cursor, GitHub Copilot and Codex, alongside any git workflow. The problem it solves is specifically that the same developer in the same sprint currently appears as three separate invoices with no way to add them up.

Can you tell what an agent wrote from what a person wrote?

Yes, and they are attributed separately. Every accepted AI edit is recorded with the agent that produced it, who it was acting for, and the scope it ran under. Without that split there is no way to answer what the AI spend actually bought, because agent and human output are indistinguishable in the commit history.

Does Codensics only report on spend, or can it prevent overruns?

Budgets are enforced before the request leaves, not reconciled afterwards. A team that has reached its ceiling is stopped rather than billed, and the refusal is recorded like any other action. Reporting alone can only describe an overrun it had no ability to prevent.

What is AI coding spend chargeback?

Chargeback is assigning AI coding costs back to the teams and cost centres that incurred them, rather than carrying them as one central line item. It requires attribution that survives a finance review, which means spend has to resolve to a team, a release and a cost centre rather than to a tool subscription.

How is this different from the usage dashboard in each tool?

A per-tool dashboard can only see its own tool, and it stops at the request. It cannot tell you which release the output shipped in, which cost centre owns it, or whether an agent or a person wrote the code. Codensics records the chain from prompt through accepted code and commit to release and spend, across tools.

How does Codensics relate to Receipts?

Codensics is not a parallel product. It extends Receipts into developer environments, adding what a coding workflow needs on top of the same record: the tool, the model, the accepted diff, the commit, the release and the cost. A coding agent's activity lands in the same evidence record as any other agent's.

Does it require changing how developers work?

It sits with the tools and the git workflow already in use rather than replacing them. The attribution is produced from the work as it happens, which is what makes the resulting number defensible, since it is not reconstructed after the fact from invoices and guesswork.

See it in action

Give finance the number, not the invoice.

By team. By release. By tool. Agent and human, told apart.