Contracting solution - Best way to structure

Copper Contributor

Hi all,


Thanks in advance for taking the time to read my post.
I am currently building a contracting solution for my business.

The basic setup is a simple library which uses a document set for each clients. This document set can hold contracts, statements of work etc. Now where I am struggling is when a client has different projects which itself different documents. These projects are currently just folders in the "Client" document set. This in itself is not ideal since the metadata does not match between these levels.
Furthermore, a single contract for a client can also be applicable for some (not all) of the projects of that client, whereas other contracts are relevant on a project level.

I need some advice on how I would best structure this. Some options I thought about myself:
1. Add a hyperlink to the metadata of the project folder. This solution is a bit cumbersome

2. Create a seperate library with all the contracts, use a lookup column to the metadata of a project to select the correct contract. This is a bit cumbersome to keep up-to-date.


Any suggestions would be appreciated!

3 Replies



So there's several ways to approach this but here how's I would do it:


  1. Tag the document with Metadata for each client, project etc. Metadata are descriptive information that help you categorize and find your documents later. For example, you can add a client name, a project name, a document type, a date, or any other relevant information as metadata for each document. Make use of Term store for Client name and project, this will make it easier if it's used in several places.
  2. Make use of Content types for different kinds of documents (Statement of work, Contract, etc.). Content types are predefined collections of metadata and settings that apply to a specific type of document. For example, you can create a content type for Statement of work that has metadata such as client name, project name, scope, deliverables, etc. and settings such as a template, a workflow, or a retention policy. By using content types, you can ensure consistency and standardization across your documents.
  3. Work with views, Group by client and then project. Views are ways of displaying your documents in different formats and filters. For example, you can create a view that shows your documents in a table format with columns for metadata such as client name, project name, document type, etc. You can also group your documents by client name and then by project name to see them in a hierarchical structure. By working with views, you can customize how you see and access your documents.


This solution may require some initial setup and configuration, but it can help you achieve a more organized and efficient document management system for your clients and projects. You can also customize and modify this solution according to your preferences and requirements.

Thanks for your reply Nicolas, although I am pretty sure your reply was generated using ChatGPT...

  1. I am already making use of metadata as I mentioned in my first proposed solution
  2. Similarly I already make use of Content types.
  3. While using views can help to group by project etc, it by itself does not help me structure the sharepoint site.


It was not, these are the three pillars when structing information within SharePoint :)

1. It's not clear what Metadata you're using and how you've structured it. For example Client and Project should be in the Term store

2. Is not defined in your text that you're using content types.

3, What way do you want to structure it then, what do you feel the issues is? as i'm proposing is a flatter structure to make it easier for you to find.

What imposing is using that you make it more flat and use views and metadata to group it and filter. This way is the way SharePoint was designed to be used when it comes to structure and search for information. As having a document library per client makes it hard to manage,

If you have everything as above it should be pretty straight forward for you :)