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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user