Question

Dans ma boutique, CE 1.9.2.2, je souhaite arrondir les prix après application des taxes.Exemple:J'ai un produit au prix de 160,50 hors taxes appliquées.Pour certains clients le magasin applique une règle fiscale qui augmente le prix de ses 22%.Ainsi, après le calcul de la taxe, le prix de ce produit particulier devient 195,81.Pour ces clients, j'aimerais que le produit soit au prix de 196,00 tout en laissant 160,50 pour les clients pour lesquels le calcul de la taxe n'est pas appliqué.

Est-il possible d’y parvenir d’une manière ou d’une autre dans Magento ?

Était-ce utile?

La solution

J'ai réussi à le faire.C’est ainsi que j’y suis parvenu.

J'ai dû prolonger le Mage_Tax_Model_Calculation classe et réécrire la logique dans le calcTaxAmount méthode.

public function calcTaxAmount($price, $taxRate, $priceIncludeTax = false, $round = true)
{
    $taxRate = $taxRate / 100;

    if ($priceIncludeTax) {
        $amount = $price * (1 - 1 / (1 + $taxRate));
    } else {
        $amount = $price * $taxRate;
    }

    $taxedPrice = $price + $amount;
    $amount += round($taxedPrice) - $taxedPrice;

    if ($round) {
        return $this->round($amount);
    }

    return $amount;
}

Je viens d'ajouter les deux lignes :

$taxedPrice = $price + $amount;
$amount += round($taxedPrice) - $taxedPrice;

pour additionner au montant de la taxe la différence entre le prix taxé et le prix taxé arrondi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top