Always prompt for a shipping address even if there are no shippable products with Ubercart I manage a site selling online classes. Some classes include shipped items (books, posters, etc); for these classes, the cost of shipping is included in the class price.

Ubercart products are configured as non-shippable, as automated shipping quotes through UPS should not add any additional cost. 

I'd like to configure Ubercart (6.x-2.4) to always prompt users to enter a shipping address, without returning an error message when products in the order are not flagged as shippable.

At present, Ubercart will always prompt the user for a shipping address if "Hide shipping information when possible for carts with no shippable items" is unchecked in "Checkout settings." However, it looks like the UPS module will always try to calculate a shipping quote if shipping details are prompted for, regardless of whether items are shippable or not. If this is the case, an error message is displayed informing the user that a shipping could not be calculated.

Is it possible to configure shipping settings to still prompt for a shipping address, while preventing shipping modules such as UPS from returning an error message if no shippable products are configured?

For example:


    Order A: (works with UPS shipping module)
         Shippable_product_A  $10 (shipping $5)
         Shippable_product_B  $20 (shipping $8)
         --------------------------------------
         Total order cost: $30 + $13 => $43

    Order B: (does NOT work with UPS)
         Shippable_product_A    $10 (shipping $5)
         Non-Shipped_product    $15
         ---------------------------------------
         Total order cost: $25 + $5 = $30
The only work around for this is to alter the UPS module yourself or report it as bug, (because in my opinion, this is a bug.)

You could probably write a module that would override the UPS module to circumvent the above suggestions. You have pretty clearly hit the nail on the head though. The problem is not Ubercart but the modules that are interacting with it inappropriately. I know the FedEx module takes into account shipable products, if my memory serves me correctly.

The entire shipping pane should be hidden if there are no shipable items. (That is the point of having that option in the products.)