So, I'm at my wit's end.
When I create a draft order, I want to be abel to set the box size & weight to be able to see the correct shipping rate so I can charge the customer appropriately. Then I will want to create a shipping label.
If I mark it "paid" (which I seem to have to do to be able to actually calculate shipping), then I cannot add shipping afterwards.
How the heck do I calculate shipping costs before I mark the invoice as Paid?
Seems like there is no way to do this, which to me is a massive oversight.
Here's what I do for a workaround:
I created a "shipping label" item with zero cost and not available on the store.
I get 2 draft orders going at the same time.
One is the "regular" order. The other is an order with the shipping label only, at zero cost. I set it as PAID. Then, I fulfill it, and I put the dimensions, etc of the box and weight into that order & print a shipping label (and add customs info if required). Then I put the shipping cost into the "real" order., and of course the printed label goes on the box.
It's a pain, but it works.
I'm in the same situation. I need to charge a credit card over the phone using Authorize.net and once the payment is fulfilled I will update the order to paid.
But how can I get the correct price to charge to the credit card if I don't get the shipping rates?
There should be a way of doing this.
I have thought of a workaround for this. You would need to install the Draftable app (https://apps.shopify.com/draftable) to convert abandoned checkout to draft order for the workaround to work, initially it was a custom app of mine but I have submitted it to app store as I think it would be useful for other merchants as well.
The workaround will require creating a checkout just like a normal customer would, so that Shopify can calculate the shipping price at checkout based on the items weight, then you don't complete this checkout to make it abandoned (stop at the payment step).
Next, go to your Shopify Admin > Orders > Abandoned Checkout, then select the checkout you created in the previous step. Then select 'More actions' > 'Create Draft order' . And now you have a draft order filled with the cart items from the checkout, and also the calculated shipping price!
Hope this helps!