It’s hard to appreciate a solution until you’ve tried solving the problem.
This is why it’s a good idea to first try building your own contract database, using a spreadsheet or otherwise.
You might even find it does everything you need. Problem solved.
Alternatively, you might very quickly realise just how many sub-problems lurk beneath the surface. A violent game of whack-a-mole awaits...
Not only will you appreciate a good solution more, you’ll be much better equipped to define what it needs to do for you.