Правило цен на корзину в Magento 2 и налоговый вопрос
Спецификации: Magento 2.1.7
Я получил проблему и не смог найти ничего похожего на мой случай в Google.
У меня есть правило налоговой цены, которое делает бесплатную доставку, если подытог превышает 500 евро. Правило работает нормально, бесплатная доставка применяется без проблем. Проблема возникает с продуктами, к которым применен FPT (фиксированный налог на товары).
Когда применяется бесплатная доставка, сумма налога из итогов превращается в хороший круглый ноль. Сумма налога снижена до нуля.
Очевидно, это не происходит с продуктами, которые используют налоговые классы. Доставка становится бесплатной, а налоги выглядят нормально.
У меня нет идей, я собираюсь погрузиться в код, но я не уверен, что найду проблему. Спасибо за любую помощь.
1 ответ
Очевидно, FPT не суммирует с итогами, у них есть другой итоговый элемент.
Узнав, что я написал наблюдателя, который добавляет сумму FPT к сумме налога, и теперь все выглядит хорошо.
**Event** sales_quote_address_collect_totals_after
/**
* Adds Fixed Product Tax(FPT) to the total Taxes
*/
public function execute(Observer $observer)
{
/** @var Magento\Quote\Model\Quote\Address\Total */
$total = $observer->getData('total');
/* Adds FPT to the tax totals even if it is equal to zero */
$total->addTotalAmount('tax', $total->getWeeeAmount());
return $this;
}