The model
The tenant gets a pooled SharePoint storage allowance (a base plus a per-licensed-user increment); sites draw from the pool. Each site has a quota (auto-managed by default, or set manually) capping its share. OneDrive is separate per-user storage (its own per-licence allowance). Two truths that shape every capacity conversation:
- Versioning is a hidden multiplier. Every save keeps versions; default version limits mean a single frequently-edited large file can occupy several times its visible size. Old, generous version settings are why 'we're out of storage' arrives before anyone filled it with new content.
- The recycle bins hold storage too — deleted content occupies quota through its two-stage retention window (the compliance module), so 'I deleted things and storage didn't drop' is expected for weeks.
The 2026 billing change (researched)
Microsoft moved to geo-based storage billing for commercial tenants: from June 2026, billing is based on each geo's storage quota and usage, with Microsoft 365 SharePoint storage (and OneDrive storage from July 2026) entering public preview for all commercial tenants. The practical takeaway: storage overage now has a clearer price per geo, so the version-bloat and recycle-bin-hoarding that used to be invisible waste are now line items — a governance reason to fix them, not just a tidiness one.
The levers
- Version limits: cap versions per library (and consider auto-expiry of old versions) — the biggest single reclamation on most tenants.
- Site quotas: manual quotas on known-heavy sites prevent one site starving the pool.
- Retention vs storage tension: holds/retention keep content (and its storage) by design — you cannot delete your way under quota past a hold (compliance module).
What to watch (proofs)
- Pool vs usage: SharePoint admin center → storage, or
Get-SPOTenant | fl StorageQuota, StorageQuotaAllocated— headroom against the (now-priced) pool. - Per-site hogs:
Get-SPOSite | sort StorageUsageCurrent -desc | select Url, StorageUsageCurrent— the reclamation target list. - Version bloat: storage metrics vs content size on heavy libraries — the multiplier made visible (SAM's storage-analysis card, rolling out, targets exactly this).
- Recycle-bin drag: deleted-but-retained volume — why post-cleanup storage lags.