Problema:
El dolibarr no muestra el total del impuesto sobre venta (ISV / VAT) de forma correcta, quita monedas en el impuesto.
Explicación:
Lo que sucede es que el sistema de dolibarr hace el cálculo con el precio unitario del producto. Y durante el proceso de cálculo de los totales va quitando los dígitos cuando son mayores a dos, es decir, solo toma dos dígitos después del punto.
El error que se cometió, es que esos dígitos no deberían ser quitados durante el proceso, sino hasta haber finalizado el proceso. Me explico, lo que debieron hacer es que una vez que ya hayan sacado los totales, quitarle los dígitos que están de más… y no quitarlos antes de sacar los totales.
Solución:
Buscar la librería en htdocs/core/lib/price.lib.phpUna vez ahí de arriba hacia abajo quitar todos
price2num(…,'MU')
price2num(…,'MT')
Pero deja la formula que están dentro del “price2num”… Hasta llegar a:
$pu = price2num($pu / (1 + ($txtva / 100)),'MU');
}
$apply_tax = false;
switch($localtax1_type) {
case '1': // localtax on product or service
$apply_tax = true;
break;
case '3': // localtax on product
if ($type == 0) $apply_tax = true;
break;
case '5': // localtax on service
if ($type == 1) $apply_tax = true;
break;
}
Ejemplo:
Si tienes:$result[5] = price2num(($pu + $localtaxes[2]), 'MU');
Te debe quedar:
$result[5] = ($pu + $localtaxes[2]);