Your error is with the table definition in:
Code:
TYPE t_invoice_id IS TABLE OF pk_fin_data_source.t_invoice;
l_invoice_id t_invoice_id;
You need to define separate tables for each column in the SELECT...BULK COLLECT INTO...
For example:
Code:
TYPE TXT_TYP IS TABLE OF VARCHAR2(100)
     INDEX BY BINARY_INTEGER;
V_INVOICE_ID TXT_TYP;