There are multiple options and the structure of your database is a major factor in figuring out what works.
Here's a generalized method that will work with dated records. (One field in the table contains a date).
Add a field that returns the same value for all dates of the same month, year
Add summary fields that use "total of" to compute the totals of any number fields you need totals for
Create a summary report with a sub summary part set for "when sorted by..." and specify the "month" field from line 1.
Place your summary fields in the sub-summary part
Create Trailing Grand summary part and put the same totals in it for your Yearly summary.
Find all records for one year
Sort your records by the "month" field and you have the results you want.
Here's a simple "month" field:
Date(Month(yourdatefield); 1 ; Year(yourdatefield))
set the calculation field to return a "date" type.