I have a warehouse in the US plus inventory at Amazon in US, CA, UK. We want to be able to use the most affordable ship option and charge customers accordingly.
We tried the Advanced Shipping Rules app to charge different rates, based on the products that are in our Amazon inventory, since not everything is there. That only works with 1 Amazon location but not several. It seems that the major challenge is that you can only ship a product out of 1 location - that's also the case with Shopify's Multi-Location or Fulfillment by Amazon options.
Does anyone know of a workaround?
You can easily handle this using the Multi Carrier Shipping Label app. Using the app, you can create different shipping zones. Based on these zones, you can choose the carrier service or the shipping warehouse.
For example, Canada; create a Zone for Canada. For any customers from that zone, you can set up a rule to use the Canada warehouse as the ship from address and a suitable carrier like Canada Post in case you have multiple carriers configured. This would help you give the best options to the customers.
Try the FBA Shipping app. You can link it to multiple Amazon marketplaces and also connect it to your own USPS, Fedex, or UPS account for the products in your own warehouse. It will automatically send the FBA portion of the order to Amazon for fulfillment while leaving the non-FBA portion for you to fulfill.
The only issue is that Shopify will only pull one shipping rate into the checkout. So you can't get an Amazon FBA rate and a USPS rate for example. This is only a problem when someone orders a mixed cart (FBA product + non-FBA product). With the FBA Shipping app, it will pull in the Amazon shipping rate. What most people do to account for this is to increase their shipping rates by a little (say 10%) to cover the extra cost. Hope that helps!