Jump to content

Prestashop 1.6 ¿Redondeo?


Recommended Posts

Buenas a todos,

 

como en las mas versiones del prestashop, tiene un pequeño desfase con el redondeo.

 

En esta version he estado buscando por internet y por el foro y no veo nada al respecto sobre si alguien ha aportado un modulo , unas lineas de codigo o unos archivos para solucionar este problema.

 

¿alguien lo tiene solucionado? Ayuda!!

 

gracias!

Link to comment
Share on other sites

  • 3 weeks later...

Yo tengo el mismo problema, el redondeo clasico que es el que tengo puesto no funciona bien, me aumenta o disminuye un centimo los precios. Me he dado cuenta que ocurre en los productos que tienen atributos asociados, y que ese producto cuando se muestra en su respectiva categoría si muestra bien el precio.

 

Tiene toda la pinta de ser un calculo que hace mal cuando se selecciona un atributo.

Link to comment
Share on other sites

Solucionado:

 

Entra al fichero product.js de la carpeta js de tu tema instalado y modifica esta linea:

 

priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 2);

 

Por esta otra:

 

priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 6);

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Yo también tengo problemas con el redondeo y tengo que andar tocando la BD constantemente antes de generar la factura. El problema esta en que Presta cuando genera una orden si hay un producto del que te piden varias unidades, redondea a 2 decimales y coloca "0" en el precio sin IVA. Si algo vale (IVA no inca) 1,98345 € te coloca un valor de 1,980000 y multiplica por las unidades de pedido por lo que vas perdiendo decimales por el camino y hace que la base imponible tenga un desfase de varios decimales respecto a dividir lo pagado entre 1,21. Yo he visto varios post sobre este tema pero en ningúno he podido solucionar este problema. Si alguien sabe alguna solución a ver si lo reporta por aquí....

Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...

Solucionado:

 

Entra al fichero product.js de la carpeta js de tu tema instalado y modifica esta linea:

 

priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 2);

 

Por esta otra:

 

priceWithGroupReductionWithoutTax = ps_round(basePriceWithoutTax * (1 - group_reduction), 6);

 

Funciona, mil gracias

Link to comment
Share on other sites

  • 4 months later...
  • 2 months later...
  • 3 weeks later...

No recuerdo desde que version de la saga 1.6 esta correguido ese fallo, ese se puede indicar como queremos que lo haga desde preferencias>configuracion ahi hay un nuevo apartado que se llama tipo de redondeo.

si existe ese apartado, pero aqui lo que se comenta es que a veces hay diferencias de centimos en los totales y ajustando el redondeo no se solucionan...

 

hay una formula por ahi que arregla eso, pero por ejemplo en mi caso paypal segue calculando el precio sin ese redondeo entonces me genera diferencias entre el total del carro y el total de paypal..

 

hable con paypal y me dicen que ellos no desarrollan el módulo y que eso es cosa de prestashop--

 

alguien sabe como hacer eso???

 

yo en una tabla de total paid me sale el importe correcto , pero en el total paid de paypal me sale otro distinto...

Link to comment
Share on other sites

A mi me sucede lo mismo, aunque parece que solo sucede si se muestran los importes de los artículos sin iva como es mi caso, ya que sobretodo vendemos a empresas y el iva se indica al final desglosado y no en el precio.

Parece que el modulo de PayPal va redondeando por artículo individualmente. Es decir, si tenemos 48 unidades de un mismo producto, le suma a uno el iva, lo redondea y suma los otros 47, lo cual hace que dependiendo del redondeo, el importe a pagar en PayPal, unas veces sea superior al real y otras veces inferior.

Si en Prestashop se indica que redondee en cada artículo, el importe es el mismo en el carrito que en Paypal. Pero claro, esto en nuestro caso, que hacemos las facturas con un programa externo a Prestashop, hace que nos descuadre y tengamos que hacer cábalas para que los importes sean exactos o al menos parecidos centimo arriba/abajo.

