A cloud cost report is the answer to one question put to the billing data, fixed by scope, period, granularity, cost basis, grouping and filters; saved as a view, it asks the same question the same way every time. That matters for the bill because the same data gives different totals under different settings: billed or amortised, with or without credits, by usage day or invoice month. A report kept only as a screenshot is rebuilt next month with other settings, and the comparison then answers two different questions. AWS, Azure and Google Cloud all save the query, not the result. That is the difference between a view and a record.
How it works
A report starts with a question, such as what the checkout team paid for compute in September once commitments are spread. The question sets the parameters:
| Parameter | Fixes | Decide |
|---|---|---|
| Scope | which accounts, subscriptions or projects count | one owner or the whole company; permissions limit what a reader sees |
| Period | which days or months | relative (last month, month to date) for watching, fixed dates for a closed month |
| Time basis | which day and which month is meant | usage day or invoice month; the time zone of the day boundary |
| Granularity | hour, day or month | days for movements, months for the close |
| Cost basis | which figure each row carries, and whether credits and tax are in it | billed for the invoice, amortised or effective for teams |
| Grouping | how the total is split | one dimension per report in the consoles |
| Filters | what drops out of the total | every filter belongs in the name or description |
| Currency | which currency the figures are in | the invoice currency, or a reporting currency with a rate rule |
| Data cut-off | which delivery of the data applies | state the query date; before finalisation figures are provisional |
The cost bases are explained in list, billed, effective and amortized cost; grouping and filters in cost dimensions, filters and grouping. A relative period is re-evaluated at every opening: "last month" shows October in November and November in December. That suits watching; a report on a closed month gets fixed start and end dates.
AWS
Cost Explorer saved reports live in the report library, next to predefined reports such as Daily costs, Monthly costs by service and Monthly costs by linked account, and the Reserved Instance utilisation and coverage reports. Predefined reports cannot be edited, only saved under a new name as a starting point; an account can save up to 300 reports. Alternatively, a bookmark of the Cost Explorer URL keeps the date, filters, chart style, grouping and advanced settings. When it is opened, Cost Explorer recomputes the chosen range with current data; for an unchanging range you set fixed dates under Custom. Months are calendar months and times are UTC. AWS advises against relying on saved reports as audit evidence, since they can be changed afterwards. What else Cost Explorer shows is covered in AWS Cost Explorer and AWS Budgets.
Azure
Azure Cost Management keeps a cost analysis view as a query without data, with its filters, grouping, granularity and chart types. It is available only in the scope where it was created. Private views are visible only to their creator, up to 100 across all scopes; shared views, up to 100 per scope, are visible to anyone with at least Cost Management Reader on that scope. Built-in views such as Accumulated costs cannot be changed; a different date range, currency or amortisation needs a view of one's own. A link from Share carries the scope and configuration but grants no access. The period is part of the view too, relative like last month or fixed with a start and end date; the Views API stores a timeframe (week, month or year to date, or custom) and a date range for it. Cost analysis counts days and months in UTC. Roles and scopes are covered in Azure Cost Management and Billing.
Google Cloud
Cloud Billing reports come with preset reports, such as Services, Projects and SKUs for the current month. Save as new stores the chart settings, grouping and filters as a report on the All reports page, visible to everyone with access at Cloud Billing account level: Billing Account Administrators and Billing Account Costs Managers create and change reports, Billing Account Viewers can only open them. Users with project permissions only cannot save reports and share the URL instead, which carries the filters and grouping. There are two time bases: Charge period (formerly Usage date) by usage day, without invoice-level taxes and adjustments, and Billing period (formerly Invoice month) in whole months with those items. A day starts at midnight US Pacific Time (UTC-8) and follows daylight saving time. The Savings filter decides whether credits, discounts and other savings are deducted.
What it means for your cost
A saved report is a definition, not a record, as the AWS and Azure sections show. Whoever opens the report later computes it on the data cut-off of that day, and until finalisation any month can still change (freshness, restatements and finalisation). Where a figure must be kept, for the month-end close, keep the result too: the CSV download with its query date, or a query on the export.
Three parameters decide whether two reports are comparable: cost basis, time basis and data cut-off. Two reports on "September" differ when one is amortised and the other billed, one counts by usage day and the other by invoice month, or data arrived between the two queries. Across providers the day boundary is added: AWS and Azure count days in UTC, Google in US Pacific Time, so a daily figure shifts by seven or eight hours between the consoles. Monthly totals are affected only at the month's edges.
Saved reports are therefore the raw material of the monthly review, a fixed set of questions with fixed parameters (Monthly cloud cost review: agenda and templates). How two periods are compared fairly is covered in period comparison. Several reports on one surface make a dashboard, a report emailed on a schedule a report subscription.
Where it goes wrong
- A relative period as a record. Symptom: the October report shows different figures in December than in the October review. Cause: it uses "last month" or "month to date" and recomputes on every opening; a closed month needs fixed dates.
- A link without access. Symptom: finance opens a link to an Azure view and gets only an access denied message. Cause: the link carries no permission; it takes at least Cost Management Reader on the scope, or a download.
- A new value missing from the filter. Symptom: a new subscription does not appear in the team report. Cause: a saved Azure view keeps exactly the filter values selected; new values are not added on their own.
- Usage day instead of invoice month. Symptom: the Google monthly report sits below the invoice. Cause: the Charge period time basis excludes invoice-level taxes and adjustments; reconciliation needs Billing period.
- Same name, different settings. Symptom: two reports called "Team A cost" disagree. Cause: one is amortised, the other hides credits; the settings belong in the name or description.
Sources
Read on 2026-10-16. AWS Cost Explorer reports, default reports, creating a report, editing a report, saving your configuration as a bookmark, modifying your chart and choosing time ranges and quotas and restrictions; Microsoft save and share customized views, customize views in cost analysis and Views API, Create Or Update; Google Cloud Cloud Billing reports.