I often find myself having to calculate the weight of many items manually in order to calculate/get carrier quotation for the shipment.
Then I use this information to set the shipping price of the order, in order to have the invoice with the right shipping cost.
You say: confirm the order, set invoice method to manual, update the shipping cost on the shipment, and then make the invoice manually. The issue here is that I need to have the invoice prepared to give to the driver and it is not practical to prepare the documents just in time: it is better to have the prepared before the driver arrives.
From what I can tell, I can set Shipment cost method: on sale, or on shipment.
I can not set the shipping cost on sale, as I do not know it before calculating the weight and getting the carrier offer.
And I can not use on shipment sent, as I would have to generate the invoice while I am loading the lorry, or make the driver wait.
Also I do not like the idea of “Ship” before actually shipping.
I imagine there are two options: Create the shipment before the sale is confirmed, or have a method to get the shipping weight without creating the shipment.
Also I do not like the idea of using sale_amendment to modify the shipping cost after the sale is confirmed.
Any ideas how to make this less painful?