Yo ya hablé con Paypal en su dia y me dijeron que el importe incorrecto lo facilitaba Prestashop (no se si con "ayuda" o sin ella del módulo de Paypal) y pasaban importes erroneos a la pasarela de pago. Ellos no podian hacer nada.

A mi con la version 1.6.0.14 me sucede.

 

A ver si alguien da con la solucion y la comparte (gratis o a un precio módico).

 

Un saludo a tod@s

Link to comment
Share on other sites

  • 8 months later...
  • 2 weeks later...

Hola:

Todavía no a dado nadie con el problema? Yo rectifico ni transferencia ni tarjeta ni atributos ni nada, se va siempre 1 céntimo o algunos casos 2.

 

Los pasos del archivo jsc, como comente no existe esa líne, si esta otra     priceWithGroupReductionWithoutTax = basePriceWithoutTax * (1 - groupReduction);

pero ya no se si hay que hacer algo ahí.

En las preferencias y tipo de redondeo las he probado todas y nada.

 

La verdad que es en las facturas donde se nota.

 

¿A todos os pasa este tema, no hay forma humana de arreglarlo? Cara hacienda luego no hay problemas, aunque no sea culpa nuestra?

 

Saludos

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

  • 2 months later...

Hola.

 

Esto puede ser que soluciona vuestro problema. Por favor informar sobre vuestra experiencia.

http://forge.prestashop.com/browse/PSCSX-7630

 

También yo llevo dándole vueltas a esto hace días a este tema. Y uso la 1.6.1.5 que en este momento es la actual.

Tenia varias facturas que en el computo del IVA tenían una diferencia de un céntimo. En mi caso no es por la suma de varios productos, pienso que esto esta corregido.

Mi problema era que prestashop hace el el redondeo de los "producto", "desquentos" y Transporte" primero y después suma.

 

Un ejemplo

                  Con IVA -        Sin IVA -           Red. antes

Productos  528,00€         436,363636      436,36

Descuento  -32,00€          -26,446281      -26,45

Suma          496,00€         409,917355     409,91

Redondeo   496,00€         409,92 €

Diferencia       0,01 €  

Edited by jurgmanolo (see edit history)
  • Like 1
Link to comment
Share on other sites

Hola.

 

Esto puede ser que soluciona vuestro problema. Por favor informar sobre vuestra experiencia.

http://forge.prestashop.com/browse/PSCSX-7630

 

También yo llevo dándole vueltas a esto hace días a este tema. Y uso la 1.6.1.5 que en este momento es la actual.

Tenia varias facturas que en el computo del IVA tenían una diferencia de un céntimo. En mi caso no es por la suma de varios productos, pienso que esto esta corregido.

Mi problema era que prestashop hace el el redondeo de los "producto", "desquentos" y Transporte" primero y después suma.

 

Un ejemplo

                  Con IVA -        Sin IVA -           Red. antes

Productos  528,00€         436,363636      436,36

Descuento  -32,00€          -26,446281      -26,45

Suma          496,00€         409,917355     409,91

Redondeo   496,00€         409,92 €

Diferencia       0,01 €  

 

Gracias compañero por aportar algo nuevo, no me aclaro mucho con lo que se publica en el post que mandas, pero voy a intentar a ver que puedo hacer ya que cuando son cantidades elevadas en la factura se desfasa un montón.

 

Gracias y saludos

Link to comment
Share on other sites

Voy a comprobar lo que indica en el artículo pero parece que va mas con la cantidad de decimales que debe coger del precio que con el redondeo.

No obstante gracias, ya que al menos es un camino para probar

  • Like 1
Link to comment
Share on other sites

Voy a comprobar lo que indica en el artículo pero parece que va mas con la cantidad de decimales que debe coger del precio que con el redondeo.

No obstante gracias, ya que al menos es un camino para probar

 

