納入された商品に基づく英国の輸送税
-
12-12-2019 - |
質問
HMRCによると、「送料のVAT責任」は配達されている商品の責任に基づいています。*
カートの商品の税務階級に輸送用VATを基準にすることのマゼンゴの方法はないようです。ただし、正確なVATの合計を得るために、それはそれらがどのように計算されるべきかです。
Magento CER(すなわち、1.7-1.9)の最近バージョンであることを誰かが知っている延長または回避策はありますか?
解決
最後に、Magento Magentoがイギリスの出荷のために機能し、順序の責任に基づいてVATの割合を基準にした方法を変更しました。これは、HMRCが英国の輸送税を取り上げていると予想する方法です(
この変更を加えるために上書きする必要があるクラス/関数は次のとおりです。
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;
.
これは一般的なアプローチを与えるべきですが、それはかなり多くの関与としてここに含まれていないエッジケースを処理するためのいくつかのコードがあることに注意してください。また、これらのコア関数は時間経過に伴い進化しているため、関数内の条件を使用しなければなりませんので、使用している特定のバージョンのマゼントの特定のバージョンに基づいています。
拡張子は無料で、ここで見つけることができます。 https://www.c3media.co.uk/c3-uk-輸送税.html
所属していません magento.stackexchange