Can I change a Customer invoice if an item is out of stock, I want to give a discount, amend shipping or add items having spoken to the Customer?

You can amend an invoice in the Control Panel prior to dispatch.  This will automatically amend the payment taken from the Customer. The Customer will be automatically notified of the changes.