Shipping address, rates selection asked even if there's no physical products We have made a Drupal 7 website with Commerce module. The website has a combination of physical and non-physical products.

The shop has a small problem (or potentially big), in that it asks for shipping address and shipping rates (flat rate) from the shopper even if they only buy non-physical products.

We have used the Physical Product module and Physical Fields module to accomplish the physical product functionality.

I found a similar question, regarding a different (older) commerce version (7.x-1.0), but this question had no accepted answer, so I decided to ask my own question for my relative version of Commerce (7.x-1.3).

Any help, pointers on where to look/investigate this problem, or even a confirmation whether the single answer posted on the similar question is the right way to go about accomplishing this would be greatly appreciated.

If you need any more information from me, please ask.



Ok I just found a Rules rule with machine name commerce_shipping_method_flat_rate. So I added a condition to this rule "The order contains shippable products". I also unchecked the tickbox labelled "Require a shipping service at all times, preventing checkout if none are available." in Store-> Configuration-> Checkout Settings, and Shipping Service pane config.

This seemed to have done the job. However I had the Shipping Service pane in the "Shipping" part of the Checkout process, so now if you're buying non shippable products, you enter your details in the first page, then go to the Shipping page it displays a blank form with a Continue or Go back buttons to proceed to the Review page.

Is there a way to go straight to the Review page if there's no shippable products?
I've been able to sort this out by adding the condition "Commerce order contains shippable products" supplied by the physical product module to the existing shipping rules, and also added a new shipping flat rate service called "No Payment". And this new flat rate shipping service is £0.00 amount and checks for condition "NOT Commerce order contains shippable products" (Negated, hence the "NOT").

I also unchecked the tickbox labelled "Require a shipping service at all times, preventing checkout if none are available." in Store-> Configuration-> Checkout Settings, and Shipping Service pane config.