What you do (and what you never have to change)
- Keep calling your Vertex endpoints exactly as today. No proxy, no key sharing, nothing moves.
- At design and CI time the engines answer the Vertex questions: Gemini family selection, provisioned-throughput vs pay-as-you-go break-even, context caching ROI, model eligibility per workload.
- Enable the Cloud Billing detailed export to BigQuery: daily, SKU-level, label-aware. Forward the daily extract to the actuals inbox as gcp-*.csv - or export FOCUS format and it ingests natively with no prefix.
- Governance: model-eligibility gates encode which Vertex models are permitted per workload; policy exports as an executable policy_patch when a gateway fronts your traffic.
DAILY costs - you never wait for the invoice: Daily SKU-level rows via the BigQuery export; real-time via the modeled lane when your app emits usage metadata. You never wait for the invoice.
And the same engines that price it recommend the fix: cheaper eligible models, caching and batch wins, plan-vs-API breakpoints - refreshed as your usage lands, so optimization is a daily habit, not a quarterly project.
What you'll see on the showback dashboard
$ / dayby modelby workloadby agentlabels honoredmodeled vs billed drift
Per-agent attributionPut workload / agent labels on resources and pass request labels where supported - the billing export carries labels natively. Finer grain: one service account per agent, or emit tagged usage to the modeled lane.
Actuals pathBigQuery billing export (daily, label-aware) -> gcp-*.csv -> file-inbox; FOCUS export ingests natively
What we never ask you to do
Never in your inference path. Latency, availability and data flow are untouched.
Never holding your keys. Actuals arrive as telemetry and exports you already generate.
Never a migration. The decision layer meets your estate where it is.