Skip to main content Skip to content

Reports overview

See where your cloud spend goes and where savings come from, and reconcile ZopNight's figures against your invoice.

9 min read

ZopNight’s Reports section answers “where is the money going?” and the harder question, “where are the savings coming from?” Costs come from your cloud billing APIs where they are available, and from ZopNight’s hourly calculator where they aren’t. Every report applies the same rule, so the same resource on the same day shows the same cost on every page.

Reports Summary tab with current estimated spend, forecast, schedule savings, and savings rate KPIs, a critical banner reporting two cost anomalies, and a daily cost and savings chart with anomaly markers on the spikes

Costs → Reports → Summary: headline spend and savings KPIs, the anomaly banner, and the daily cost-and-savings trend.

Before you start

  • At least one connected cloud account. See Cloud accounts.
  • Billing access, for billed cost. Without it, that account’s figures are rack rate. The per-cloud billing grants are on Cloud permissions.

How it works

Every figure is built from one of two cost sources. Knowing which one saves a lot of “the numbers don’t match” questions.

SourceWhen ZopNight uses itWhat it is
Billed costFor a resource-day that has a billing line from a successful billing syncReal spend from AWS Cost Explorer (or CUR 2.0) / Azure Cost Management / GCP BigQuery. Azure uses amortised cost, so reservation and savings-plan purchases are attributed per resource per day.
Rack rateFor a resource-day with no billing line yet, or on an account without billing syncCalculated from the pricing APIs × hours in Running state. Useful before billing is wired up; less accurate for accounts with discount commitments.

ZopNight chooses per resource per day, so both sources can appear in the same organisation and the same report: an account with billing sync shows billed cost, while an account without it shows rack rate, and a resource’s most recent days show rack rate until their billing lines arrive. The Summary tab labels its headline with the cost source (“Unblended Cost” or “Rack Rate”), so you always know which number you’re looking at.

Reconciling to the invoice

Not every line on a cloud bill belongs to a resource. Data transfer, NAT processing, taxes, fees, support charges, and services ZopNight doesn’t inventory all bill without a resource to attach to. If the Reports headline only counted what it could attribute, it would read lower than your invoice every month.

So it doesn’t. For organisations whose billing sync is active, Summary and Trends add the unattributed remainder on top, and the figure is labelled, so your headline reconciles against the bill instead of quietly under-reporting. On rack rate there is no invoice figure to reconcile against, so the remainder does not apply.

Per-provider specifics

Each cloud bills a little differently, and ZopNight follows each one’s own convention so the figures match what you’d see in the provider console:

CloudWhat ZopNight does
AWSReads Cost Explorer by default. Optionally, point ZopNight at your own CUR 2.0 Data Export in S3 instead: this lifts Cost Explorer’s 14-day limit on resource-level history and picks up every line-item type (taxes, fees, credits, refunds, reservation and savings-plan rows). If ZopNight can’t read the bucket, it shows up as a permission error in billing sync status rather than silently falling back.
AzureUses amortised cost, so reservation and savings-plan purchases spread across their term and each resource shows its real effective daily cost. Actual-cost mode reports $0 for reserved VMs at subscription scope.
GCPReads the BigQuery billing export net of credits, folding committed-use, sustained-use, and promotional discounts into each row the way the invoice bills them.

Credits and refunds are negative line items, and ZopNight carries them through as-is rather than dropping them.

Trends is the headline chart on the Summary tab, shown on the Cost Breakdown card with Daily Cost and Accumulated views. It plots cost and savings over time at hourly, daily, monthly, or yearly granularity. The Sankey lives on Costs → Flow.

ControlWhat it does
Time rangeLast 7 / 30 / 90 days, or a custom range
ScopeOrg-wide, a specific group, or a specific resource
GranularityHourly / daily / monthly / yearly

Each point splits into billed cost and rack-rate cost, so you can see how much of a period is still an estimate. Turn on the savings overlay to plot reclaimable savings alongside spend on the same chart.

Hover any point to see the exact dollar value, change percentage vs the prior period, and an anomaly marker if cost anomaly detection flagged it.

Resource Flux

Resource Flux shows how many resources came in, went out, and remained active in the selected range. It pairs with Trends to answer “is cost up because resources grew, or because the same resources got more expensive?”

  • Resources added in range
  • Resources removed in range
  • Resources active throughout

The same breakdown is available for resource groups.

Provider breakdown

Resource counts split by cloud provider (AWS, GCP, Azure), then by account, then by resource type. The view is hierarchical and expandable.

Use this view to answer “what do we actually run, and where?” before drilling into resource-level detail.

Resource cost breakdown

This view shows cumulative cost per resource (lifetime, not period) and per resource group.

Each row includes provider, region, and type.

CSV export is supported on this view. Use it to share the cost waterfall with finance offline.

Cost Flow Sankey

Costs → Flow renders the period’s spend as a four-column Sankey diagram. The Sankey is the filter surface. Click any node or link to narrow the view, and breadcrumb chips above the chart show the drill path.

Layouts

Six layouts pivot the same data through different dimension chains. Switch via the Layout dropdown.

LayoutUse when you want to see…
Provider → Account → Type → Team (default)Standard FinOps view: cloud bill split by ownership
Provider → Account → Service → TeamAWS service-level spend (EC2 vs RDS vs S3) per team
Provider → Region → Type → TeamMulti-region spend distribution
Provider → Account → Purchase → TeamOn-demand vs reserved vs spot vs savings-plan split
Account → Service → Purchase → TeamDetailed account-level breakdown
Account → Type → Resource → TeamAll the way down to individual resource cost

Overlays

Two header toggles add visual annotations:

  • Savings: red stripe on links and nodes proportional to reclaimable spend. When the hovered node’s dimension matches a recommendations filter (resource type, cloud account), the inspector shows a “$X reclaimable” callout that deep-links to the matching recommendations view.
  • Unattributed teams: highlights flows ending in teams marked Unattributed. Use it to find cost without an owner.

URL state

All view state (preset, drill chain, and overlays) lives in the URL. Copy-paste the URL to share the exact view with a teammate.

Freshness

All breakdowns are served live from your current cost data. There’s no scheduled projection to wait on, so the UI shows “Live data” for every variant.

Budgets

Budgets are managed on Costs → Budgets, with one tab per target: cloud accounts, resources, resource groups, and AI providers. They also show up on team detail pages and group detail pages. Status is computed live from cost records: green (on track), yellow (at the alert threshold), red (over budget). Threshold-crossing notifications go to the channels subscribed to budget events.

See Resource groups for group budget configuration.

Troubleshooting

The Reports figure does not match my invoice

Check the cost source on the Summary headline (“Unblended Cost” or “Rack Rate”). An account without billing sync shows rack rate, and a resource’s most recent days show rack rate until their billing lines arrive. With billing sync active, Summary and Trends add the unattributed remainder so the headline reconciles against the bill.

Showback totals are lower than the Reports headline

Expected when billing is connected. Showback, the Sankey, and the Kubernetes views are attributed-only; the headline also includes billing lines with no resource behind them. The difference is the unattributed remainder.

AWS billing sync shows a permission error

If you pointed ZopNight at a CUR 2.0 Data Export and it can’t read the bucket, billing sync status shows a permission error rather than silently falling back. Grant read access to the bucket.

Next steps

Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·