Taxes aren't properly calculated for non-shippable items

Project: 
Ubercart
Category: 
bug report
Priority: 
critical
Status: 
closed

The implementation in uc_taxes.module should be:

function uc_taxes_calculate($order){
  if (is_numeric($order)){
    $order = uc_order_load($order);
  }

  if (empty($order->delivery_postal_code)){
    $order->delivery_postal_code = $order->billing_postal_code;
  }
  if (empty($order->delivery_zone)){
    $order->delivery_zone = $order->billing_zone;
  }
  if (empty($order->delivery_country)){
    $order->delivery_country = $order->billing_country;
  }

Currently, if uc_taxes_calculate receives a non-shippable $order object, taxes won't apply.

Re: Taxes aren't properly calculated for non-shippable items

Good find. It's getting harder and harder to test all the different use cases.

Fixed.