I’ve worked with a bunch of huge Fortune 1000 companies that do similar things. Model each contract in its own excel file then every month put in that month’s data and have the excel model spit out how much you owe in the form of a formatted invoice.