Chapter 02
Reading the bill and tagging
The cost tool and detailed export on your cloud, tags and labels, a tagging policy template, enforcement, untaggable spend and your first billing query.
Cost analysis
Also called Azure Cost analysis, smart views, Microsoft Cost Management
- What
- The Azure portal view for exploring cost at any scope, with smart views, grouping by service, resource, location or tag, actual or amortised cost, and forecasts.
- Why
- It is where teams self-serve their numbers, and saved views can be emailed on a schedule.
Watch out
Reading one subscription and missing shared services billed in another.
Cost Management exports
Also called exports, cost details, FOCUS export, Parquet
- What
- Scheduled daily or monthly exports to Azure Storage, as CSV or Parquet: actual, amortised and FOCUS cost details, price sheets and reservation data, split into parts with a manifest.
- Why
- The data source for reports, the FinOps toolkit and custom tools. The portal can rerun past months, up to 13 months back.
Watch out
Building reports on manual CSV downloads nobody refreshes.
Tagging policy
Also called tag standard, labelling policy, tag governance
- What
- A short written agreement on required tag keys, allowed values, who owns each list, where tags are applied, how compliance is measured and what happens to untagged resources.
- Why
- It turns tagging from a hope into a measurable standard teams can follow.
Watch out
Thirty required keys nobody applies instead of five everybody does.
Tagging policy template
Also called tag policy example, required tags, tag schema
- What
- A starting template with five required keys, their allowed values, and how the policy is applied and measured.
- Why
- Copy it, change the values to your organisation's, and agree it with finance and team leads.
required:
cost-center: [cc-1001, cc-1002, shared]
team: [payments, search, platform]
env: [prod, staging, dev, sandbox]
app: free text, lowercase, hyphens
owner: team email or chat channel
format: lowercase keys and values, no spaces
applied: in IaC modules, checked in CI
measured: % of cost with all keys, monthly
untagged: owner notified, removed after 14 days
review: twice a year with financeWatch out
Leaving out the owner key, so nobody can be asked about a resource.
Azure Policy and tag inheritance
Also called tag inheritance, Azure Policy tags, require a tag, inherit a tag
- What
- Azure Policy can require tags or copy them from the resource group. Cost Management tag inheritance copies subscription and resource group tags onto resources in cost data only.
- Why
- Resource group tags plus inheritance is a simple way to get most cost tagged.
Watch out
Expecting inherited tags on the resources themselves: other services and policies cannot see them.
Untaggable and shared spend
Also called untagged cost, unallocated cost, shared cost
- What
- Cost that cannot carry your tags: support, taxes, some data transfer, marketplace charges, centrally bought commitments and shared platforms.
- Why
- Reporting it openly keeps team totals adding up to the invoice and shows where split rules are needed.
Watch out
Leaving untagged cost out of team reports, so totals never match the bill.
Billing queries in SQL
Also called cost query, DuckDB, Athena, BigQuery, FOCUS query
- What
- SQL over a billing export answers what the console cannot: cost by tag and service, top resources, week-on-week change. This example runs on FOCUS data, so it works for any provider.
- Why
- Three saved queries (by service, by team with an untagged bucket, top resources) cover most weekly questions.
SELECT COALESCE(Tags['team'], 'untagged') AS team,
ServiceName,
SUM(EffectiveCost) AS cost
FROM focus
WHERE ChargePeriodStart >= DATE '2026-09-01'
AND ChargePeriodStart < DATE '2026-10-01'
GROUP BY ALL
ORDER BY cost DESC;Watch out
A query that silently drops rows with no tag, so the total is smaller than the invoice.
Go deeper