Domanda

Secondo HMRC, "la responsabilità IVA [della carica di spedizione] si basa sulla responsabilità dei prodotti consegnati" *

Non sembra essere un modo in Magento di basare l'IVA di spedizione sulla classe fiscale dei prodotti nel carrello.Tuttavia, per ottenere un totale accurato totale, cioè come dovrebbero essere calcolati.

C'è un'estensione o un solate di lavoro che qualcuno conosce per la versione recente di Magento Cer (cioè 1,7-1.9)?

È stato utile?

Soluzione

Alla fine abbiamo scritto un'estensione che ha cambiato il modo in cui Magento lavora per la spedizione del Regno Unito, basando la proporzione dell'IVA sulla base della responsabilità degli articoli nell'ordine. È così che HMRC si aspetta che la tassa di spedizione del Regno Unito venga elaborata (vedere https://www.gov.uk/rates-of-vat-on-different-goods-and-services#Postage )

Le classi / funzioni che dovevano essere sovrascritte per rendere questo cambiamento:

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

In queste funzioni abbiamo preso la tariffa calcolata da:

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

Ci moltipliciamo questo con un coefficiente in base alla proporzione di elementi tassabili:

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

Questo dovrebbe dare l'approccio generale, ma nota che c'è qualche codice per gestire casi di bordo non inclusa qui come è piuttosto più coinvolto. Inoltre, abbiamo dovuto utilizzare le condizioni nelle funzioni sovrascritte perché queste funzioni fondamentali si sono evolute nel tempo, quindi è necessario basare questo sulla specifica versione di Magento che stai utilizzando.

L'estensione, che non è gratuita, può essere trovata qui: https://www.c3media.co.uk/c3-uk- spedizione-tax.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top