By Cloudledger · Updated
Cost data settles over time
Usage records arrive with latency, and figures for recent days can change as more data is processed. A report run in the morning and again in the evening can differ legitimately. Record the refresh time alongside any figure you circulate, and avoid drawing conclusions from the most recent day alone.
A report is not an invoice
Cost analysis views and invoices can differ because of taxes, credits, purchases, billing periods and scope. Cost analysis is designed for understanding usage and trends; the invoice is the financial record. Reconcile them deliberately rather than expecting them to match automatically.
Partial responses are not zeros
When a subscription cannot be queried — because of permissions, throttling or a timeout — the honest reading is “unknown for that scope”, not “no cost”. Reports should say which subscriptions are missing. A total that silently excludes a subscription looks like a saving and is not.
- Check for partial-data or failed-subscription messages.
- Confirm the reporting scope and currency.
- Note the last refresh time with the figure.
- Re-run after failures rather than accepting the reduced total.
Compare like with like
Keep the same date range, subscriptions, cost basis and currency across compared periods. Mixing actual and amortized cost, or comparing a partial month with a complete one, produces differences that have nothing to do with the workload.
How Cloudledger handles this
Cloudledger reads Azure at the time you ask, shows the refresh time, and reports failed or missing subscriptions instead of substituting zero. Where a figure is genuinely unavailable, the screen says so, so that a gap in data is never mistaken for a fall in spend.