Jump to content

Aplicar descuento de precio específico a precio unitario y NO al total


Recommended Posts

Hola

 

Poseemos una tienda con numerosos artículos con descuento por cantidad. Para ello creamos precios específicos para aplicarle un descuento del 10% al comprar el artículo por caja completa. 

 

El problema viene cuando PRESTASHOP APLICA EL DESCUENTO SOBRE EL TOTAL Y NO POR EL PRECIO UNITARIO. Tenemos un software de facturación en el cual se importan los pedidos con su precio unitario, en el cual el descuento está ya realizado con el consiguiente descuadre. 

 

Pongo un ejemplo:

 

         Producto A.

 

- Precio unitario: 0.95€

- Descuento del 10% al comprar una caja (100 unidades)

 

COMO LO HACE PRESTASHOP:

 

0.95€ x 100 unidades = 95€ - 10% = 85.5€

 

COMO LO HACE MI SOFTWARE DE FACTURACION Y QUIERA QUE LO HICIESE:

 

0.95€ - 10% = 0.85 x 100 = 85€

 

 

El sistema hace un redondeo al alza de dos decimales y esto debe ser así. Si voy a la configuración de redondeo y elijo la opción REDONDEAR EN CADA LINEA el problema se resuelve, pero entonces calcula mal el impuesto (IVA 21%).

 

 

La solución sería APLICAR EL PORCENTAJE DE DESCUENTO ANTES DE MULTIPLICAR por el número de unidades. 

 

Alguien sabe dónde se realiza duicho cálculo para poder modificarlo?

 

 

Saludos y gracias de antemano

Link to comment
Share on other sites

Por favor. Una ayuda. Alguien tiene que estar en mi misma situación

 

Adjunto un ejemplo real de un solo producto por si no me he explicacdo bien. 

 

51a3c3c55ff93b01fbfe97ab9031537ao.jpg

El precio unitario es 0.45. Que con un 10% de descuento es 0.41. 

 

0.41 x 100 = 41€ Hasta aqui todo bien

 

Pero no sé por qué a la hora de realizar el subtotal se realiza el cálculo de otra forma!

 

0.45 (que es el precio unitario sin descuento) x 100 - 10% de descuento = 40.50€  Produciéndose un descuadre de 0.50 en un solo articulo!!

 

 

 

Una ayuda por favor. 

 

Qué archivo tengo que modificar para que el calculo del subtotal se haga simplemente con la suma de todas las lineas y no de otra forma??

 

 

Saludos y gracias de antemano

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

  • 1 month later...

Buenas tardes Kinorro

 

En el caso de Prestashop, muestra 0,41 debido a que por defecto muestra 2 decimales, pero hace la operacion de las 100 unidades con 3 decimales. No está redondeando realmente, tan solo mostrando un precio redondeado para un artículo.

El precio real de cada una de las 100 unidades una vez aplicado el descuento del 10% es de 0,405 (0,45 x 0,9=0,405) que multiplicado por 100 unidades da el importe que Prestashop señala de 40,50.

Hasta donde yo entiendo, el redondeo de manera correcta debe realizrse al finalizar las operaciones, no en cada artículo, ya que en este caso si redondeas por cada unidad y multiplicas por 100 unidades, estas cobrando 50 centimos de más, y en otras ocasiones cobrarias de menos.

Desde mi punto de vista, tu programa esta recogiendo mal los datos, trabaja solo con dos decimales o Presashop se los está facilitando mal, ya que es lo mismo 0,95 -10%= 0,855 x 100=85,5 que 0,95x100=95 - 10%=85,50.

El mismo problema que tienes tu con el programa externo para albaran/factura lo tengo yo con Paypal, ya que Paypal solo trabaja con dos decimales, y como Prestashop le debe pasar los datos linea a linea, se deben redondear en cada una y no en el final, haciendo que se genere un descuadre por encima o por debajo si son productos con descuentos que me generen 3 decimales. Y hasta ahora no hay solucion...

Mi programa de gestion, externo a Prestashop y donde creamos a mano los albaranes y facturas realiza el redondeo de la misma manera que Prestashop, al finalizar, y los importes son correctos.

 

Un saludo

Link to comment
Share on other sites

EL tema es más simple y el problema lo tengo focalizado.

 

El problema se da en los PRECIOS ESPECÍFICOS. Tengo un 10% de descuento a partir de una cantidad. El rpoblema es que ese descuento SE APLICA ANTES DE MULTIPLICAR POR EL NÚMERO DE UNIDADES. Loq ue hace que haya SIEMPRE un descuadre.

 

Donde habría que tocar para que PRIMERO se multiplique NºUNIDADES x PRECIO UNITARIO y después se APLIQUE EL 10% de descuento. EN ESE ORDEN

 

 

Saludos

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