--- ubercart/uc_taxes/uc_taxes.module 2012-09-08 23:50:49.000000000 +0530 +++ ubercart/uc_taxes/uc_taxes.module 2012-11-12 18:53:34.546532345 +0530 @@ -397,8 +397,10 @@ function uc_taxes_filter_rates($order) { // For orders no longer in checkout, only the saved tax rates can apply. elseif (isset($order->order_status) && uc_order_status_data($order->order_status, 'state') != 'in_checkout') { if (isset($order->line_items)) { + $flag = TRUE; foreach ($order->line_items as $item) { if ($item['type'] == 'tax') { + $flag = FALSE; if (!empty($item['data']['tax'])) { // Use the rate stored in the line-item. $taxes[] = clone $item['data']['tax']; @@ -414,6 +416,14 @@ function uc_taxes_filter_rates($order) { } } } + if ($flag) { + foreach (uc_taxes_rate_load() as $rate) { + $tax = clone $rate; + if (rules_invoke_component('uc_taxes_' . $tax->id, $order)) { + $taxes[] = $tax; + } + } + } } } // For orders still in checkout, any tax whose conditions are satisfied can