2
0
forked from Wavyzz/dolibarr

Fix: removed print of function making print.

Fix: default vat rate must be -1 to be automatic instead of deprecated conf->defaulttx
This commit is contained in:
Laurent Destailleur
2011-08-04 21:46:50 +00:00
parent 6c85906753
commit d246b87c1a
13 changed files with 57 additions and 55 deletions

View File

@@ -28,7 +28,7 @@
* \file htdocs/lib/functions.lib.php
* \brief A set of functions for Dolibarr
* This file contains all frequently used functions.
* \version $Id: functions.lib.php,v 1.550 2011/08/04 07:50:25 hregis Exp $
* \version $Id: functions.lib.php,v 1.551 2011/08/04 21:46:50 eldy Exp $
*/
// For compatibility during upgrade
@@ -3150,14 +3150,24 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $idprod=0)
dol_syslog("get_default_tva: seller use vat=".$societe_vendeuse->tva_assuj.", seller country=".$societe_vendeuse->pays_code.", seller in cee=".$societe_vendeuse->isInEEC().", buyer country=".$societe_acheteuse->pays_code.", buyer in cee=".$societe_acheteuse->isInEEC().", idprod=".$idprod.", SERVICE_ARE_ECOMMERCE_200238EC=".$conf->global->SERVICES_ARE_ECOMMERCE_200238EC);
// Si vendeur non assujeti a TVA (tva_assuj vaut 0/1 ou franchise/reel)
if (is_numeric($societe_vendeuse->tva_assuj) && ! $societe_vendeuse->tva_assuj) return 0;
if (! is_numeric($societe_vendeuse->tva_assuj) && $societe_vendeuse->tva_assuj=='franchise') return 0;
if (is_numeric($societe_vendeuse->tva_assuj) && ! $societe_vendeuse->tva_assuj)
{
//print 'VATRULE 1';
return 0;
}
if (! is_numeric($societe_vendeuse->tva_assuj) && $societe_vendeuse->tva_assuj=='franchise')
{
//print 'VATRULE 2';
return 0;
}
// Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
//if (is_object($societe_acheteuse) && ($societe_vendeuse->pays_id == $societe_acheteuse->pays_id) && ($societe_acheteuse->tva_assuj == 1 || $societe_acheteuse->tva_assuj == 'reel'))
// Le test ci-dessus ne devrait pas etre necessaire. Me signaler l'exemple du cas juridique concerne si le test suivant n'est pas suffisant.
if ($societe_vendeuse->pays_code == $societe_acheteuse->pays_code) // Warning ->pays_id not always defined
// Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
if ($societe_vendeuse->pays_code == $societe_acheteuse->pays_code) // Warning ->pays_code not always defined
{
//print 'VATRULE 3';
return get_product_vat_for_country($idprod,$societe_vendeuse->pays_code);
}
@@ -3171,10 +3181,12 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $idprod=0)
$isacompany=$societe_acheteuse->isACompany();
if ($isacompany)
{
//print 'VATRULE 4';
return 0;
}
else
{
//print 'VATRULE 5';
return get_product_vat_for_country($idprod,$societe_vendeuse->pays_code);
}
}
@@ -3186,12 +3198,14 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $idprod=0)
//print "eee".$societe_acheteuse->isACompany();exit;
if (! $societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC() && ! $societe_acheteuse->isACompany())
{
//print 'VATRULE 6';
return get_product_vat_for_country($idprod,$societe_acheteuse->pays_code);
}
}
// 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
//print 'VATRULE 7';
return 0;
}