From bf441dda144506cf4a3d31586fdc44b538f58461 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 18 Dec 2021 18:11:28 +0100 Subject: [PATCH] Fix report of expense-income must be without tax in debt --- htdocs/compta/resultat/index.php | 45 +++++++++++++++++++------------- htdocs/langs/en_US/compta.lang | 5 ++-- htdocs/langs/fr_FR/compta.lang | 4 +-- 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index 2d4ea6fc9e0..a5a8d431b5e 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -140,6 +140,11 @@ $form = new Form($db); $exportlink = ''; +$encaiss = array(); +$encaiss_ttc = array(); +$decaiss = array(); +$decaiss_ttc = array(); + // Affiche en-tete du rapport if ($modecompta == 'CREANCES-DETTES') { $name = $langs->trans("ReportInOut").', '.$langs->trans("ByYear"); @@ -152,7 +157,7 @@ if ($modecompta == 'CREANCES-DETTES') { } $period = $form->selectDate($date_start, 'date_start', 0, 0, 0, '', 1, 0).' - '.$form->selectDate($date_end, 'date_end', 0, 0, 0, '', 1, 0); $periodlink = ($year_start ? "".img_previous()." ".img_next()."" : ""); - $description = $langs->trans("RulesAmountWithTaxIncluded"); + $description = $langs->trans("RulesAmountWithTaxExcluded"); $description .= '
'.$langs->trans("RulesResultDue"); if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { $description .= "
".$langs->trans("DepositsAreNotIncluded"); @@ -237,10 +242,9 @@ if (!empty($conf->facture->enabled) && ($modecompta == 'CREANCES-DETTES' || $mod $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; } } - $sql .= " AND f.entity IN (".getEntity('invoice').")"; if ($socid) { - $sql .= " AND f.fk_soc = $socid"; + $sql .= " AND f.fk_soc = ".((int) $socid); } $sql .= " GROUP BY dm"; $sql .= " ORDER BY dm"; @@ -344,8 +348,8 @@ if (!empty($conf->facture->enabled) && ($modecompta == 'CREANCES-DETTES' || $mod $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; } } + $sql .= " AND f.entity IN (".getEntity('supplier_invoice').")"; - $sql .= " AND f.entity = ".$conf->entity; if ($socid) { $sql .= " AND f.fk_soc = ".((int) $socid); } @@ -438,7 +442,7 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom } else { $sql .= " AND f.type IN (0,1,2,3)"; } - $sql .= " AND f.entity = ".$conf->entity; + $sql .= " AND f.entity IN (".getEntity('supplier_invoice').")"; if (!empty($date_start) && !empty($date_end)) { $sql .= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; } @@ -474,7 +478,7 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom $sql = "SELECT sum(t.amount) as amount, date_format(t.datev,'%Y-%m') as dm"; $sql .= " FROM ".MAIN_DB_PREFIX."tva as t"; $sql .= " WHERE amount > 0"; - $sql .= " AND t.entity = ".$conf->entity; + $sql .= " AND t.entity IN (".getEntity('vat').")"; if (!empty($date_start) && !empty($date_end)) { $sql .= " AND t.datev >= '".$db->idate($date_start)."' AND t.datev <= '".$db->idate($date_end)."'"; } @@ -509,7 +513,7 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom $sql = "SELECT sum(t.amount) as amount, date_format(t.datev,'%Y-%m') as dm"; $sql .= " FROM ".MAIN_DB_PREFIX."tva as t"; $sql .= " WHERE amount < 0"; - $sql .= " AND t.entity = ".$conf->entity; + $sql .= " AND t.entity IN (".getEntity('vat').")"; if (!empty($date_start) && !empty($date_end)) { $sql .= " AND t.datev >= '".$db->idate($date_start)."' AND t.datev <= '".$db->idate($date_end)."'"; } @@ -572,7 +576,7 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom } } - $sql .= " AND cs.entity = ".$conf->entity; + $sql .= " AND cs.entity IN (".getEntity('social_contributions').")"; $sql .= " GROUP BY c.libelle, dm"; dol_syslog("get social contributions", LOG_DEBUG); @@ -611,7 +615,7 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom if (!empty($conf->salaries->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES")) { if ($modecompta == 'CREANCES-DETTES') { - $column = 'p.datev'; + $column = 's.dateep'; } if ($modecompta == "RECETTES-DEPENSES") { $column = 'p.datep'; @@ -620,8 +624,9 @@ if (!empty($conf->salaries->enabled) && ($modecompta == 'CREANCES-DETTES' || $mo $subtotal_ht = 0; $subtotal_ttc = 0; $sql = "SELECT p.label as nom, date_format(".$column.",'%Y-%m') as dm, sum(p.amount) as amount"; - $sql .= " FROM ".MAIN_DB_PREFIX."payment_salary as p"; - $sql .= " WHERE p.entity IN (".getEntity('payment_salary').")"; + $sql .= " FROM ".MAIN_DB_PREFIX."payment_salary as p, ".MAIN_DB_PREFIX."salary as s"; + $sql .= " WHERE p.fk_salary = s.rowid"; + $sql .= " AND s.entity IN (".getEntity('salary').")"; if (!empty($date_start) && !empty($date_end)) { $sql .= " AND ".$column." >= '".$db->idate($date_start)."' AND ".$column." <= '".$db->idate($date_end)."'"; } @@ -786,7 +791,8 @@ if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_VARPAY) && !empty($conf->ba // decaiss $sql = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount) AS amount FROM ".MAIN_DB_PREFIX."payment_various as p"; - $sql .= ' WHERE p.sens = 0'; + $sql .= " WHERE p.entity IN (".getEntity('variouspayment').")"; + $sql .= ' AND p.sens = 0'; if (!empty($date_start) && !empty($date_end)) { $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; } @@ -816,7 +822,8 @@ if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_VARPAY) && !empty($conf->ba // encaiss $sql = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount) AS amount FROM ".MAIN_DB_PREFIX."payment_various AS p"; - $sql .= ' WHERE p.sens = 1'; + $sql .= " WHERE p.entity IN (".getEntity('variouspayment').")"; + $sql .= ' AND p.sens = 1'; if (!empty($date_start) && !empty($date_end)) { $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; } @@ -852,8 +859,10 @@ if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_VARPAY) && !empty($conf->ba */ if (!empty($conf->global->ACCOUNTING_REPORTS_INCLUDE_LOAN) && !empty($conf->loan->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES")) { - $sql = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount_capital + p.amount_insurance + p.amount_interest) AS amount FROM ".MAIN_DB_PREFIX."payment_loan AS p"; - $sql .= ' WHERE 1 = 1'; + $sql = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount_capital + p.amount_insurance + p.amount_interest) AS amount"; + $sql .= " FROM ".MAIN_DB_PREFIX."payment_loan AS p, ".MAIN_DB_PREFIX."loan as l"; + $sql .= " WHERE l.entity IN (".getEntity('variouspayment').")"; + $sql .= " AND p.fk_loan = l.rowid"; if (!empty($date_start) && !empty($date_end)) { $sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; } @@ -1025,7 +1034,7 @@ for ($mois = 1 + $nb_mois_decalage; $mois <= 12 + $nb_mois_decalage; $mois++) { $case = strftime("%Y-%m", dol_mktime(12, 0, 0, $mois_modulo, 1, $annee_decalage)); print ' '; - if ($modecompta == 'BOOKKEEPING') { + if ($modecompta == 'CREANCES-DETTES' || $modecompta == 'BOOKKEEPING') { if (isset($decaiss[$case]) && $decaiss[$case] != 0) { print ''.price(price2num($decaiss[$case], 'MT')).''; if (!isset($totsorties[$annee])) { @@ -1045,7 +1054,7 @@ for ($mois = 1 + $nb_mois_decalage; $mois <= 12 + $nb_mois_decalage; $mois++) { print ""; print ' '; - if ($modecompta == 'BOOKKEEPING') { + if ($modecompta == 'CREANCES-DETTES' || $modecompta == 'BOOKKEEPING') { if (isset($encaiss[$case])) { print ''.price(price2num($encaiss[$case], 'MT')).''; if (!isset($totentrees[$annee])) { @@ -1072,7 +1081,7 @@ for ($mois = 1 + $nb_mois_decalage; $mois <= 12 + $nb_mois_decalage; $mois++) { $nbcols = 0; print ''; -if ($modecompta == 'BOOKKEEPING') { +if ($modecompta == 'CREANCES-DETTES' || $modecompta == 'BOOKKEEPING') { print $langs->trans("Total"); } else { print $langs->trans("TotalTTC"); diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 0a17b937b1f..640a229b7f2 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -170,8 +170,9 @@ SeeReportInInputOutputMode=See %sanalysis of payments%s for a calculation SeeReportInDueDebtMode=See %sanalysis of recorded documents%s for a calculation based on known recorded documents even if they are not yet accounted in Ledger SeeReportInBookkeepingMode=See %sanalysis of bookeeping ledger table%s for a report based on Bookkeeping Ledger table RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses, VAT, donations whether they are paid or not. Is also includes paid salaries.
- It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries defined with Salary module, the value date of payment is used. -RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
- It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. +RulesAmountWithTaxExcluded=- Amounts of invoices shown are with all taxes excluded +RulesResultDue=- It includes all invoices, expenses, VAT, donations, salaries, whether they are paid or not.
- It is based on the billing date of invoices and on the due date for expenses or tax payments. For salaries, the date of end of period is used. +RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries.
- It is based on the payment dates of the invoices, expenses, VAT, donations and salaries. RulesCADue=- It includes the customer's due invoices whether they are paid or not.
- It is based on the billing date of these invoices.
RulesCAIn=- It includes all the effective payments of invoices received from customers.
- It is based on the payment date of these invoices
RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 280069f5cf9..f8a98649437 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -152,7 +152,7 @@ ConfirmDeleteSalary=Êtes-vous sûr de vouloir supprimer ce salaire ? ExportDataset_tax_1=Taxes sociales et fiscales et paiements CalcModeVATDebt=Mode %sTVA sur débit%s. CalcModeVATEngagement=Mode %sTVA sur encaissement%s. -CalcModeDebt=Analyse des factures enregistrées connues même si elles ne sont pas encore comptabilisées dans le Grand Livre. +CalcModeDebt=Analyse des documents enregistrés connus même si ils ne sont pas encore comptabilisés dans le Grand Livre. CalcModeEngagement=Analyse des paiements enregistrés connus, même s'ils ne sont pas encore comptabilisés dans le Grand Livre. CalcModeBookkeeping=Analyse des données journalisées dans le Grand livre. CalcModeLT1= Mode %sRE sur factures clients - factures fournisseurs%s @@ -170,7 +170,7 @@ SeeReportInInputOutputMode=Voir %sanalyse des paiements%s pour un calcul SeeReportInDueDebtMode=Voir %sanalyse des documents enregistrés%s pour un calcul basé sur les documents enregistrées même s'ils ne sont pas encore comptabilisés dans le Grand Livre. SeeReportInBookkeepingMode=Voir %sanalyse du grand livre%s pour un rapport basé sur la comptabilité RulesAmountWithTaxIncluded=- Les montants affichés sont les montants taxe incluse -RulesResultDue=- Il comprend les factures impayées, les dépenses, la TVA, les dons, qu'ils soient payées ou non. Il comprend également les salaires versés.
- Il est basé sur la date de facturation des factures et sur la date des dépenses et paiement des taxes. Pour les salaires définis avec le module Salaire, la date de valeur du paiement est utilisée. +RulesResultDue=- Il comprend les factures impayées, les dépenses, la TVA, les dons, qu'ils soient payées ou non. Il comprend également les salaires versés.
- Il est basé sur la date de facturation des factures et sur la date des dépenses et paiement des taxes. RulesResultInOut=- Il comprend les paiements réels effectués sur les factures, les dépenses, la TVA et les salaires.
- Il est basé sur les dates de paiement des factures, les dépenses, la TVA et les salaires. La date du don pour le don. RulesCADue=- Il inclut les factures clients dues, qu'elles soient payées ou non.
- Il se base sur la date de facturation de ces factures.
RulesCAIn=- Il inclut les règlements effectivement reçus des factures clients.
- Il se base sur la date de règlement de ces factures