hi,
i can't get compounding or multiple taxes to work properly in zen cart 1.5. But it work perfectly in 1.39h.

So i created 2 fresh installations of both zen cart 1.39 and 1.5

For both shops:
The shops location is Alabama.
The customers are from California.
I have made 2 zone definitions (world and California).
For Tax Classes i have only "Taxable Goods".
I have made 2 tax rates (world 20% and California 15%).

when I tested it on 1.39 it works perfectly:

Sub-Total: $32.00
Free Shipping Options (Free Shipping): $0.00
tax 20: $6.40
CA tax15: $4.80
Total: $43.20

But on 1.5 i get:

Sub-Total: $32.00
Free Shipping Discount Options (Free Shipping): $0.00
CA tax15: $0.00
tax 20: $0.00
Total: $32.00

After spending hours with different settings and searching on the forums, i couldn't find anything for this on it.

But i managed to get a work around. If you open includes/classes/order.php and uncomment the if statement on line 523:

//if ($taxDescription == $products_tax_description)...

and replace:

Code:
              $taxAdd = zen_calculate_tax($this->products[$index]['final_price'], $this->products[$index]['tax']) * $this->products[$index]['qty']
                      +  zen_round(zen_calculate_tax($this->products[$index]['onetime_charges'], $this->products[$index]['tax']), $decimals);
with this taken from v1.39:

Code:
        $taxAdd = zen_calculate_tax($this->products[$index]['final_price']*$this->products[$index]['qty'], $taxRate)
                +  zen_calculate_tax($this->products[$index]['onetime_charges'], $taxRate);
then everything seems to work well.

The reason i uncommented the IF statement ($taxDescription == $products_tax_description) was that the loop would fail every time when:

"CA tax15" == "CA tax15 + tax 20"
and
"tax 20" == "CA tax15 + tax 20"

But i'm not sure this is the right way to go about doing this! Is this a bug or am i doing something wrong???

thanks in advance.