SCCM and 1E team up to create a really nice application called AppClarity which does exactly what you want. Though, it does piggyback onto SCCM for the asset intelligence piece.
Basically, the term you are looking for is Asset Intelligence. There is a ton of software out there, many are add-ons to programs that discover what is on your network. If you are not actively discovering software on your network using a tool, then an Excel spreadsheet might be what you're stuck with... unless you shell out some money for these applications/servers. For example, AppClarity will automagically track your warranties and terms of service for you. If you bought two licenses at two different times, it will tell you End of Life along with the restrictions to the software.
Depending on your environment you have some really nice solutions out there. Depending on your budget though, you may not. My company dropped $130k buying the software, support, and some other software. Based on our environment it will have paid for itself within 18 months.