Invoice Custom Fields are created on the Server > Financial Tab > Invoice Customs.
Note: Custom Fields from Projects can be added to the Invoice as well.
Create exactly the same fields at Invoice level, and from the drop-down menu select Sync With Project Customs so the matching values from the Project Custom Fields will be imported into the Invoice Custom Fields. Upon creating an Invoice, matching Custom Fields will populate the information entered at Project level.
You may also want to find out how to populate Contact Email in the Invoice Editor.