Gracias compañero. Sigo buscando pero tampoco encuentro en mi base de datos no aparece la tabla PS_price o no es ahí donde e de buscar...

Por cierto uso presta 1.6 con plantilla default.

 

Gracias

Link to comment
Share on other sites

Vale ya he encontrado la línea de la que habla:

Así está:

define('_PS_PRICE_COMPUTE_PRECISION_', _PS_PRICE_DISPLAY_PRECISION);
 

Así la he dejado como dice en el post:

define('_PS_PRICE_COMPUTE_PRECISION_', _PS_PRICE_DISPLAY_PRECISION', 6);

 

lo malo que me da un error de sintaxis y no se que hacer, ya me quedado atascado.
 

Link to comment
Share on other sites

Tenia el mismo problema, lo solucione de forma fácil desde el Back Office, en la versión 1.6.1.4 

Preferencias - General - 

Puedes elegir ahí el tipo de redondeo, yo lo tenía por producto y me escuadraba el total, lo puse en Redondea en el total y me va perfecto.

Link to comment
Share on other sites

Hola dav123!

 

El redondeo que puedes configurar en el back office resuelve el problema en la suma de los productos.

En el calculo de los impuestos sigue existiendo un problema en la suma que viene del redondeo de transporte y descuentos.

 

Estoy escribiendo un modulo para exportar directamente a EstimaSol (un programa de contabilidad) y ahí me he dado cuenta que hay facturas con un computo de IVA erróneo. Normalmente solo es 1 céntimo. Pero si quieres usar las factura para la contabilidad tendría que ser correctos.

 

Salusos.

Link to comment
Share on other sites

Tenia el mismo problema, lo solucione de forma fácil desde el Back Office, en la versión 1.6.1.4 

Preferencias - General - 

Puedes elegir ahí el tipo de redondeo, yo lo tenía por producto y me escuadraba el total, lo puse en Redondea en el total y me va perfecto.

 

Como dice el compañero jurgmanolo ya probe esa posibilidad y sigue igual, se descuadra el céntio ese y a mayor cantidad peor. Al final va a ver que ponerse un programa externo y subir las facturas a algún sitio o simplemente mandarlas al cliente.

 

Gracias por los comentarios.

Saludos

Link to comment
Share on other sites

  • 3 weeks later...

Despues de probar las distintas opciones que se han expuesto, mi resultado es el mismo: el importe que indica Prestashop y mi programa de facturacion (externo) son el mismo, si el cliente elige modo de pago transferencia lo clava, pero si elige pagar por paypal o tarjeta (ambos por la pasarela de paypal), se produce un descuadre bastante majo... Ayer mismo de hecho tuve un pedido que descuadraba 50 centimos...

El redondeo lo hace bien (o eso parece en las pruebas que estoy haciendo) seleccionando tipo de redondeo al alza cuando se ha pasado, redondear en el total y dos decimales

 

En su dia abrí un post con esto y la respuesta de paypal al problema, que a mi me pilla grande aqui, pero no soy programador y no tengo ni idea de como poder solucionarlo... no se si es problema del modulo de paypal (actualizado a la ultima version) si es problema de como envia los datos prestashop a paypal o que...

 

Para que veais un ejemplo adjunto dos imagenes. Son de cuando estaba con la version 1.5, pero pasa lo mismo con la 1.6.0.14 y la 1.6.1.6 (acabo de actualizar en un servidor en pruebas)

 

A ver si alguien da un poco mas de luz al tema. No me puedo creer que con toda la gente que usa el modulo de paypal no le suceda a nadie... o hago los descuentos de los productos de manera incorrecta (en la ficha del producto partiendo del precio base, descuento un porcentaje antes de impuestos segun cantidad de producto) o soy un cenutrio integral y se me esta pasando algo obvio.

 

Un saludo a tod@s

post-772557-0-02653200-1466840276_thumb.jpg

post-772557-0-03886100-1466840279_thumb.jpg

Link to comment
Share on other sites

Savan, creo que no haces nada mal, simplemente no funciona bien, ni en transferencia. Como te hagan un pedido de bastantes productos y cantidad, aunque sea por transferencia verás el descuadre.

A mi me sigue pasando y he probado de todo.

Este trimestre ya veremos con las declaraciones.

Un saludo

Link to comment
Share on other sites

Por eso digo, que no puedo ser el unico al que le pasa esto con Paypal. En trasferencia me sale bien el importe o al menos cuadra con lo que dice prestashop.

Esto me importaria poco si al menos la cifra que dice prestashop y la que dice paypal fuesen la misma, ya que al utilizar facturacion externa, lo cuadro ahí, al ser pocos centimos.

 

Basicamente lo que hago para que cuadre con la factura es:

- Si paypal cobra de mas, hago una devolucion por importe de la diferencia del descuadre al cliente desde mi cuenta de paypal.

- Si paypal cobra de menos, hago un ajuste en la factura con algun descuento adicional para que todo cuadre.

 

De esta manera no he tenido ningun problema contable ya que por ahora, lo que dice el carrito y mi programa de facturacion es lo mismo (crucemos los dedos). Pero es un coñazo andar haciendo esto en todos los pedidos, ya que el 90% me los pagan por paypal o tarjeta con la pasarela de paypal.

 

Un saludo

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 year later...

Contesto casi dos años más tarde, pero a mi al modificar la línea del config.inc.php añadiendo el ', 6, me salta un error 500 en la web. Lo dejo como estaba y funciona la web de nuevo... El redondeo me tiene medio loco y no doy con la solución y eso que estoy en la versión 1.6.1.19.

 

Link to comment
Share on other sites

  • 3 weeks later...
  • 9 months later...
  • 1 year later...

Por si es de ayuda (tiempo después), yo he tenido problemas con el redondeo y la situación era la siguiente:

- PS 1.7.6

- Al instalar algunos módulos de pago, como Prestashop Checkout, te exigen tener unas reglas de redondeo concretas.

- Al no poder elegir redondeo por el total, los precios que son concretos en PVP (exactos a dos decimales), al calcular el precio sin IVA que se muestra con dos decimales, hace un redondeo que descarta lo que hay más allá de dos.

- Al sumar los productos sin iva, si se hace la diferencia con el total con iva, da un número que nada tiene que ver con el iva calculado desde el total con iva.

 

Esto se solucionaría fácil cambiando el redondeo al total en vez de hacerlo por artículo, pero entonces el PS Checkout deja de funcionar.

Lo que he visto, es que allí dónde prestashop dice "Indica el número de decimales que quieres mostrar" realmente creo que quiere decir "Indica el número de decimales para considerar en los cálculos".

Lo digo, porque aunque se cambie el valor a 6, los valores de precios en la tienda, y en la factura se siguen mostrando con dos decimales. Eso sí, como los cálculos parecen considerar valores con 6 decimales, el problema desaparece.

Así que mi solución ha sido poner un 6 en un parámetro que nunca se me habría ocurrido tocar porque su descripción no es correcta. Y he terminado cambiándolo por desesperación. Vaya sorpresa me he llevado con el resultado.

 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hola, vuelvo a tener problemas con el redondeo y me temo que todo viene desde que actualicé a la última versión de Redsys (3.1.1). Lo curioso es que solo me pasa con algunos pedidos.

He probado lo que indica Nerque pero al poner 6 en "Indica el número de decimales que quieres mostrar" si que me aparecen 6 decimales en pedidos y facturas, al menos en mi versión, 1.6.1.20.

Supongo que tendré que volver a la anterior versión de redsys a ver si se soluciona, aunque como pasa con algunos pedidos si y con otros no pues....a esperar hasta que salte.

 

 

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...