
I built a free open-source dashboard that shows where your M365 storage actually goes (mailboxes, OneDrive, SharePoint), because our backup provider bills by volume
Like many SMBs, we back up Microsoft 365 through a managed service that bills by data volume. The invoice kept growing every month, and nobody could tell why, the Admin Center spreads this information across three different portals, and you end up exporting CSVs to Excel anyway.
So I built a small dashboard for it and open-sourced it:
https://github.com/AussieCH/m365-usage-dashboard
What it shows:
- Total tenant storage across mailboxes, OneDrive and SharePoint, with a growth chart over time (weekly snapshots), so you can see whether cleanup actions actually work
- Per-user list, sortable/filterable: mailbox + OneDrive usage, quota utilization with warning thresholds, license type, and automatic detection of shared mailboxes (the classic silent growers: info@, accounting@ …)
- All SharePoint sites with real display names, storage, owner, file count, page views and last activity — sites inactive for 90+ days get flagged as archiving candidates. Great for finding the dead sites left behind by Teams sprawl.
Tech: PowerShell 7 + Pode web server, data via the official Microsoft Graph Reports API (read-only permissions), stored locally in a single SQLite file. No cloud dependency, no telemetry, nothing leaves your network. Runs on any Windows box (dev also works on macOS/Linux).
Setup: there's a step-by-step guide (PDF) plus PowerShell scripts that automate the whole app registration incl. permissions, or you click through Entra manually in ~10 minutes. A built-in demo mode generates sample data so you can try it without touching your tenant. Screenshots are in the README.
Two gotchas the guide covers because they cost me time: report pseudonymization must be disabled in the Admin Center (otherwise you only get hashes), and the usage reports no longer include SharePoint site URLs in many tenants, the dashboard resolves real site names via Graph instead.
It grew out of a customer project and is free/MIT-ish open source, feedback, issues and PRs very welcome. Happy to answer questions about the Graph endpoints used.