Jump to content

Recommended Posts

Buenos días estoy intentando solucionar lo que a mi modo de vista es un error en el cálculo/redondeo del precio con IVA.

 

Ejemplo:

 

Tengo un artículo que el precio base es 1,40€

El precio con IVA 21% sería 1,694 €, pero en la ficha del artículo lo redondea a 1,69€

 

El problema que le veo es que si un cliente compra 40 unidades del artículo el calculo que debería hacer es:

 

40ud x Precio 1,40€ = 56,00 + 11,76 IVA 21% =  67,76€ TOTAL

 

en cambio el cálculo que hace es:

 

40ud x Precio con IVA 21% 1,69€ =  67,60 € TOTAL

 

Tengo una diferencia de 0,16 € que me fastidia porque tengo que cuadrar en mi programa de facturación y contabilidad.

 

¿Cómo lo puedo solucionar?

 

Me gustaría que en la tienda los precios continuaran mostrandose con 2 decimales.

 

Saludos,

Link to comment
Share on other sites

 

Sí es esto exactamente, pero lo he probado y el total si que lo calcula bien pero en la linea del carrito me continua redondeando mal:

 

Su carrito contiene 40 productos

 

PRECIO UNITARIO 1,69 €  CANTIDAD 40ud TOTAL 67,60 €

 

   Total de productos (IVA incluído): 67,76 €  

 

TOTAL67,76 €  

 

Alguien sabe como puedo modificar el cálculo en la linea del pedido para que me calcule
1,40 precio sin IVA * 40 ud * 21 % IVA = 67,76 €

Saludos,

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

Buenas tardes, depués de mucho investigar, he logrado encontrar las funciones a modificar para modificar la linea del carrito y las linias de detalle del pedido.

 

ARCHIVOS MODIFICADOS
classes/cart.php
controllers/front/ParentOrderController.php
 
 
classes/cart.php
 
Modifico 2 decimales por 4 decimales para que cuadren los precios con IVA en la función  public function getProducts(
En todos los sitios donde se asigna el precio y el precio con tasas (IVA) le modifico 4 decimales
$row['price'] = Product::getPriceStatic( 
$row['price_wt'] = Tools::ps_round($row['price_wt'], 4);
 
controllers/front/ParentOrderController.php
 
Modifico el número de decimales de  a 4 a pasarle a la función getPricStatic porque me salían el Precio Unitario tachado, como si estubiera rebajado:
 
$product['price_without_specific_price'] = Product::getPriceStatic(
$product['id_product'],
!Product::getTaxCalculationMethod(),
$product['id_product_attribute'],
4
null, 
false, 
false,
1,
false,
null,
null,
null,
$null,
true,
true,
$cart_product_context);
 
No sé si es exactamente la forma de modificar las clases, he visto que se debe hacer en la carpeta override porque así las actualizaciones no sobreescribe los ficheros modificados. Pero como son pocos me los he guardado y registrado las modificaciones.
 
Saludos,
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...