One way is to simply render your SharePoint url in the portal directly, as long as your SharePoint is visible externally and you have the correct license for this. Another way is to write a small proxy to add to the portal that will query the
document library in SharePoint for the invoice and then proxy the GET request for the SharePoint document through the portal. The commercial version of the portals from Adxstudio has this capability.
You can build your own security in your portal and present the bill and quote information as html fairly easily.
The free version of the portals do not have content security, but the commercial version from Adxstudio does have content security that can be used to upload secure content files and have secure content pages.
I am not certain about your question on the contact page, but yes you can copy/paste the asp.net code between the partner portal and the customer portal - they are both using the same conventions and using the same SDK. Most of the partner portal is
a copy/paste of the customer portal.
Shan McArthur www.shanmcarthur.net Check out the commercial edition of xRM portals @ www.adxstudio.com