/** * Get the final price in base currency for an ordered item including * taxes as discounts. * * @param Mage_Sales_Model_Order_Item $item the item model. * * @return float */ public function getItemFinalPriceInclTax(Mage_Sales_Model_Order_Item $item) { $quantity = (double) $item->getQtyOrdered(); $basePrice = $item->getBaseRowTotal() + $item->getBaseTaxAmount() + $item->getBaseHiddenTaxAmount() - $item->getBaseDiscountAmount(); $orderCurrencyCode = $item->getOrder()->getOrderCurrencyCode(); $baseCurrencyCode = $item->getOrder()->getBaseCurrencyCode(); if ($orderCurrencyCode != $baseCurrencyCode) { $priceInOrderCurrency = Mage::helper('directory')->currencyConvert($basePrice, $baseCurrencyCode, $orderCurrencyCode); } else { $priceInOrderCurrency = $basePrice; } if ($quantity > 1) { $priceInOrderCurrency = round($priceInOrderCurrency / $quantity, 2); } return $priceInOrderCurrency; }
/** * Calculates the Row Total Price the same way the UI does. * @param Mage_Sales_Model_Order_Item $item * @return float */ public function calculateRowTotalPrice($item) { return $item->getBaseRowTotal() + $item->getBaseTaxAmount() + $item->getBaseHiddenTaxAmount() + $item->getBaseWeeeTaxAppliedRowAmount() - $item->getBaseDiscountAmount(); }