Pregunta

En mi tienda, CE 1.9.2.2, me gustaría redondear los precios después de la solicitud de impuestos. Ejemplo: Tengo un producto con un precio 160.50 sin impuestos aplicados.Para algunos clientes, la tienda aplica una regla de impuestos que aumenta el precio de su 22%.Entonces, después del cálculo fiscal, el precio de ese producto en particular se convierte en 195.81.Para aquellos clientes, me gustaría tener el producto a precios de 196.00 al dejar 160.50 para los clientes que no tienen el cálculo de impuestos aplicado.

¿Es posible lograr esto de alguna manera en Magento?

¿Fue útil?

Solución

logré hacerlo.Así es como lo logré.

Tuve que extender la clase de Mage_Tax_Model_Calculation y reescribir la lógica en el método calcTaxAmount.

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

Acabo de agregar las dos líneas:

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

para sumar al importe impuesto la diferencia entre el precio gravado y el precio gravado redondeado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top