diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php
index 6d729a49a92..823346f6fd5 100644
--- a/htdocs/html.form.class.php
+++ b/htdocs/html.form.class.php
@@ -1187,22 +1187,44 @@ class Form
/**
* \brief Selection du taux de tva
- * \param name Nom champ html
- * \param defaulttx Taux tva présélectionné
- * \param default Proposer ligne "Defaut"
+ * \param name Nom champ html
+ * \param defaulttx Taux tva présélectionné (deprecated)
+ * \param societe_vendeuse Objet société vendeuse
+ * \param societe_acheteuse Objet société acheteuse
+ * \param taux_produit Taux produit vendue
+ * \remarks Si vendeur non assujeti à TVA, TVA par défaut=0. Fin de règle.
+ * Si le (pays vendeur = pays acheteur) alors la TVA par défaut=TVA du produit vendu. Fin de règle.
+ * Si vendeur et acheteur dans Communauté européenne et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par défaut=0 (La TVA doit être payé par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de règle.
+ * Si vendeur et acheteur dans Communauté européenne et bien vendu autre que transport neuf alors la TVA par défaut=TVA du produit vendu. Fin de règle.
+ * Sinon la TVA proposée par défaut=0. Fin de règle.
*/
- function select_tva($name='tauxtva', $defaulttx='', $default=0)
+ function select_tva($name='tauxtva', $defaulttx='', $societe_vendeuse, $societe_acheteuse, $taux_produit)
{
global $langs,$conf;
- if (! $conf->global->MAIN_INFO_SOCIETE_PAYS)
+ // \todo Si pays vendeur non défini
+ if (1 == 2)
{
- print ''.$langs->trans("ErrorYourCountryIsNotDefined").'';
+ // \todo si pays vendeur = soi-même
+ if (1 == 1)
+ {
+ print ''.$langs->trans("ErrorYourCountryIsNotDefined").'';
+ }
+ else
+ {
+ print ''.$langs->trans("ErrorSupplierCountryIsNotDefined").'';
+ }
}
+ // \todo Initialiser code_pays avec code_pays vendeur
+ $code_pays=$conf->global->MAIN_INFO_SOCIETE_PAYS;
+
+ // \todo Ecraser defaulttx par valeur en fonction de la règle en remarks de la fonction
+ // $defaulttx=...
+
$sql = "SELECT t.taux,t.recuperableonly";
$sql .= " FROM ".MAIN_DB_PREFIX."c_tva AS t";
- $sql .= " WHERE t.fk_pays = '".$conf->global->MAIN_INFO_SOCIETE_PAYS."'";
+ $sql .= " WHERE t.fk_pays = '".$code_pays."'";
$sql .= " AND t.active = 1";
$sql .= " ORDER BY t.taux ASC, t.recuperableonly ASC";
@@ -1216,17 +1238,8 @@ class Form
$libtva[ $i ] = $obj->taux.'%'.($obj->recuperableonly ? ' *':'');
}
}
- else
- {
- $txtva[0] = '19.6';
- $libtva[0] = '19.6%';
- $txtva[1] = '5.5';
- $libtva[1] = '5.5%';
- $txtva[2] = '0';
- $libtva[2] = '0%';
- }
- if ($defaulttx == '')
+ if ($defaulttx == '') // Si taux par defaut n'a pu etre trouvé
{
$defaulttx = $txtva[0];
}