Налог на доставку в Великобритании на основе доставленных товаров
-
12-12-2019 - |
Вопрос
Согласно HMRC, «ответственность НДС [ответственность за доставку] основана на ответственности доставленных товаров« *
Там, кажется, не так, кажется, как в Magento основывая доставку НДС на налоговом классе продуктов в корзине.Тем не менее, чтобы получить точное значение НДС, то есть как они должны быть рассчитаны.
Есть ли удлинитель или обходной путь, который кто-то знает для недавней версии Magento CER (то есть 1,7-1,9)?
Решение
В конце мы написали расширение, которое изменило путь Magento Works для доставки Великобритании, основывая пропорцию НДС на основе ответственности предметов в порядке. Вот как HMRC ожидает отработанного в Великобритании налог на доставку (см. https://www.gov.uk/rates-of-vat-on-different-goods-and-services#postage )
Классы / функции, которые необходимы для переопределения, чтобы сделать это изменение:
tax/sales_total_quote_tax::_calculateShippingTax
tax/ales_total_quote_shipping::collect
.
В этих функциях мы взяли расчетную скорость:
$rate = $calc->getRate($addressTaxRequest);
.
Затем мы умножаем это коэффициентом на основе доли налогооблагаемых предметов:
// Iterate over all items with prices to get proportional rate
$items = $address->getAllItems();
$totalPrice = 0.0;
$totalTax = 0.0;
foreach ($items as $item) {
// Add to total tax and price
$totalTax += $item->getTaxAmount();
$totalPrice += $item->getRowTotalInclTax() - $item->getDiscountAmount();
}
// Divide total tax by price in order to get weighted tax rate
$weightedTaxRate = ($totalPrice > 0.0) ? ($totalTax / $totalPrice) : 0.0;
// Convert rate to shipping tax rate (invert tax)
$rate = (1.0 / (1.0 - $weightedTaxRate)) - 1.0;
return $rate * 100.0;
.
Это должно дать общий подход, но обратите внимание, что есть какой-то код, чтобы обрабатывать краевые чехлы, не включенные здесь, так как это довольно больше. Кроме того, мы должны были использовать условия в функциях, переопределенных, потому что эти основные функции развивались со временем, поэтому вам нужно будет основывать это на конкретной версии Magento, которую вы используете.
Расширение, которое не бесплатно, можно найти здесь: https://www.c3media.co.uk/c3-uk- Доставка налог.html