From 56b29ee0047c4c8fe7c1ecca22afb963562085e5 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Tue, 28 Dec 2010 23:52:16 +0000
Subject: [PATCH] Fix: Exclude deposit invoices from turnover reports

---
 htdocs/compta/stats/cabyuser.php | 6 ++++++
 htdocs/compta/stats/casoc.php    | 8 +++++++-
 htdocs/compta/stats/index.php    | 6 ++++++
 htdocs/langs/en_US/compta.lang   | 2 +-
 htdocs/langs/fr_FR/compta.lang   | 2 +-
 5 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/htdocs/compta/stats/cabyuser.php b/htdocs/compta/stats/cabyuser.php
index fc1b4e958c0..86572badb6c 100644
--- a/htdocs/compta/stats/cabyuser.php
+++ b/htdocs/compta/stats/cabyuser.php
@@ -117,6 +117,12 @@ if ($modecompta == 'CREANCES-DETTES')
     $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
     $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON f.fk_user_author = u.rowid";
     $sql.= " WHERE f.fk_statut in (1,2) ";
+    $sql.= " AND (";
+    $sql.= " f.type = 0";          // Standard
+    $sql.= " OR f.type = 1";       // Replacement
+    $sql.= " OR f.type = 2";       // Credit note
+    //$sql.= " OR f.type = 3";       // We do not include deposit
+    $sql.= ")";
 	if ($date_start && $date_end) $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
 }
 else
diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php
index 774b8815d46..75f69949d00 100644
--- a/htdocs/compta/stats/casoc.php
+++ b/htdocs/compta/stats/casoc.php
@@ -120,6 +120,12 @@ if ($modecompta == 'CREANCES-DETTES')
 	$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
 	$sql.= ", ".MAIN_DB_PREFIX."facture as f";
 	$sql.= " WHERE f.fk_statut in (1,2)";
+    $sql.= " AND (";
+    $sql.= " f.type = 0";          // Standard
+    $sql.= " OR f.type = 1";       // Replacement
+    $sql.= " OR f.type = 2";       // Credit note
+    //$sql.= " OR f.type = 3";       // We do not include deposit
+    $sql.= ")";
 	$sql.= " AND f.fk_soc = s.rowid";
 	if ($date_start && $date_end) $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
 }
@@ -211,7 +217,7 @@ if (sizeof($amount))
 {
 	$arrayforsort=$name;
 
-	// On d�finit tableau arrayforsort
+	// On definit tableau arrayforsort
 	if ($sortfield == 'nom' && $sortorder == 'asc') {
 		asort($name);
 		$arrayforsort=$name;
diff --git a/htdocs/compta/stats/index.php b/htdocs/compta/stats/index.php
index af608796bee..8dba8926f18 100644
--- a/htdocs/compta/stats/index.php
+++ b/htdocs/compta/stats/index.php
@@ -83,6 +83,12 @@ if ($modecompta == 'CREANCES-DETTES') {
 	$sql  = "SELECT date_format(f.datef,'%Y-%m') as dm, sum(f.total) as amount, sum(f.total_ttc) as amount_ttc";
 	$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
 	$sql.= " WHERE f.fk_statut in (1,2)";
+	$sql.= " AND (";
+	$sql.= " f.type = 0";          // Standard
+	$sql.= " OR f.type = 1";       // Replacement
+	$sql.= " OR f.type = 2";       // Credit note
+	//$sql.= " OR f.type = 3";       // We do not include deposit
+	$sql.= ")";
 } else {
 	/*
 	 * Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les
diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang
index 8ceda551c19..3511ad1a8a2 100644
--- a/htdocs/langs/en_US/compta.lang
+++ b/htdocs/langs/en_US/compta.lang
@@ -100,7 +100,7 @@ SeeReportInInputOutputMode=See report <b>%sIncomes-Expenses%s</b> said <b>cash a
 SeeReportInDueDebtMode=See report <b>%sClaims-Debts%s</b> said <b>commitment accounting</b> for a calculation on issued invoices 
 RulesResultDue=- Amounts shown are with all taxes included<br>- It includes outstanding invoices, expenses and VAT whether they are paid or not. <br>- It is based on the validation date of invoices and VAT and on the due date for expenses.
 RulesResultInOut=- Amounts shown are with all taxes included<br>- It includes the real payments made on invoices, expenses and VAT. <br>- It is based on the payment dates of the invoices, expenses anf VAT.<br>
-RulesCADue=- It includes the client's due invoices whether they are paid or not. <br>- It is based on the validation date of these invoices. <br>
+RulesCADue=- It includes the client's due invoices (except deposit invoices) whether they are paid or not. <br>- It is based on the validation date of these invoices. <br>
 RulesCAIn=- It includes all the effective payments of invoices received from clients.<br>- It is based on the payment date of these invoices<br>
 VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid (VAT receipt)
 VATReportByCustomersInDueDebtMode=Report by the customer VAT collected and paid (VAT rate)
diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang
index d99ba7c8af4..ef30f22154b 100644
--- a/htdocs/langs/fr_FR/compta.lang
+++ b/htdocs/langs/fr_FR/compta.lang
@@ -100,7 +100,7 @@ SeeReportInInputOutputMode=Voir le rapport <b>%sRecettes-Dépenses%s</b> dit <b>
 SeeReportInDueDebtMode=Voir le rapport <b>%sCréances-Dettes%s</b> dit <b>comptabilité d'engagement</b> pour un calcul sur les factures émises
 RulesResultDue=- Les montants affichés sont les montants taxe incluse<br>- Il inclut les factures, charges et tva dues, qu'elles soient payées ou non.<br>- Il se base sur la date de validation pour les factures et la tva et sur la date d'échéance pour les charges.<br>
 RulesResultInOut=- Les montants affichés sont les montants taxe incluse<br>- Il inclut les règlements effectivement réalisés pour les factures, les charges et la TVA.<br>- Il se base sur la date de règlement de ces factures, charges et TVA.<br>
-RulesCADue=- Il inclut les factures clients dues, qu'elles soient payées ou non.<br>- Il se base sur la date de validation de ces factures.<br>
+RulesCADue=- Il inclut les factures clients dues (hors facture accompte), qu'elles soient payées ou non.<br>- Il se base sur la date de validation de ces factures.<br>
 RulesCAIn=- Il inclut les règlements effectivement reçus des factures clients.<br>- Il se base sur la date de règlement de ces factures<br>
 VATReportByCustomersInInputOutputMode=Rapport par client des TVA collectées et payées (TVA sur encaissement)
 VATReportByCustomersInDueDebtMode=Rapport par client des TVA collectées et payées (TVA sur débit)
-- 
GitLab