Are you trying to report on more than one year of data?
Is the data stored one row per record?
If only one year and all data for one record is on the same row then this might be simple. You talked about how March 28 is really April. Well first you need to make a formula for each record that gives the data the correct month but store that as a number. Now create a worksheet that queries your data set to only show you records that match the month you want. The query can include every column of data from the matching row. Now on a different worksheet you can create a formula that would sum the column from the other worksheet that is showing the money.
Storing the month as a number makes some things easier when you need to have Period totals also.
Feel free to PM me for my contact info if you would like to talk to me over the phone about this.
_________________________
Chad