The data cut-off of a cost report is the point in time up to which its billing data has arrived, and it says how fresh the report's figures are. No console shows today's cost in full: AWS Cost Explorer, Azure cost analysis and Google Cloud's billing reports run hours to days behind usage, and services report their usage on different schedules. A report without a cut-off therefore shows its last days too low and the current month as an estimate without saying so, and two reports on the same month agree only by chance.
How it works
How often exports are reloaded, when a month becomes final and how restatements change it later is covered in freshness, restatements and finalisation. For the report surfaces, the providers document the following:
| AWS Cost Explorer | Azure cost analysis | Google Cloud billing reports | |
|---|---|---|---|
| Refresh | at least once every 24 hours, some data later | EA and MCA typically after 8 to 24 hours, pay-as-you-go up to 72 hours; estimates six times a day | cost details typically within a day, sometimes later |
| Current month | Month-to-date costs as an estimate; Bills page with status Pending | estimated until the invoice, at the product's highest tier | actual cost to date and a forecast in the report header |
| Final | Bills page with status Issued | with the invoice; usage can change until the fifth day after the period | invoice by the fifth business day of the following month |
| Missing from the view | refunds, in month-to-date and daily cost | taxes, support, credits | by usage date: taxes and adjustments at invoice level |
AWS
Cost Explorer shows cost up to and including the previous day. AWS qualifies this itself: while the billing period is open, part of the data waits on upstream billing systems and can take longer than a day. The Bills page lists an open month with status Pending and a running estimate, a closed one with status Issued and the invoiced amount.
Azure
Usage does not arrive for all services at once; Microsoft names Storage, Compute and SQL as services that report on their own schedule. Until the invoice, amounts are estimates that ignore tiered pricing and use the product's highest tier; with the invoice, Cost Management brings them in line. Cost analysis rounds, while exports and the Query API do not. For ranges of up to three months the Average cost KPI leaves out today, and the daily view cuts days in UTC.
Google Cloud
On self-serve accounts the charge can run ahead of the report: Google cites 5 to 15 minutes between usage and charge, while the details reach the report later. A report by usage date (charge period) shows usage on the day it happened, but without taxes and adjustments at invoice level; only the view by invoice month (billing period) includes them. Usage reported late at month end can land on the next invoice. The cost table report shows cost per invoice month and, with its default filters, matches the invoice.
What a cut-off states
A cut-off states when the data was queried or last loaded, in the Google export the export_time column; the last complete day and its time zone; and, for each month, whether it is estimated, invoiced or later corrected. Since FOCUS 1.3 a dataset can carry these facts itself as recency metadata: DatasetInstanceComplete and DatasetInstanceLastUpdated for the whole dataset, TimeSectorComplete and TimeSectorLastUpdated per time sector of a time series. Whether the providers' exports deliver them yet is covered in freshness, restatements and finalisation. The FinOps Foundation's Data Ingestion capability counts data currency among its measures of success: how long ago each source last delivered, against the expected rhythm.
What it means for your cost
The most recent days of a daily chart can be incomplete in any console, one to three days depending on the latency in the table above. A drop at the right edge is therefore first a question of the cut-off and only then one of usage; it becomes an anomaly only if it survives the next load. A report therefore ends at the last complete day, and a month to date is compared with the same number of complete days of the previous month, as period comparison describes.
Which question a report can answer, and when:
| Question | Reliable from | View |
|---|---|---|
| What did yesterday cost? | after the documented latency, provisionally | daily cost in Cost Explorer, cost analysis, a Google report by usage date |
| Where does the month stand? | ongoing, as an estimate | month to date with forecast, the Google report header |
| Does the report match the invoice? | once the invoice is issued | AWS Bills with status Issued, Azure after the invoice, Google's cost table report or the invoice month view |
| Is the month closed for chargeback? | after the invoice and the correction window | as finalisation describes |
Before the invoice, differences between report and invoice are expected and have documented causes: estimates at the highest tier on Azure, refunds missing from the AWS month-to-date figures, taxes, support and credits outside the Azure cost view, and invoice-level items outside Google's usage-date view. A report handed to finance before the invoice date marks the month as estimated and states its cut-off. Which state the monthly review works from is covered in monthly cloud cost review.
Where it goes wrong
- The last day read as a drop. Symptom: the daily curve falls at the right edge and is back up the next day. Cause: services report on different schedules, and the latest day is still incomplete.
- Two reports, two states. Symptom: two analyses of the same month disagree. Cause: they were pulled at different times, and neither states its cut-off.
- An estimate against the invoice. Symptom: Azure cost for the open month differs from the later invoice. Cause: before the invoice, Cost Management ignores tiered pricing and uses the highest tier.
- Usage date against invoice month. Symptom: the Google monthly total in a report does not match the invoice. Cause: the usage-date view leaves out taxes and adjustments, and usage reported late sits on the next invoice.
- A rounded console. Symptom: cost analysis and the export differ by cents. Cause: cost analysis rounds; exports and the Query API do not.
- Local time against console time. Symptom: a day in your own report does not match the same day in the console. Cause: AWS and Azure cut days in UTC, Google's reports at midnight Pacific Time (granularity), and your report in local time.
Sources
Read on 2026-10-16. AWS what is AWS Cost Explorer, exploring your data using Cost Explorer and understanding your bill; Microsoft understand Cost Management data, quickstart: start using cost analysis and customize views in cost analysis; Google Cloud Cloud Billing reports, cost table report, get an invoice and structure of standard data export; FOCUS 1.4 Recency Metadata and Recency; FinOps Foundation Data Ingestion (CC BY 4.0).