Valistry

Google Cloud billing

Two queries over your billing export: the daily cost of every service by project, and the daily cost of the GPU and TPU SKUs. Never a prompt, never a resource, never anything but money.

Access

Kind
A read-only key you paste
What to give
Read-only service account
Why that one
A service account with BigQuery Job User on the project and BigQuery Data Viewer on the billing dataset. Valistry runs two queries over your billing export and nothing else.

What it attributes on its own

From the source
day · service as Google bills it · project · the GPU and TPU SKUs · what Google charged
Needs a rule or a trace
the model and the tokens — a GPU hour and a Document AI page have neither · Vertex AI, which has its own source · team, workflow and agent unless your project labels carry them · outcome

The addresses it calls

  • https://oauth2.googleapis.com/token
  • https://bigquery.googleapis.com/bigquery/v2/projects/

Only these. A call anywhere else is refused before it leaves, and every call is logged.

Connecting it

  1. Check the billing export exists. Billing → Billing export → BigQuery export. If the daily cost detail export is off, switch it on; it backfills nothing, so the ledger starts from the day you enable it. Open ↗
  2. Use the service account you already made, or create one. The Vertex AI source asks for the same two roles, so one account can serve both. Open ↗
  3. Paste the email, the private key, the project and the table. Valistry runs both queries against the last thirty days, reports which services it found and which it left out, and stores the key only if the read succeeded.

Vertex AI is left off these rows on purpose and reported beside them; connect Google Vertex AI for it, which reads the model from the SKU as well. Where your projects carry labels for team or service, they can be read into attribution later.