The banner appears on Monday. By Wednesday someone from finance is asking why their upload failed, and the quote for extra storage is on your desk. Before you sign it, here is what is actually happening and what twenty minutes of triage usually finds.
What "full" does
- A site at its own quota: uploads and content-adding edits fail with a storage error. Reading, downloading and deleting still work. Office autosave silently stops creating versions.
- The tenant pool exhausted: the same thing on every site, regardless of their individual quotas.
- Nothing is lost. Nothing is deleted. It is a write block, not a data event.
The pool is 1 TB + 10 GB per licensed user (E3, E5, Business Standard and similar; F-plan frontline licences add nothing). A 200-user company has 3 TB.
What extra storage costs
Microsoft sells Office 365 Extra File Storage by the GB, per month, forever. At list price it is around $0.20 per GB per month; check your agreement. 1 TB is therefore roughly $200 a month, $2,400 a year, and it never stops.
Most tenants that hit the wall are storing far more than that in things nobody wants.
The twenty-minute triage
1. Which sites (2 min). SharePoint admin centre → Active sites → sort by Storage used. Or:
Connect-SPOService -Url https://contoso-admin.sharepoint.com
Get-SPOSite -Limit All | Sort-Object StorageUsageCurrent -Descending | Select-Object -First 10 Url, StorageUsageCurrent
Three sites are usually most of it.
2. Versions on those sites (5 min). Storage Metrics on each (/_layouts/15/storman.aspx), or the version audit. If versions are more than half, a trim reclaims it without deleting a single file. Run the what-if first; then New-SPOSiteFileVersionBatchDeleteJob.
3. Second-stage recycle bins (3 min). Site collection admin → Recycle bin → Second-stage. Deleted content that someone already decided they did not want, still counting. Emptying it is permanent, so confirm the 93-day expectations with the site owners.
4. Preservation Hold Libraries (3 min). Sites under retention policies keep copies of everything deleted or edited. You cannot empty these (that is the point of the policy), but you can find out that a two-year hold on a site of daily exports is the cause and take that to compliance.
5. Orphaned and inactive sites (5 min). Admin centre → Active sites → sort by Last activity. Sites untouched for a year can be archived with Microsoft 365 Archive (much cheaper per GB than active storage) or deleted (93-day safety net).
6. Single-file writers (2 min). One file with thousands of versions is a flow or a refresh loop. Fix it or the space comes back.
When you should just buy it
- The content is real, current and needed, and versions are under 20%.
- The overage is small and the trim work is not worth an afternoon.
- You need it today and the trim jobs take a day to run and two to show.
Buying a month to cover the triage, then cancelling, is a legitimate move.
Seeing the triage in one view
Storage Analyzer shows, per site, what you can see versus what you are storing, the version-history estimate, the unaccounted-for remainder (bins and hold library), and libraries ranked largest first. It is free and read-only, so it is safe to hand to site owners so the question "why is our site full?" stops landing on you. The trim itself is TrimVersions365.