What the report does

Features and benefits

The long version of the front page: every feature with the benefit it buys, where each one lives, the full comparison with Advisor, the bands, and how the data is handled.

Three jobs in one report

Three jobs in one report. Cost Analysis shows what you spent and Advisor lists what to shrink; Spendlint does both from your actual bill, then adds the two things neither does: the guardrails that stop waste coming back, and the moves to newer services that change the shape of the bill.

Cost management

See where the money goes, and prove what you saved

  • Actual bill, per meter. Every finding is priced from last month's Cost Management lines for that resource, so reserved compute and licence meters never pose as savings. You can defend every number in front of finance.
  • Spend trend and movers. Three closed billing months by service, with what moved. You see the drift before it becomes the story of the quarter.
  • Savings ledger. Each rescan records what was recovered, values it at run-rate, and checks it against the next bill: confirmed, still billed, or awaiting. A savings figure you can put in a board pack.
  • Microsoft 365 in the same report. Unassigned seats, leavers still licensed, inactive users, shared mailboxes, Copilot seats nobody uses, overlapping suites. One owner, one number for the whole Microsoft bill.

Containment

Stop the waste coming back

  • Guardrails, checked. Budgets that would actually alert, cost anomaly alerts, policies on SKUs, tags and locations, auto-shutdown on non-production, caps on log ingestion, lifecycle rules, commitment coverage, Dev/Test offers. You know which of the nine are in place and how to set the rest.
  • Ownership by spend. The share of the bill that carries an owner or cost-centre tag. Every line has someone to ask.
  • Scheduled rescans and the digest. Monitor rescans the tenant every 30 days and emails what was recovered and what is new. The estate stays clean without a project.
  • Accepted risks stay accepted. Suppress a finding you reviewed and it never counts as recovered or reappears as new. The report tracks decisions, not just resources.

Optimisation and modernisation

Change what you run, not just how much

  • Application signals. Requests by hour, latency, failures and the callers of every database from Application Insights, plus host memory from Datadog or New Relic where connected: load-shaped autoscale findings, a caller map on every database and cache finding, cost per thousand requests, and guards that stop a right-size on something already under strain. Measurements where Advisor has a CPU guess.
  • Rated by disruption, with the way back. Every finding says what happens when you act, the command, and the rollback, sequenced into this week, this month and next quarter. The safe money first; nothing that endangers a workload.
  • Modernisation moves. Where a newer service or SKU changes the bill: Premium v3 plans, Arm sizes, Premium SSD v2, serverless SQL and Cosmos DB, AKS autoscaling and Spot, Container Apps, Flex Consumption, Bastion Developer, Azure Managed Redis. Microsoft's own statement of the effect, with the resources it applies to.
  • Retirements and end of support. Application Gateway v1, Basic load balancers and IPs, and the operating system and SQL Server version on every VM against Microsoft's lifecycle. No surprise the week something stops being supported.
  • Commitments, honestly. Reservations and savings plans sized after right-sizing, and the 1 February 2027 exchange-policy change. Hybrid Benefit only counts if you hold the licences, and the report says how many. Nothing counted that you cannot bank.

Where each one lives

  • Preview page (free): headline savings with licence-conditional amounts stated separately, the plan in brief, the contain-and-modernise counts, the biggest opportunities.
  • Full report: every finding with evidence, command and rollback; what this means; contain and modernise (from the Business band and with every plan); where the money goes; what isn't being used; the licence inventory; since last scan.
  • Dashboard: the savings ledger per tenant with bill-confirmed recoveries and the return on what you have paid.
  • Digest email (Monitor and Partner): what was recovered, what is new, and the running tally.
  • JSON and CSV: everything above for tickets, spreadsheets and your own reporting.

What the report covers

Azure

  • What isn't being used. VMs, App Service plans, web apps, SQL, Managed Instances, storage accounts, Redis, PostgreSQL and MySQL servers, Cosmos DB, AKS nodes, application gateways and Bastion hosts, each with an Azure Monitor verdict.
  • Where the money goes. Actual spend per resource and resource group, read per meter so reserved compute is never mistaken for a saving.
  • Billing constructs. Hybrid Benefit, the reservations you already own, Azure's own reservation and savings-plan recommendations de-duplicated, Defender plans, Log Analytics tiers and table plans, container registry and AKS tiers.
  • Orphans and leftovers. Unattached disks, stale snapshots, empty plans, unassociated IPs, unattached NAT gateways, idle gateways, previous-generation sizes.
  • Contain and modernise. Nine guardrails with their status, modernisation moves with the resources they apply to, and end-of-support dates for every VM's operating system and SQL Server version.

Microsoft 365

  • Seats bought but not assigned, per SKU, at list price.
  • Leavers still licensed. Blocked accounts that keep billing.
  • Nobody home. Licensed users with no sign-in or activity in 90 days.
  • Shared mailboxes that still carry a licence they don't need.
  • Copilot seats with no Copilot use, overlapping licences, and suite holders who never installed the desktop apps.
  • Plan fit and renewals. Which suite each segment of users actually needs, and every subscription's renewal date on one timeline.

Why not just use Azure Advisor?

Advisor is a good start, and Spendlint includes every Advisor cost recommendation, de-duplicated against its own. But Microsoft's own documentation says Advisor prices savings at retail rates and ignores your reservations and savings plans, and by default it looks at seven days of CPU. It doesn't see a stopped-but-billing VM, an orphaned IP, a Defender plan on a sandbox, or a single Microsoft 365 licence.

