Налог на доставку в Великобритании на основе доставленных товаров

magento.stackexchange https://magento.stackexchange.com//questions/57905

Вопрос

Согласно 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top