Every folder structure embeds a bet: that there is a single order of questions by which people will look for a document. Finance › 2026 › Contracts › Suppliers works for whoever thinks department-first. It fails for anyone who wants every contract expiring this quarter, regardless of area.
The practical limit of a folder tree
Three symptoms tell you the structure has burst:
- The same document would need to live in two branches - and someone solves it with a copy.
- Paths get so long that people share direct links, and the hierarchy becomes decoration.
- Nobody finds anything without asking in chat who saved what where.
Designing the minimum column set
A good metadata set is short and mandatory. Five to seven columns per document type usually suffice: type, owning area, status, reference date, owner and confidentiality classification.
Every column must pass one test: will anyone filter or group by this? If not, the field is documentation rather than metadata - and can probably live inside the file itself.
Term Store: one vocabulary for the whole company
Free-text columns degrade fast: "HR", "H.R.", "Human Resources" and "hr " become four distinct values in any report. Managed metadata columns solve this at the source, with values drawn from a central, versioned vocabulary.
A useful side effect: renaming a term in the Term Store propagates to every document using it - with no bulk editing.
Views replace folder navigation
With metadata in place, each team gets its own entry point into the same archive, with no duplicated files:
- My pending items: filtered by owner equals current user and status pending.
- Expiring in 30 days: filtered by reference date, sorted by expiry.
- By area: grouped by the area column with per-group counts.
JSON column formatting is worth applying to signal status visually - overdue in red, pending in amber. It is a cheap detail that changes how useful the library feels.
The list view threshold in practice
Large libraries hit the 5,000-item query threshold. The answer is not slicing the archive into folders: it is indexing the columns used in filters and making sure every view has an indexed filter that brings the set below the limit.
Done properly, a library with hundreds of thousands of documents behaves well - because no view tries to materialise the whole archive at once.
When folders still make sense
Folders remain useful in two cases: breaking permission inheritance for a specific set of files, and grouping deliverables of a project with a clear start and end. Outside that, a column is almost always the better choice.