Reporting
Export cost and resource data on demand, or have it automatically emailed to your team on a recurring schedule.
Create a report
- Go to Reports in the left navigation and click + New report.
- On the Basics step, give the report a name and pick a report type — options include cost by resource, resource group, resource type, cost centre, or tag, plus resource inventory, newly discovered, and expired resource reports, and tag compliance reports.
- On the Filters step, narrow the scope by tenant, subscription, resource group, date range, or tag. Leave everything blank to include every resource your account can access.
- On the Schedule step, either click Save report to create it as an on-demand report, or toggle Schedule this report on to run it automatically. When scheduled, pick a frequency (daily, weekly, or monthly), time, email recipients, and attachment formats (CSV, PDF, or XLSX).
Once saved, the report appears in the Reports list. Use the row actions menu to Run now, Edit, or Delete the report. Click into any report to see its full run history — every run is kept, so you can retrieve a report executed months ago and view it in-app or download it as CSV, PDF, or Excel.
Report types
Every report uses the same three-step wizard (Basics, Filters, Schedule), but each type produces a different output shape. Choose the type that matches the question you're trying to answer.
All ten types share the same filtering options (tenant, subscription, resource group, date range, tag filters — date range is hidden for types where it doesn't apply), the same scheduling options (daily/weekly/monthly + email delivery), and the same output formats (in-app data view, CSV, PDF, Excel).
Cost reports
Cost reports slice your spend by a different dimension. All include a daily average, estimated monthly cost, and currency.
- Cost by resource gives you an itemised row for every individual resource, showing the name, type, resource group, subscription, tenant, and its cost contribution. Use this when you need the finest-grained view — for example, to find the single most expensive resource in a subscription.
- Cost by resource group totals spend per resource group, with a resource count alongside the cost columns. Good for chargeback when resource groups map to teams or projects.
- Cost by resource type totals spend per Azure resource type (App Service Plan, SQL Database, Storage Account, etc.). Good for spotting which service categories dominate your bill.
- Cost by cost centre totals spend against the values in your cost-centre tag, grouped by tenant. Columns: Tenant, Cost centre, Resource count, Total avg daily cost, Total est. monthly cost, Currency. Resources missing the tag are grouped as "Untagged" so nothing falls off the report.
- Cost by tag totals spend grouped by the distinct values of a tag key you choose. Use this for ad-hoc breakdowns that don't fit cost-centre reporting — e.g. by
environment,owner, orapplication.
Inventory reports
Inventory reports list resources without cost aggregation.
- Resource inventory returns the full resource list (name, type, resource group, subscription, tenant, tags) with no cost columns. Use this as a point-in-time asset register.
- Newly discovered resources lists resources first seen by Cirrova within the report's date window. Handy for tracking sprawl or spotting resources that appeared outside of your usual deployment process.
- Expired resources lists resources whose
expires(or equivalent) tag date has passed, plus resources with malformed tag values. Columns: Name, Resource type, Resource group, Subscription, Expiry date, Days overdue, Est. monthly cost, Currency. Use this to clean up temporary resources that outlived their intended lifespan.
Tag reports
Tag reports work from the tags on your resources rather than their cost, and span every tenant in the organisation. They pair with your organisation's tag policy.
- Missing mandatory tags lists every resource missing one or more mandatory tags. Columns: Tenancy, Subscription, Resource group, Name, Resource type, Location, Missing tags, Missing count. Leave the Mandatory tags field blank to check against your tag policy, or enter a comma-separated list of tag keys to check those instead. A tag with a blank value counts as missing, and resource types that can't carry tags are excluded automatically.
- Resources by tag lists every resource carrying a chosen tag key, optionally restricted to a comma-separated list of values. Columns: Tenancy, Subscription, Resource group, Name, Resource type, Location, Tag, Tag value, Est. monthly cost, Currency. A tag key is required; leave the values blank to include any value.
See How compliance is judged for the exact rules the Missing mandatory tags report applies.