i didn't get your question properly but i think a search view could create you issue. you can categorise items in search view using groupby property
if you have database like
_columns = { 'fee_type': fields.many2one('fee_type','Type of fee paid:',size=20,required=True), 'amount_paid':fields.integer('Amount paid: ',size=20,required=True), 'date_of_pay':fields.date('date of pay',required=True) }
and your xml view can be
<record id="view_fee_payment_search_form" model="ir.ui.view">
<field name="name">fee.payment.search.form</field>
<field name="model">fee_payment</field>
<field name="arch" type="xml">
<search string="payment">
<field name="fee_type"/>
<field name="date_of_pay"/>
<group expand="0" string="Group By">
<filter string="Fee type" name="fee_type" context="{'group_by':'fee_type'}"/>
<filter string="payment Month" context="{'group_by':'date_of_pay:month'}" help="Payment Date"/> <filter string="payment year" context="{'group_by':'date_of_pay:year'}" help="Payment Date"/>
</group>
</search>
</field>
</record>