Parece ser que en la versión 4.0.4 existe un bug que nos afecta a los españoles a la hora de realizar facturas con IRPF y sin IVA en Dolibarr.
Este problema no se ha dado en versiones antiguas, ya que yo mismo he podido crear este tipo de facturas en versiones 3.x de Dolibarr y explico cómo hacerlo en uno de mis artículos.
Realizando algunas pruebas en la versión 4.0.1 pude ver que ahí si era posible, así que me puse a comparar el código de la versión 4.0.1 con el de la 4.0.4 y he podido dar con la solución.
Solución
En el fichero \core\lib\functions.lib.php hay que irse a la línea 3579 y dejar el siguiente trozo de código de esta manera:
if ($local == 2) { // ORIGINAL de la 4.0.4: // if (! $mysoc->localtax2_assuj || (string) $vatratecleaned == "0") return 0; // Nuevo: de la 4.0.1 if (! $mysoc->localtax2_assuj) return 0;
Con este pequeño cambio ya podremos realizar facturas con IVA = 0 e IRPF distinto cero como el podemos ver en el siguiente ejemplo:
Espero que os haya sido de utilidad y esperemos que el grupo de desarrolladores de Dolibarr emita una corrección formal para que se solucione en próximas versiones, así como que realice pruebas más profundas para dar por válida esta solución ya que no soy programador de Dolibarr y puede que haya otras partes de la aplicación afectadas.
Muy buenas Javier,
Muchas gracias por tu dedicación y por este aporte; me ha funcionado perfectamente 😀
CRACK!!
(APLAUSOS)
Me alegro que te haya servido. Si ves problemas colaterales coméntame. Espero que algún desarrollador de Dolibarr en el foro incorpore la solución para la siguiente versión. Saludos.
Hola,
Tal vez ya lo hayas hecho, pero lo mejor en estos casos es repotar el bug (y, en caso que lo tengas, la corrección) en github de Dolibarr en la solapa de issues.
De esa forma, promueven esta corrección a las versiones de mantenimiento futuras que salgan.
Saludos
Hay un hilo en el foro con este tema. Todavía no me manejo muy bien con el tema de aportar soluciones a través de GitHub. Espero que con el hilo abierto algún programador de Dolibarr lo vea y pueda incluirlo. Un saludo.
Hola!
Muchísimas gracias! Me estaba volviendo loca. Comentar que en la versión 5.0.1 sigue el mismo problema.
He hecho el cambio en el código, en lugar de la línea 3579, en esta versión es en la 3697. Y funciona perfectamente.
Un saludo
Muchas gracias Montse por el aviso. Saludos!
Felicidades también me funcionó correctamente y he decir que con php7 funciona el doble de rápido.
With v7.0.1, line seems to be 4264
Thank you very much. I will try it and update the article. Greetings.
Hello, with Dolibarr v11.x not run well.
Arround line 4711 ....
if ($local == 2)
{
//if (! $mysoc->localtax2_assuj || (string) $vatratecleaned == "0") return 0;
if (!$mysoc->localtax2_assuj) return 0; // If main vat is 0, IRPF may be different than 0.
if ($thirdparty_seller->id == $mysoc->id)
{
if (!$thirdparty_buyer->localtax2_assuj) return 0;
}
else
{
if (!$thirdparty_seller->localtax2_assuj) return 0;
}
}......
But not work. I put VAT 0% AND IRPF 15% and not work. Any suggestion?
Thanks
No lo he probado con la versión 11. No te puedo decir. Un saludo.