Google Cloud's billing reports are the cost views in the Billing section of the Google Cloud console: the Reports page shows what the projects of a Cloud Billing account have cost over time and are forecast to cost, and the pages beside it cover the invoice, discounts, prices, budgets, anomalies and recommendations. They are the counterpart of AWS Cost Explorer and AWS Budgets and Azure Cost Management and Billing. The total they show depends on three settings: the role you look through, the report's time basis and the savings filter. Knowing them shows when a cost report needs the BigQuery export instead.

How it works

The Reports page charts the usage cost of a billing account and every project linked to it, as a bar or line chart above a table. The default view is the current month, by day, grouped by service. The header shows month-to-date cost and the forecast for the whole month; when the time range ends in the future, the report forecasts up to 12 months ahead. Grouping options include project, project hierarchy (for ranges from 1 January 2022), service, SKU, region or multi-region, label key and spend-based CUD. There is no zone, and nothing below the SKU, such as a resource ID.

There are two time bases. Charge period (formerly Usage date) assigns cost to the day of usage, goes back to January 2017, and leaves out taxes, contractual credits and adjustments at invoice level. Billing period (formerly Invoice month) covers whole invoice months from May 2019 and includes those items, summed per month rather than per individual invoice.

A view can be saved, shared as a URL, downloaded as CSV, or turned into a SQL query against the BigQuery export (Preview), free to generate and billed by BigQuery when run. The other pages each answer a question of their own:

PageAnswersTime basisFull access
Reportstrend and forecast by service, project, SKU, region, labelusage day or invoice montha billing account role; project permissions show one project
Cost tablethe lines of an invoice, tax per project, invoice numberinvoice monthBilling Account Viewer, Costs Manager or Administrator
Cost breakdownfrom gross cost at on-demand rates, through savings, to the totalinvoice month, or usage dayas cost table
Pricinglist price, contract price and discount per SKU and tier, as of the day viewedtodayViewer or Administrator; User and Costs Manager see list prices only
FinOps hubrealised savings, open recommendations, CUD coveragelast month, last 30 daysViewer or Administrator

Since January 2021, invoices and statements carry no cost detail and point to the cost table, whose total matches them with default filters.

The cost measure is set by the Savings filter. By default every saving is deducted, in two groups: Savings programs, which holds the committed use discounts, and Other savings, which holds free tier, promotional credits, sustained use discounts and other discounts. For accounts with custom contract prices, ranges from May 2021 show Negotiated savings as a column of its own beside list cost. Resource-based CUDs and legacy spend-based CUDs consist of a fee, on-demand cost and a negative credit, which the default report nets; grouping by SKU shows the three parts. The spend-based CUD model available since 15 July 2025 works with discounted prices instead. The mechanics are in Google Cloud committed use discounts and tiered pricing and automatic usage discounts. Every amount is in the currency of the billing account, which operates in exactly one.

Budgets apply to the billing account or a narrower scope and notify by email or as a Pub/Sub message; opened from a budget, the report plots the target amount as a red line. See cloud budgets, budget alerts and thresholds and cost anomaly detection. For AI workloads such as the Gemini API, the anomalies dashboard also shows early anomalies (Preview), built on near real-time estimates before billing is final.

The FinOps hub summarises what optimisations saved last month, how many recommendations are open and what they could save per month. It draws on four levers: turning off idle resources, rightsizing instances, other configuration changes, and buying CUDs. The CUD optimization rate is the share of CUD-eligible usage over the last 30 days that commitments cover. The FinOps score and a benchmark against other customers appear only with full billing account permissions. Every customer is in that benchmark by default; opting out also removes the CUD recommendations and the score.

What it means for your cost

Your role decides what you see. Billing Account Viewer, Costs Manager and Administrator see every project on the account, invoice-level items included. With cost permissions on projects only, which Project Owner, Editor and Viewer also carry, Reports shows the one project chosen beforehand: no taxes or adjustments, no labels to group or filter by, no saved reports and no SQL generation. The cost table and cost breakdown need a role on the billing account. The Project Billing Costs Manager role on the billing account brings together every project you hold cost permissions on. Which role fits which job is compared in cost data access control.

A project is a slice. Costs without a project, such as support, appear as "Charges not specific to a project", and anyone analysing CUDs with project permissions misses the fees and credits sitting in other projects. How projects, folders and the billing account relate is in billing accounts and hierarchies.

The console knows only what runs through the Cloud Billing account: Google Cloud, Google Maps Platform, Firebase and Google AI Studio. AWS, Azure and SaaS invoices are absent. Its history reaches further back than the BigQuery export, which collects only from the day it is enabled, but it stops at the SKU. Cost per resource, your own queries and joins with other data need the export, described in Google Cloud billing export and set up step by step in this guide.

Where it goes wrong

  • A project taken for the account total. A team reads a monthly total in Reports that sits below the invoice. With project permissions it sees one project, without taxes, support and account-level items.
  • Savings hidden or counted twice. When a promotional credit ends, cost seems to jump, because the report had been deducting Promotional credits; Google advises clearing them to see ongoing cost. In the other direction, the CSV's Subtotal already includes the Savings programs and Other savings columns; deducting them again counts them twice.
  • Labels that count only later. A label counts from the moment it was set on the resource. Labels on projects do not appear when grouping by label, and GKE namespaces appear only once cost allocation is enabled on the cluster.
  • Usage day against invoice month. Usage reported late at month end can land on the next month's invoice, so a report by Charge period does not match the invoice; Billing period and the cost table are there for that (data freshness in cost reports).
  • The console as the record. CSV downloads are aggregated and depend on filters, time basis and data cut-off; repeatable analysis needs the export.
  • Recommendations read as certain savings. The estimated saving of a FinOps hub recommendation ignores CUDs already bought that may apply to the same resource.

Sources

Read on 2026-10-16. Google Cloud Billing overview, Billing Reports, savings and credits in reports, cost table, cost breakdown, pricing table, Cloud Billing access control, budgets and budget alerts, cost anomalies and FinOps hub.