A shipment can be created only from a contract and the shipment record creates a delivery note for the line items and quantities you are shipping. Once a shipment is processed, the stock transactions are created for the parts that have been sent.
An invoice can be created directly from a shipping record, transferring all the details from the contract into the invoice. This can be used directly as it is, or it can be transferred using Xero integration to post a draft invoice into Xero and it can be issued from Xero. This is the typical route to take.
Any invoice can be printed into formats - either as a Tax Invoice (standard) or as a Pro-forma invoice.
To create an invoice without creating a shipment, it is still required to create a contract. This stores all the sales information such as customer, item, quantity and price. A contract record can be used to create an invoice for some or all of the line times at anytime and this can be used as a tax invoice or proforma.