From 9a62883f03f804eedfee90b186256a6eeaf18a81 Mon Sep 17 00:00:00 2001 From: romdolibarrr Date: Tue, 29 Jun 2010 14:35:47 +0000 Subject: [PATCH] =?UTF-8?q?My=20first=20modification=20('proposition'=20at?= =?UTF-8?q?=20least)=20about=20the=20'TVA=20not=20put=20to=20z=C3=A9ro'=20?= =?UTF-8?q?in=20cas=20of=20Num=20TVA=20not=20filled.=20I=20put=20comments?= =?UTF-8?q?=20and=20let=20the=20old=20code.=20Bye-Bye.=20Romain.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/lib/functions.lib.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index bea51c767bd..44f67a1218e 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -2586,7 +2586,15 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $ // Si (vendeur et acheteur dans Communaute europeenne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle. // Non gere - + + // LVM modif car BUG de non prise en compte 'naturel' de "Affilié à la TVA" et prise en compte 'trop forte' de Num TVA vide... + // Explication plus fine : l'information "Affilié à la TVA" n'est à utiliser que pour les tiers 'vendeur' (nous ou fournisseur) + // et non 'acheteur' (les 'prospects') comme on pourrait le penser. + // Il ne faut pas non plus que le non remplissage + // du champ du numéro de TVA Intra empêche la mise de la TVA à 0 lorsque l'on + // vend dans l'union européenne (en étant soi même dans l'union). En effet lorsque l'on + // crée la proposition on ne connait pas forcément cette information du prospect. + /* // Si (vendeur et acheteur dans Communaute europeenne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par defaut=TVA du produit vendu. Fin de regle if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && ! $societe_acheteuse->tva_intra) { @@ -2600,7 +2608,13 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $ { return 0; } - + */ + if ($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) + { + return 0; + } + // Fin LVM Modif + // Sinon la TVA proposee par defaut=0. Fin de regle. // Rem: Cela signifie qu'au moins un des 2 est hors Communaute europeenne et que le pays differe return 0;