diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php
index b4ba395d5a3..e48bc48e258 100644
--- a/htdocs/compta/resultat/clientfourn.php
+++ b/htdocs/compta/resultat/clientfourn.php
@@ -256,7 +256,8 @@ print '
| '.$langs->trans("VAT").' |
';
$subtotal_ht = 0;
$subtotal_ttc = 0;
-if ($modecompta == 'CREANCES-DETTES') {
+if ($modecompta == 'CREANCES-DETTES')
+{
// TVA à payer
$amount=0;
$sql = "SELECT sum(f.tva) as amount, date_format(f.datef,'%Y-%m') as dm";
@@ -302,6 +303,7 @@ if ($modecompta == 'CREANCES-DETTES') {
}
$sql .= " GROUP BY dm";
$sql .= " ORDER BY dm DESC";
+
$result=$db->query($sql);
if ($result) {
$num = $db->num_rows($result);
@@ -329,8 +331,9 @@ if ($modecompta == 'CREANCES-DETTES') {
print "".price($amount)." | \n";
print "\n";
}
-else {
- // TVA payée
+else
+{
+ // TVA réellement déjà payée
$amount=0;
$sql = "SELECT sum(t.amount) as amount, date_format(t.datev,'%Y-%m') as dm";
$sql .= " FROM ".MAIN_DB_PREFIX."tva as t";
@@ -362,7 +365,7 @@ else {
dolibarr_print_error($db);
}
print "|   | ";
- print "".$langs->trans("VATToPay")." | \n";
+ print "".$langs->trans("VATPayed")." | \n";
if ($modecompta == 'CREANCES-DETTES') print "".price($amount)." | \n";
print "".price($amount)." | \n";
print "
\n";
@@ -398,7 +401,7 @@ else {
dolibarr_print_error($db);
}
print "|   | ";
- print "".$langs->trans("VATToCollect")." | \n";
+ print "".$langs->trans("VATCollected")." | \n";
if ($modecompta == 'CREANCES-DETTES') print "".price($obj->amount)." | \n";
print "".price($obj->amount)." | \n";
print "
\n";
diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php
index efbf01a8f45..28838a0b6c0 100644
--- a/htdocs/compta/tva/index.php
+++ b/htdocs/compta/tva/index.php
@@ -32,46 +32,103 @@
require("./pre.inc.php");
require("../../tva.class.php");
-/*
- * On récupère la tva collectée
- */
-function tva_coll($db, $y,$m) {
- $sql = "SELECT sum(f.tva) as amount";
- $sql .= " FROM ".MAIN_DB_PREFIX."facture as f WHERE ";
- //Si on paye la tva sur la facturation
- if(FACTURE_TVAOPTION == "facturation")
- $sql .= "";
- //Sinon, on paye la tva sur les encaissements
- else
- $sql .= "f.paye = 1 AND";
- $sql .= " date_format(f.datef,'%Y') = $y";
- $sql .= " AND date_format(f.datef,'%m') = $m";
+$modecompta = $conf->compta->mode;
- $result = $db->query($sql);
- if ($result) {
- $obj = $db->fetch_object($result);
- return $obj->amount;
- }
+
+/*
+ * On récupère la tva à collecter
+ */
+function tva_coll($db, $y,$m)
+{
+ if ($modecompta=="CREANCES-DETTES")
+ {
+ // Si on paye la tva sur les factures dues (non brouillon)
+ $sql = "SELECT sum(f.tva) as amount";
+ $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
+ $sql.= " WHERE ";
+ $sql.= " f.fk_statut = 1";
+ $sql.= " AND date_format(f.datef,'%Y') = $y";
+ $sql.= " AND date_format(f.datef,'%m') = $m";
+ }
+ else
+ {
+ // Si on paye la tva sur les payments
+
+ // \todo a ce jour on se sait pas la compter car le montant tva d'un payment
+ // n'est pas stocké dans la table des payments.
+ // Il faut quand un payment a lieu, stocker en plus du montant du paiement le
+ // detail part tva et part ht.
+
+ // En attendant, on renvoi tva sur factures payés
+ $sql = "SELECT sum(f.tva) as amount";
+ $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
+ $sql.= " WHERE ";
+ $sql.= " f.paye = 1";
+ $sql.= " AND date_format(f.datef,'%Y') = $y";
+ $sql.= " AND date_format(f.datef,'%m') = $m";
+ }
+
+ $resql = $db->query($sql);
+ if ($resql)
+ {
+ $obj = $db->fetch_object($resql);
+ return $obj->amount;
+ }
+ else
+ {
+ dolibarr_print_error($db);
+ }
}
+
/*
- *
+ * On récupère la tva à payer
*/
function tva_paye($db, $y,$m)
{
- $sql = "SELECT sum(f.total_tva) as amount";
- $sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn as f WHERE f.paye = 1";
- $sql .= " AND date_format(f.datef,'%Y') = $y";
- $sql .= " AND date_format(f.datef,'%m') = $m";
-
- $result = $db->query($sql);
- if ($result)
+ if ($modecompta=="CREANCES-DETTES")
{
- $obj = $db->fetch_object($result);
- return $obj->amount;
+ // Si on paye la tva sur les factures dues (non brouillon)
+ $sql = "SELECT sum(f.total_tva) as amount";
+ $sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as f";
+ $sql.= " WHERE ";
+ $sql.= " f.fk_statut = 1";
+ $sql.= " AND date_format(f.datef,'%Y') = $y";
+ $sql.= " AND date_format(f.datef,'%m') = $m";
+ }
+ else
+ {
+ // Si on paye la tva sur les payments
+
+ // \todo a ce jour on se sait pas la compter car le montant tva d'un payment
+ // n'est pas stocké dans la table des payments.
+ // Il faut quand un payment a lieu, stocker en plus du montant du paiement le
+ // detail part tva et part ht.
+
+ // En attendant, on renvoi tva sur factures payés
+ $sql = "SELECT sum(f.total_tva) as amount";
+ $sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as f";
+ // $sql.= " WHERE ";
+ $sql .= " WHERE f.fk_statut = 1";
+// $sql.= " f.paye = 1";
+ $sql.= " AND date_format(f.datef,'%Y') = $y";
+ $sql.= " AND date_format(f.datef,'%m') = $m";
+print "xx $sql";
+ }
+
+ $resql = $db->query($sql);
+ if ($resql)
+ {
+ $obj = $db->fetch_object($resql);
+ return $obj->amount;
+ }
+ else
+ {
+ dolibarr_print_error($db);
}
}
+
function pt ($db, $sql, $date) {
global $bc,$langs;
diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang
index 0819a2120da..db75619ff4e 100644
--- a/htdocs/langs/en_US/compta.lang
+++ b/htdocs/langs/en_US/compta.lang
@@ -22,6 +22,7 @@ VATToPay=VAT to pay
VATToCollect=VAT to collect
VATSummary=VAT Summary
VATPayed=VAT payed
+VATCollected=VAT collected
SocialContribution=Social contribution
SocialContributions=Social contributions
ContributionsToPay=Contributions to pay
diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang
index 57f02c6f952..b39df243632 100644
--- a/htdocs/langs/fr_FR/compta.lang
+++ b/htdocs/langs/fr_FR/compta.lang
@@ -22,6 +22,7 @@ VATToPay=TVA
VATToCollect=TVA à récupérer
VATSummary=Résumé TVA
VATPayed=TVA payée
+VATCollected=TVA récupérée
SocialContribution=Charge sociale
SocialContributions=Charges sociales
ContributionsToPay=Charges à payer