The admin version of zen_add_tax (as far back as zc154) performs unwanted pre-rounding of the calculated result, unlike the storefront version:
Code:
/**
* Add tax to a products price
*/
function zen_add_tax($price, $tax) {
global $currencies;
if (DISPLAY_PRICE_WITH_TAX_ADMIN == 'true') {
return zen_round($price, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']) + zen_calculate_tax($price, $tax);
} else {
return zen_round($price, $currencies->currencies[DEFAULT_CURRENCY]['decimal_places']);
}
}
I believe that this is one of the causes of many rounding issues seen by Edit Orders when a store is configured to display prices with tax in the admin.
Bookmarks