What you getAzure AdvisorSpendlint
Savings priced from last month's actual bill, reserved compute excludedRetail list rates, reservations ignoredYes
Utilization window7 days by default14–30 days, every metered resource gets a verdict
Stopped-but-billing VMs, orphaned IPs, empty gateways, unused Bastion and NATOnly in a separate preview workbookYes, priced
Azure Hybrid Benefit, previous-generation sizes, parked Premium disksNot in the cost listYes
Defender for Cloud plans on non-production subscriptionsNoYes
Log Analytics commitment tiers and Basic-logs tablesPartlyYes, per table from the Usage data
Microsoft 365 licences: unassigned seats, leavers, inactive users, shared mailboxes, Copilot, overlapping suitesNoYes
Disruption rating, the command, the rollbackGuidance onlyEvery finding
Whether the guardrails against waste are in place: budgets that alert, anomaly alerts, SKU and tag policies, auto-shutdown, log capsEach lives in a different blade; nothing checks them togetherNine checks, each with how to set it
Newer services and SKUs that change the bill, and retirements with datesGeneration upgrades onlyModernisation moves and a deadline table per estate
What changed since last timeNoEvery rescan
What you actually saved, over timeNoA ledger per tenant: recovered run-rate, realised to date, return on the price
A written summary a finance director can readNoYes, with every figure traced back to the report

Sources: Microsoft Learn, Advisor cost recommendations (retail-rate and reservation limitations, 7-day default) and the Cost Optimization workbook (preview).

What it is worth

Put in your monthly spend and see the range the surveys suggest, what the report and Monitor would cost, and how fast they pay back. Illustrative: your report prices every finding from your own bill, and the free preview shows the real figure before you pay.

Savings the surveys suggest
Your band and report price
Report pays back in
Monitor against the saving

Cautious rates are Spendlint's own floor, well under the surveys: 29% of cloud spend self-reported as waste (Flexera 2026), 36% of paid SaaS licences unused (Zylo 2026). A scan that finds less than its report price unlocks the report free.

Bands and prices

Priced by the size of the estate the scan measures, shown before you pay. Every band costs less than the first month of what a typical scan finds, or the report is free; the preview is free whatever the size.

BandAzure + Microsoft 365 spendReport, one-timeMonitor, per monthMonitor, per year
Starterunder £5,000/month£250£79£790 (2 months free)
Business£5,000–£25,000/month£600£149£1,490 (2 months free)
Enterprise£25,000–£75,000/month£1,200£299£2,990 (2 months free)
Enterprise Plusover £75,000/month£2,400£499£4,990 (2 months free)

Prices exclude VAT. 14-day money-back on any report. Guarantee: if a scan finds less in monthly savings than its report costs, that report is free. Partner covers 5 tenants of any size for £245 a month; more tenants, talk to us.

Honest by design

  • Read-only. Azure has a single delegated management scope; the scan uses it only for reads and can never exceed the Reader role you hold. Microsoft 365 uses four read-only Graph permissions, listed on the consent screen. Nothing is ever changed.
  • No double counting. Overlapping options are counted once; Advisor's alternatives are listed, not summed.
  • Actual bill first. Savings use last month's real cost where it exists; list prices are labelled as such.
  • Your data stays yours. Credentials are encrypted at rest; delete your reports and your account at any time.
  • Open source scanner. The engine that finds the savings is public on GitHub; read every rule, or run it on your own machine.
  • No card details here. Payments run through Stripe; we store the payment reference and amount, never card details.
  • Hosted on Azure in Europe. Reports stay for 90 days or until you delete them, whichever is first.
  • Nothing to install. No agents, no policies, no changes to your resources. Linking registers Spendlint as an enterprise application with read permissions; remove it under Entra ID, Enterprise applications, when you leave.

Questions people ask

Does it change anything in my tenant?

No. Every call the scan makes is a read: list resources, read metrics, read the bill, read licence assignments. The report tells you what to change and gives you the command; running it is your decision.

What access does it need?

An account with Reader on the subscriptions you want scanned, plus Cost Management Reader for actual spend. Microsoft 365 licence analysis needs a Global Administrator to grant four read-only Graph permissions once. A service principal works too.

How accurate are the numbers?

Each finding says what it was priced from: last month's bill for that resource, the live retail rate for your region, or the built-in price sheet. Reserved and savings-plan compute is excluded so a change there never counts as a saving. Overlapping recommendations are counted once.

How is the price decided?

By the monthly Azure and Microsoft 365 spend the scan measured, in three bands: Starter (under £5,000/month) £250, Business (£5,000–£25,000/month) £600, Enterprise (£25,000–£75,000/month) £1,200, Enterprise Plus (over £75,000/month) £2,400. You see the band and the price on the preview, before paying. Estates far above the top band: talk to us.

What if you find very little?

The preview is free, so you see the headline before paying anything. If a scan finds less in monthly savings than its report would cost, that report is unlocked for free. And any report comes with 14-day money-back.

Which subscription types work?

Pay-as-you-go, Enterprise Agreement and Microsoft Customer Agreement subscriptions give full actual-cost data. Some CSP subscriptions don't expose Cost Management; the scan still runs and prices those findings at retail rates, and says so.

How do you know what I actually saved?

Every finding has a stable identity, so a rescan can tell which ones have gone. A finding that has gone is money recovered from that scan onwards, valued at its monthly run-rate for the months since; waste that comes back shows as new. It is a run-rate estimate, clearly labelled, not a reconciliation of your invoice.

Is AI involved, and does it see my data?

The findings, the prices and the plan are computed by rules, not by a model. With AI enabled, a short written narrative is produced by an AI model from a brief containing only the figures in your report, never the inventory, and every number it writes is checked against the report. The provider is named in the privacy notice. Without it, the report reads the same with a computed summary.

Can I run it myself instead?

Yes. The scanner is open source and needs only Python: sign in with a device code and get the same report as a file. The hosted service adds the consent flow, scheduling, email and the preview.