Я использую Magento 1.5.1.0, и раньше у меня были проблемы с расчетом налога на суммы счетов. В то время как расчет будет правильным для всех итогов в моем магазине, в представлении счета-фактуры и в счетах-фактурах в формате PDF будут отображаться неправильные итоги.
Разницу между неправильным отображаемым значением и правильным значением можно увидеть на этом рисунке: (Краткая версия: промежуточная сумма будет включать налог на доставку, хотя налог на доставку уже включен в стоимость доставки) http://i731.photobucket.com/albums/ww318/vitamin6/orderview_fixed.jpg
Поэтому я разместил эту проблему на freelancer.com, и кому-то удалось ее исправить. НО, как я узнал позже, исправление не распространяется на все сценарии — если у заказа есть бесплатная доставка, промежуточная сумма счета все равно будет неверной. Вот скриншот, показывающий разницу: http://i731.photobucket.com/albums/ww318/vitamin6/orderview_freeship.jpg
Фрилансер отредактировал следующий файл, чтобы исправить неправильный расчет налога: app\code\local\Mage\Sales\Model\Order\Invoice\Total\Subtotal.php
Там следующий код:
if ($invoice->isLast()) {
$subtotal = $allowedSubtotal;
$baseSubtotal = $baseAllowedSubtotal;
$subtotalInclTax = $allowedSubtotalInclTax;
$baseSubtotalInclTax = $baseAllowedSubtotalInclTax;
был заменен на этот:
if ($invoice->isLast()) {
$subtotal = $allowedSubtotal;
$baseSubtotal = $baseAllowedSubtotal;
//$subtotalInclTax = $allowedSubtotalInclTax;
//$baseSubtotalInclTax = $baseAllowedSubtotalInclTax;
$subtotalInclTax = min($allowedSubtotalInclTax, $subtotalInclTax);
$baseSubtotalInclTax = min($baseAllowedSubtotalInclTax, $baseSubtotalInclTax);
Может ли кто-нибудь указать мне правильное направление, как мне нужно еще изменить файл, чтобы исправление работало для заказов с бесплатной доставкой? При необходимости можно предоставить более подробную информацию о налоговых настройках и т. д. - заранее спасибо!