annual report look and feel.
tidy contract class
add boolean 'isCurrentMonth' to prevent PDF generation if month is not yet over and thus avoid errors