Pergunta

De acordo com o HMRC, “a responsabilidade do IVA [da taxa de envio] baseia-se na responsabilidade das mercadorias entregues”*

Não parece haver uma maneira no Magento de basear o IVA do frete na classe tributária dos produtos no carrinho.No entanto, para obter um total preciso do IVA, é assim que devem ser calculados.

Existe uma extensão ou solução alternativa que alguém conheça para a versão recente do Magento CER (ou seja,1,7-1,9)?

Foi útil?

Solução

No final, escrevemos uma extensão que mudou a forma como o Magento funciona para remessas no Reino Unido, baseando a proporção do IVA na responsabilidade dos itens do pedido.É assim que o HMRC espera que o imposto sobre remessas no Reino Unido seja calculado (consulte https://www.gov.uk/rates-of-vat-on- Different-Goods-and-services#postage)

As classes/funções que precisaram ser substituídas para fazer essa alteração foram:

tax/sales_total_quote_tax::_calculateShippingTax
tax/ales_total_quote_shipping::collect

Nessas funções pegamos a taxa calculada por:

$rate = $calc->getRate($addressTaxRequest);

Em seguida, multiplicamos isso por um coeficiente baseado na proporção de itens tributáveis:

    // 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;

Isso deve fornecer a abordagem geral, mas observe que há algum código para lidar com casos extremos não incluídos aqui, pois é um pouco mais complexo.Além disso, tivemos que usar condições nas funções substituídas porque essas funções principais evoluíram ao longo do tempo, então você precisaria basear isso na versão específica do Magento que você está usando.

A extensão, que não é gratuita, pode ser encontrada aqui:https://www.c3media.co.uk/c3-uk-shipping-tax.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top