If you have a tight budget on expenses, you would probably want to track the expenses related to the cost resources in detail (e.g. daily or weekly), therefore collecting actual data and updating the schedule on monthly basis will not provide the level of detail that you need. In this way, you will be warned of expenses over budget early in a month and you will have time to deal with it. The level of detail you need is determined by the requirements of your particular project. We track resource hours to control the related costs by a certain level of detail; and the same level of detail can be implemented for the cost resources as well. If you need to do it monthly, just do it this way. Considering that you have Project Server, I do not know whether there is a particular reason for not doing it on montly basis.