Glad I could help a bit Frank. As for the invoicing, what I am talking about would actually be pretty simple. Sort of like sending an email form from the system. You already send notifications as to order status, etc. Implementing a form that executes either in email, or (more securely) takes the user to a login page, maintaining the "invoice/order" data on redirection to a cart page, would allow an administrator, or someone who has the rights to access the "invoice" function to simply send a mail, based on form variables, which tells the end user the invoice total.
Hope this is making sense. In contrast to simplify it even more, each "invoice" would simply be an incomplete "shopping cart" which could have an order number. Then when the user receives the email, entering that "order/invoice" number would reload the order in the system just before the checkout process begins. Then the user would go through the normal checkout process and finalize the order/invoice.
That is basically what happens with the current PayPal process. The user receives a "request for payment" email which has a link that creates the PayPal shopping cart already filled with the invoice data and pricing. Then when the user selects "continue" in the "cart" they are taken through the normal checkout process. I am talking about doing basically that same exact thing.
Clay