How to create and view a clickable list of information on a user profile?
Seems like you're looking for something like what I'd call some type of "drill down" facilities. Have a look at the Master Summary with drill down example. Click on some of the links in the tabular report (or bars in the chart ...), to get some related report (for the link you followed). Think of "states" as the equivalent of your "invoices" to get the idea.

The above sample is created with the Forena module. After you install it in your own environment, you'll have access to another set (category) of reports, related to "Drupal Administration" (applied to your own site). One of the reports in it is the "Logs for User" report (located at /reports/drupaladmin.user_logs). It'll show you a summary of watchdog entries (for the user you selected). And the resulting report includes a link "Details" for any of the watchdog records shown, which you cann use (follow) to get way more details about the specific watchdog record. The format of such "detail" is shown in a format that is pretty close to your "Invoice details" screenprint.

Here is a screenprint of another (custom) report that also includes such drill-down facilities (don't look at the actual formatting of it):



The (red) numbers in it are actually hyperlinks which you can use to get the actual Watchdog details (corresponding to the link you selected). The (collapsed) "Report Execution Parameters" can be expanded to "filter" the data to be included in the report. Even though it's a custom report, it is pretty forward to build such kind of reports, e.g. using Forena's WYSIWYG report writer and/or WYSIWYG query builder.

The above is about displaying (reporting) all such data. To also be able to "add" new records (invoices), you could expand the so called "frx" files (which is just plain XHTML), to insert something like an hyperlink to "add a new invoice". Such link would then probably correspond to something like node/add/invoice (assuming the machine name of your content type is invoice). Optionally you could also use a destination parameter in such URL to return to the "report" after the new node (invoice) was added.

Disclosure: I'm a co-maintainer of Forena.