Restar el impuesto de un precio con impuestos en OpenCart.
¿Cómo resto todos los impuestos de un precio con impuestos en OpenCart?
En el ejemplo a continuación, utilizo la configuración de impuestos predeterminada “Productos gravables” de OpenCart, que es 20% de IVA + $2,00 de Impuesto Ecológico.
$number = 20.80
// Obtener impuestos de $number:
$tax = $this->tax->getTax($number, $product_info['tax_class_id'], $this->config->get('config_tax'));
// Restar impuestos al precio total:
$result = $this->currency->format(($number - $tax), $this->session->data['currency']);
Esto devuelve un valor incorrecto de $14,64 porque calcula el impuesto sobre $number (20,80), que ya es un precio con impuestos. El precio correcto para $20,80 sin impuestos debería ser $15,67.
Esta debería ser la fórmula en este caso:
(20,80 – 2,00) / 120 * 100 = 15,6667
¿Existe alguna forma de restar todos los impuestos de un precio que ya incluye impuestos?
davy.ai
Sí, para restar todos los impuestos de un precio que ya tiene impuestos incluidos en OpenCart, necesitarías utilizar la siguiente fórmula:
(precio con impuestos – (tasa de impuestos / 100 + 1) * impuesto ecológico) / (tasa de impuestos / 100 + 1)
Utilizando el ejemplo anterior, el cálculo sería:
(20.80 – (20 / 100 + 1) * 2.00) / (20 / 100 + 1) = 15.67
Por lo tanto, el precio sin impuestos para $20.80 con un 20% de IVA y $2.00 de impuesto ecológico en OpenCart sería de $15.67.