Frage

In meinem Geschäft, CE 1.9.2.2, möchte ich die Preise nach Steueranwendung runden.Beispiel:Ich habe ein Produkt mit einem Preis von 160,50 ohne Steuern.Für einige Kunden wendet das Geschäft eine Steuerregel an, die den Preis um 22% erhöht.Nach der Steuerberechnung beträgt der Preis für dieses bestimmte Produkt also 195,81.Für diese Kunden möchte ich, dass das Produkt einen Preis von 196,00 hat, während für Kunden, auf die die Steuerberechnung nicht angewendet wird, 160,50 übrig bleiben.

Ist es möglich, dies in Magento irgendwie zu erreichen?

War es hilfreich?

Lösung

Ich habe es geschafft.So habe ich es erreicht.

Ich musste die verlängern Mage_Tax_Model_Calculation klasse und schreibe die Logik in die calcTaxAmount Methode.

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

Ich habe gerade die beiden Zeilen hinzugefügt:

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

zum Steuerbetrag die Differenz zwischen dem versteuerten Preis und dem gerundeten versteuerten Preis zu addieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top