---
title: "Token Observe versus spreadsheets and billing consoles"
canonical_url: "https://tokenobserve.com/compare/spreadsheets-and-billing-consoles"
published: 2026-09-07
last_updated: 2026-10-21
---

# Token Observe versus spreadsheets and billing consoles

Finance owns the total. This owns the shape: a vendor, a tool, a team and an owner email on every line.

## The comparison

The card statement tells you what AI cost last month, and it is right. What it cannot tell you is the shape of it: which team, which tool, who signed it off, and why it went up. Token Observe is a register of your AI subscriptions and API accounts, every line carrying a vendor, a tool, a team and an owner email against one of three authorization states: approved, prohibited or unknown, with unknown as the default. You map the charge lines out of your own finance export onto its import template, and the dashboard validates the file and shows you the parsed lines before anything is written. The import path needs no billing credential or vendor console login. Billed amounts are reported per currency; metered token estimates are recorded separately and never added to them.

## Named products in this category

None. This comparison is against doing nothing, which has no vendor and no product.

## Facts

- What you feed it: Your finance export, mapped onto the import template
- What you grant: Nothing: no billing credential, no console login
- Two numbers: Billed per currency, metered estimates recorded apart
- Authorization states: Approved, prohibited or unknown (unknown by default)

## The limit

It discovers nothing: A subscription on no invoice you give it stays unknown

## Where they win: The spreadsheet is free, already written, and right for a small estate.

A spreadsheet needs no deployment, no backup owner and can hold a subscription that has never appeared on an invoice: a trial, a personal card, a line buried in a larger cloud bill. Token Observe cannot do that at all: an import finds what the invoice lists. If one person can name every AI service the business pays for without asking anyone, the spreadsheet is not failing.

The billing console wins on a point this never argues with. It is the vendor’s own record of what you were charged, and the only place a subscription can be cancelled. Token Observe imports a copy; it cannot end a seat. The ledger here is append-only too, so a wrong line is corrected by a credit rather than edited in place: right for evidence, slower for a typo.

## The difference, dimension by dimension

### What the number is

Them: One total per vendor per month. Correct, and the only shape it comes in.

Token Observe: The same amounts, per currency, subscription and API apart, each line naming a vendor, a tool, a team and an owner.

### Who owns the line

Them: Depends on the sheet’s owner and how consistently vendor, tool and team fields are maintained.

Token Observe: A charge binds to a register entry only when vendor, tool, team and owner all match. A mismatch is refused rather than attributed to the nearest thing.

### The approval

Them: The email thread where somebody said yes, findable if you remember the search terms.

Token Observe: One of three authorization states, defaulting to unknown. Reads need viewer rank, writes need operator rank, and every change is audited.

### What silence means

Them: A tab nobody filled in and a tool with no spend look identical.

Token Observe: A source nobody has connected reads as unknown rather than zero, and the estate report hard-codes its own completeness to false.

### The input is a file you map, not a credential you grant.

The cloud pilot connects supported provider billing reporting sources with their required credentials. The existing invoice-import path is separate; there, you supply a file: you map the charge lines out of the export finance already produces onto an import template with ten required columns and two optional columns — external id, vendor, tool, team, kind, currency, amount, charge date and the two service-period dates — and the dashboard validates it and shows you the parsed lines before anything is written. An unknown column or inconsistent attribution refuses the batch whole, and one import is bounded to 1,000 lines.

One credential does exist, and it belongs on a page about credentials. Two scheduled pull connectors ship — GitHub Copilot seat spend and Cisco Umbrella activity — each holding a narrow, read-scoped credential you supply into somebody else’s console, off until you set it and not needed to import an invoice. The defensible line is no standing broad credential into your stack, not none at all.

### Start with unknown. Record each decision.

An entry starts as unknown and stays there until a named person marks it approved or prohibited. The change is audited with that person’s identity, so you can see who made the decision.

- Coverage is its own axis: A source nobody has connected reports no traffic, and no traffic reads as clean on every chart ever drawn. The estate report sets its own completeness to false and lists why.
- Where approval suppresses a finding: The seat-spend detector reads the register first, so a subscription you have approved is not reported as unauthorised seat spend. Billing reconciliation, network egress, the key audit and IDE telemetry do not consult it.

## Choose the alternative when

- One person can name every AI service the business pays for, without asking anyone. The spreadsheet is being kept by somebody who knows.
- The AI bill is one vendor, on one card, in one currency. An owner on every line is a lot of structure for a list of one.
- Nobody outside IT has asked the follow-up question yet. While the total is all anyone wants, the total is doing its job.
- You want the number to go down rather than explained. This attributes spend and records decisions; only the vendor can end a seat.
- You want the subscriptions found for you. An import finds what the invoice lists, so anything nobody has invoiced you for stays outside it.

## Choose Token Observe when

- You gave the CFO a number off the card statement, and the next question was which teams, which tools and who approved them.
- The bill is now several subscriptions plus a metered API account, in more than one currency, and the spreadsheet reconciles against neither.
- Somebody has left and you cannot say which of their subscriptions are still being paid for, or who owns them now.
- The billed figure and the metered estimate have to stay apart, because a blended total is the one number the invoice will never agree with.

## Questions and answers

Q: Does it connect to our billing, or to the vendor consoles?
A: The cloud pilot reads supported provider billing APIs with supplied reporting credentials. Separately, the invoice-import path takes an operator-supplied vendor master bill. You map your finance export onto the import template and post it, as CSV in the dashboard or as the same fields in JSON. Two scheduled pull connectors do ship — GitHub Copilot and Cisco Umbrella — and they are seat and network evidence rather than billing, each on a narrow read-scoped credential you supply and can withhold.

Q: Will it find the subscriptions we have forgotten about?
A: No. An import finds what the invoice lists, so a subscription never invoiced to an account you export from stays unknown until a person registers it. The shadow-AI radar reconciles evidence you feed it — bills, network egress, service-account keys, IDE telemetry — but a network feed gives you a destination rather than a transcript, and a hostname is not a verified identity. Chasing a finding stays your work.

Q: Can it give us one AI number for the board?
A: Not one. It gives you two and refuses to add them. A subscription invoice is money that has already moved; a metered token estimate is a calculation over observed traffic using a price table, and a blended total is true of neither. Currencies work the same way: each is reported as billed, and no exchange rate is applied anywhere.
