First, looking at your table structure, you should not have the customerID in the invoice table since you are already joining the invoice to the order. The order has the customerID (so no need to repeat it). How you handle invoices in your database, depends on how you handle them in your business. The way you show it now, you can have many invoices from an order. Is that consistent with your business process? Or will you only have 1 invoice per order? Do you wait for all items that have been order to be shipped/sent before you issue an invoice? Is the invoice amount generally the same as the order amount?
Just looking at your database, the order details gives you the information you will need for the invoice, does it not?