New invoicing method when selling both goods and services

This is the role of the invoice method to decide when a sale line must be invoiced. It is not difficult to say that a service must be invoiced once a shipment has been done.

For shipment cost it is better to use sale_shipment_cost because the invoicing of the cost is done automatically when the shipments are done.

Indeed it is if you need to track that the service has been actually delivered.