Jump to content

[Cálculo IVA mal] no multiplica el IVA en el pedido y cobra 1 céntimo más


alvarotrapero

Recommended Posts

Hola a todos, os cuento.

 

Nos ha llamado un cliente con el que tenemos un PS configurado con el theme por defecto con una incidencia. Resulta que el precio final que lanza la tienda es a menudo 1 céntimo mayor que el precio real, os pongo un ejemplo.

 

Este pedido (adjunto imagen) debería dar 123,90€, sin embargo ofrece 123,91€.

post-928111-0-96922200-1479468262_thumb.png

 

Investigando, en la BB.DD hemos localizado que el error está en el total_products_wt, ya que este valor viene redondeado del precio con IVA del artículo. Para este caso los productos son:

 

8,712 x 8 unidades = 69,696

6.776 x 8 unidades = 54,208

 

Pero se calcula de esta manera;

 

8,712 x 8 unidades = 69,696 = redondeado 69,70€

6.776 x 8 unidades = 54,208 = redondeado 54,21€

 

Lo único que necesitamos es que NO redondee el segundo decimal, que lo deje igual o que use el tercero. Ya hemos probado aumentando decimales (ahora la vista está para 3 pero le da igual), con todos los redondeos desde el BO..... Todo, pero no sabemos dónde podemos cambiar ese redondeo de cada precio con IVA de un producto.

 

Básicamente necesitamos que se calcule 69,69+54,20, nos da igual cómo hacerlo vaya.

 

Gracias por adelantado por todos los comentarios.

 

 

----

Versión de PS: 1.6.1.6

Edited by alvarotrapero (see edit history)
Link to comment
Share on other sites

Muy buenas.

 

¿Habéis probado a modificar las opciones de redondeo en la configuración de prestashop?

 

Estas opciones se encuentran en Preferencias > Configuración > Tipo de redondeo.  Hay dos campos con ese nombre.

 

Otra opción sería modifcar el código del controlador del carrito de prestashop y buscar donde hace la función de redondeo (como es php supongo que sea con round()) y eliminarla.

Link to comment
Share on other sites

Sí, como os digo ya hemos probado todas las opciones de redondeo y demás. En los controllers ya miramos de aumentar a mano de 2 a 6... y seguimos igual.

 

[EDITO]

 

Hemos conseguido mostrar en el carrito el importe correcto del pedido, editando el Cart.php de esta manera:

$base_total_tax_inc = $this->getOrderTotal(false)*1.21;

El problema es que el proceso de pago sigue mostrando el valor anterior, alguna idea de cómo cambiarlo?
 

Edited by alvarotrapero (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...