Billing data freshness is how far the latest delivered state of an export lags behind actual usage; together with the finalisation of a month and any later restatement, it decides whether a figure in a report is provisional, final or already superseded. It matters for the bill because a month that looks closed can still change on all three large providers, and two reports on one month agree only if they rest on the same load.
How it works
Three clocks run side by side: refresh, meaning how often the provider writes new data into the export; finalisation, meaning when it closes a billing period and issues the invoice; and restatement, any change to a month already delivered or invoiced. None of the three commits to a fixed latency; the figures below are each provider's own.
AWS
Data Exports refreshes CUR 2.0 until the billing period ends, at least once a day according to Understanding export delivery, and "Daily - export is refreshed up to one time per day" according to Creating a standard export. Each delivery is cumulative and an estimate until the month is final. AWS finalises usage charges after issuing the invoice and may still update the previous period's delivery during the first two weeks after it ended. Even a final report changes when AWS applies refunds, credits or support fees; AWS Support fees, calculated from final usage, appear on the sixth or seventh of the following month. Until a month is final, bill_invoice_id stays blank. In Create new mode every refresh is kept in its own directory; in Overwrite mode it replaces the last one. The detail is in AWS Cost and Usage Report and Data Exports.
Azure
For EA and MCA subscriptions, cost and usage data typically reaches Cost Management within 8 to 24 hours, for pay-as-you-go within up to 72 hours. Estimated charges for the open period are refreshed six times a day; before the invoice, Cost Management prices at a product's highest tier, and charges can be rerated. Azure typically closes the billing period up to 72 hours after it ends, usage charges can change until the fifth day after, and charges are final once the invoice is issued. A daily export writes month-to-date cost and by default overwrites the previous day's file; in the first five days of a month, a second, hidden run writes the previous month's file to match the invoice. Cost Management does not include tax, support charges or credits. More in Azure cost exports: actual, amortized and FOCUS.
Google Cloud
Cost details are typically available within a day, sometimes later. The BigQuery export runs at regular intervals, explicitly without any delivery or latency commitment, and the export_time column increases with every load. A new export to a multi-region dataset backfills the current and previous month, which can take up to five days. The export has no final status: invoice.month ties each row to its invoice, which for invoiced accounts should be available by the fifth business day of the following month. Late-reported usage can roll onto the next invoice, and adjustments with their tax carry the invoice.month of their issue, even when they concern another month. Such rows have cost_type set to adjustment and an adjustment_info with a type and mode, such as USAGE_CORRECTION. The export is covered in Google Cloud billing export: the three datasets.
FOCUS
In FOCUS, ChargeClass set to Correction marks every row that corrects a billing period already closed, such as a refund; the FOCUS exports of AWS, Azure and Google Cloud all carry the column. Version 1.3 adds metadata on completeness and recency, and 1.4 adds the Billing Period dataset with BillingPeriodStatus (Open or Closed) and requires each provider to document its correction style: Replacement overwrites with a complete snapshot, Delta appends net changes, Ledger appends reversals and re-entries. A closed period reopens only with the customer's agreement; corrections normally appear in a later open period. On the read date AWS documents its export as FOCUS 1.2 and Azure offers 1.2 as a preview; Google names no FOCUS version for its export and lists conformance gaps up to 1.2. None of the three documents any of this for its export yet.
| Provider | Refresh | Month final | What still changes | How to see it |
|---|---|---|---|---|
| AWS | Daily | After the invoice, deliveries up to two weeks later | Refunds, credits, support fees | bill_invoice_id filled, new delivery for the previous month |
| Azure | Export daily (Cost Management estimates six times a day), data after 8 to 72 hours | With the invoice, period closed up to 72 hours after its end | Rerating until the invoice, usage until the fifth day | Invoice issued, previous month's file from the second run |
| Google Cloud | Regular, no latency commitment | With the invoice per invoice.month | Late usage, adjustments and tax on later invoices | export_time, cost_type, adjustment_info |
What it means for your cost
The current month is an estimate in every cost report, and its last days are incomplete because services report usage late. Google notes that the same delay affects budget alerts and anomaly detection, so an unusually cheap last day is first a question of freshness.
For a closed month, the check that follows is simple: each load's total per month is kept and compared with the next load. A difference means the month was restated, and the rows with ChargeClass set to Correction, Google's adjustment_info or the new AWS delivery for the previous month show where it came from. A report that names its load stays traceable when the month later changes.
The decisions that follow sit with finance and the budget owners: when a month counts as closed for showback or chargeback, whether a correction belongs to the month of usage or the month it arrived, and how a period comparison sets an estimated current month beside a final previous one. The documents are covered in Credits, refunds and corrections, and where a period ends in Billing periods, cut-off and late charges.
Where it goes wrong
- The current month is read as final. Symptom: the monthly report later disagrees with the invoice. Cause: until finalisation every delivery is an estimate; on Azure, usage charges can change until the fifth day after the period.
- Delay is taken for an anomaly. Symptom: the cost of the last few days drops and rises again with the next load. Cause: services report usage at different times, so the most recent days are incomplete.
- Corrections land in the wrong month. Symptom: a month holds a credit for usage it never had. Cause: on Google Cloud, adjustments carry the invoice month in which they were issued; a FOCUS row with
ChargeClassset toCorrectionbelongs to an earlier, closed period. - The earlier state was overwritten. Symptom: a report from the start of the month cannot be reproduced. Cause: Overwrite mode on AWS and the default setting of Azure exports keep only the latest delivery.
- Totals by timestamp instead of invoice month. Symptom: a month's Google total does not match the invoice. Cause: queries on
usage_start_timeorexport_timepick up late-reported usage billed on another invoice; onlyinvoice.monthmatches the invoice.
Sources
Read on 2026-10-16. What are AWS Cost and Usage Reports?, Understanding your report versions, Understanding export delivery, Creating a standard export, Bill columns, FOCUS 1.2 with AWS columns: columns, Understand Cost Management data, Create and manage Cost Management exports, FOCUS cost and usage details file schema, Set up Cloud Billing data export to BigQuery, Understand the Cloud Billing data tables in BigQuery, Structure of Standard data export, Structure of FOCUS data export, Get a Cloud Billing document such as an invoice, statement, or receipt, FOCUS 1.4: Charge Class, FOCUS 1.4: Billing Period Status, FOCUS 1.4: Correction Handling, FOCUS 1.4: Recency Metadata.