Add Filters, Columns and Group by to INVOICING from related contacts type partner

A client might have a lot of partners but there is no option how to filter invoices by partners. The solution is to add 2 new fields to Invoice - Partner and Partner's assignee. That fields are to be dispayed in Invoice query only (filterable, groupable, with option to add it to the list). With every new "Indirect business contact" added to a CRM case (if the contact type is "partner"), add the Contact name and Assignee to the Invoice. If the partner will be deleted from the CRM case, it must be deleted from invoice as well.