Fix report of expense-income must be without tax in debt

This commit is contained in:
Laurent Destailleur 2021-12-18 18:11:28 +01:00
parent fa5d96d562
commit bf441dda14
3 changed files with 32 additions and 22 deletions

View File

@ -140,6 +140,11 @@ $form = new Form($db);
$exportlink = ''; $exportlink = '';
$encaiss = array();
$encaiss_ttc = array();
$decaiss = array();
$decaiss_ttc = array();
// Affiche en-tete du rapport // Affiche en-tete du rapport
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
$name = $langs->trans("ReportInOut").', '.$langs->trans("ByYear"); $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); $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 ? "<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start + $nbofyear - 2)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start + $nbofyear)."&modecompta=".$modecompta."'>".img_next()."</a>" : ""); $periodlink = ($year_start ? "<a href='".$_SERVER["PHP_SELF"]."?year=".($year_start + $nbofyear - 2)."&modecompta=".$modecompta."'>".img_previous()."</a> <a href='".$_SERVER["PHP_SELF"]."?year=".($year_start + $nbofyear)."&modecompta=".$modecompta."'>".img_next()."</a>" : "");
$description = $langs->trans("RulesAmountWithTaxIncluded"); $description = $langs->trans("RulesAmountWithTaxExcluded");
$description .= '<br>'.$langs->trans("RulesResultDue"); $description .= '<br>'.$langs->trans("RulesResultDue");
if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
$description .= "<br>".$langs->trans("DepositsAreNotIncluded"); $description .= "<br>".$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 p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'";
} }
} }
$sql .= " AND f.entity IN (".getEntity('invoice').")"; $sql .= " AND f.entity IN (".getEntity('invoice').")";
if ($socid) { if ($socid) {
$sql .= " AND f.fk_soc = $socid"; $sql .= " AND f.fk_soc = ".((int) $socid);
} }
$sql .= " GROUP BY dm"; $sql .= " GROUP BY dm";
$sql .= " ORDER 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 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) { if ($socid) {
$sql .= " AND f.fk_soc = ".((int) $socid); $sql .= " AND f.fk_soc = ".((int) $socid);
} }
@ -438,7 +442,7 @@ if (!empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecom
} else { } else {
$sql .= " AND f.type IN (0,1,2,3)"; $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)) { if (!empty($date_start) && !empty($date_end)) {
$sql .= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($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 = "SELECT sum(t.amount) as amount, date_format(t.datev,'%Y-%m') as dm";
$sql .= " FROM ".MAIN_DB_PREFIX."tva as t"; $sql .= " FROM ".MAIN_DB_PREFIX."tva as t";
$sql .= " WHERE amount > 0"; $sql .= " WHERE amount > 0";
$sql .= " AND t.entity = ".$conf->entity; $sql .= " AND t.entity IN (".getEntity('vat').")";
if (!empty($date_start) && !empty($date_end)) { if (!empty($date_start) && !empty($date_end)) {
$sql .= " AND t.datev >= '".$db->idate($date_start)."' AND t.datev <= '".$db->idate($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 = "SELECT sum(t.amount) as amount, date_format(t.datev,'%Y-%m') as dm";
$sql .= " FROM ".MAIN_DB_PREFIX."tva as t"; $sql .= " FROM ".MAIN_DB_PREFIX."tva as t";
$sql .= " WHERE amount < 0"; $sql .= " WHERE amount < 0";
$sql .= " AND t.entity = ".$conf->entity; $sql .= " AND t.entity IN (".getEntity('vat').")";
if (!empty($date_start) && !empty($date_end)) { if (!empty($date_start) && !empty($date_end)) {
$sql .= " AND t.datev >= '".$db->idate($date_start)."' AND t.datev <= '".$db->idate($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"; $sql .= " GROUP BY c.libelle, dm";
dol_syslog("get social contributions", LOG_DEBUG); 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 (!empty($conf->salaries->enabled) && ($modecompta == 'CREANCES-DETTES' || $modecompta == "RECETTES-DEPENSES")) {
if ($modecompta == 'CREANCES-DETTES') { if ($modecompta == 'CREANCES-DETTES') {
$column = 'p.datev'; $column = 's.dateep';
} }
if ($modecompta == "RECETTES-DEPENSES") { if ($modecompta == "RECETTES-DEPENSES") {
$column = 'p.datep'; $column = 'p.datep';
@ -620,8 +624,9 @@ if (!empty($conf->salaries->enabled) && ($modecompta == 'CREANCES-DETTES' || $mo
$subtotal_ht = 0; $subtotal_ht = 0;
$subtotal_ttc = 0; $subtotal_ttc = 0;
$sql = "SELECT p.label as nom, date_format(".$column.",'%Y-%m') as dm, sum(p.amount) as amount"; $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 .= " FROM ".MAIN_DB_PREFIX."payment_salary as p, ".MAIN_DB_PREFIX."salary as s";
$sql .= " WHERE p.entity IN (".getEntity('payment_salary').")"; $sql .= " WHERE p.fk_salary = s.rowid";
$sql .= " AND s.entity IN (".getEntity('salary').")";
if (!empty($date_start) && !empty($date_end)) { if (!empty($date_start) && !empty($date_end)) {
$sql .= " AND ".$column." >= '".$db->idate($date_start)."' AND ".$column." <= '".$db->idate($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 // 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 = "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)) { if (!empty($date_start) && !empty($date_end)) {
$sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($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 // 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 = "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)) { if (!empty($date_start) && !empty($date_end)) {
$sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($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")) { 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 = "SELECT date_format(p.datep, '%Y-%m') AS dm, SUM(p.amount_capital + p.amount_insurance + p.amount_interest) AS amount";
$sql .= ' WHERE 1 = 1'; $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)) { if (!empty($date_start) && !empty($date_end)) {
$sql .= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($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)); $case = strftime("%Y-%m", dol_mktime(12, 0, 0, $mois_modulo, 1, $annee_decalage));
print '<td class="right">&nbsp;'; print '<td class="right">&nbsp;';
if ($modecompta == 'BOOKKEEPING') { if ($modecompta == 'CREANCES-DETTES' || $modecompta == 'BOOKKEEPING') {
if (isset($decaiss[$case]) && $decaiss[$case] != 0) { if (isset($decaiss[$case]) && $decaiss[$case] != 0) {
print '<a href="clientfourn.php?year='.$annee_decalage.'&month='.$mois_modulo.($modecompta ? '&modecompta='.$modecompta : '').'">'.price(price2num($decaiss[$case], 'MT')).'</a>'; print '<a href="clientfourn.php?year='.$annee_decalage.'&month='.$mois_modulo.($modecompta ? '&modecompta='.$modecompta : '').'">'.price(price2num($decaiss[$case], 'MT')).'</a>';
if (!isset($totsorties[$annee])) { if (!isset($totsorties[$annee])) {
@ -1045,7 +1054,7 @@ for ($mois = 1 + $nb_mois_decalage; $mois <= 12 + $nb_mois_decalage; $mois++) {
print "</td>"; print "</td>";
print '<td class="borderrightlight nowrap right">&nbsp;'; print '<td class="borderrightlight nowrap right">&nbsp;';
if ($modecompta == 'BOOKKEEPING') { if ($modecompta == 'CREANCES-DETTES' || $modecompta == 'BOOKKEEPING') {
if (isset($encaiss[$case])) { if (isset($encaiss[$case])) {
print '<a href="clientfourn.php?year='.$annee_decalage.'&month='.$mois_modulo.($modecompta ? '&modecompta='.$modecompta : '').'">'.price(price2num($encaiss[$case], 'MT')).'</a>'; print '<a href="clientfourn.php?year='.$annee_decalage.'&month='.$mois_modulo.($modecompta ? '&modecompta='.$modecompta : '').'">'.price(price2num($encaiss[$case], 'MT')).'</a>';
if (!isset($totentrees[$annee])) { if (!isset($totentrees[$annee])) {
@ -1072,7 +1081,7 @@ for ($mois = 1 + $nb_mois_decalage; $mois <= 12 + $nb_mois_decalage; $mois++) {
$nbcols = 0; $nbcols = 0;
print '<tr class="liste_total impair"><td>'; print '<tr class="liste_total impair"><td>';
if ($modecompta == 'BOOKKEEPING') { if ($modecompta == 'CREANCES-DETTES' || $modecompta == 'BOOKKEEPING') {
print $langs->trans("Total"); print $langs->trans("Total");
} else { } else {
print $langs->trans("TotalTTC"); print $langs->trans("TotalTTC");

View File

@ -170,8 +170,9 @@ SeeReportInInputOutputMode=See <b>%sanalysis of payments%s</b> for a calculation
SeeReportInDueDebtMode=See <b>%sanalysis of recorded documents%s</b> for a calculation based on known <b>recorded documents</b> even if they are not yet accounted in Ledger SeeReportInDueDebtMode=See <b>%sanalysis of recorded documents%s</b> for a calculation based on known <b>recorded documents</b> even if they are not yet accounted in Ledger
SeeReportInBookkeepingMode=See <b>%sanalysis of bookeeping ledger table%s</b> for a report based on <b>Bookkeeping Ledger table</b> SeeReportInBookkeepingMode=See <b>%sanalysis of bookeeping ledger table%s</b> for a report based on <b>Bookkeeping Ledger table</b>
RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included 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.<br>- 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. RulesAmountWithTaxExcluded=- Amounts of invoices shown are with all taxes excluded
RulesResultInOut=- It includes the real payments made on invoices, expenses, VAT and salaries. <br>- It is based on the payment dates of the invoices, expenses, VAT and salaries. The donation date for donation. RulesResultDue=- It includes all invoices, expenses, VAT, donations, salaries, whether they are paid or not.<br>- 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. <br>- 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. <br>- It is based on the billing date of these invoices.<br> RulesCADue=- It includes the customer's due invoices whether they are paid or not. <br>- It is based on the billing date of these invoices.<br>
RulesCAIn=- It includes all the effective payments of invoices received from customers.<br>- It is based on the payment date of these invoices<br> RulesCAIn=- It includes all the effective payments of invoices received from customers.<br>- It is based on the payment date of these invoices<br>
RulesCATotalSaleJournal=It includes all credit lines from the Sale journal. RulesCATotalSaleJournal=It includes all credit lines from the Sale journal.

View File

@ -152,7 +152,7 @@ ConfirmDeleteSalary=Êtes-vous sûr de vouloir supprimer ce salaire ?
ExportDataset_tax_1=Taxes sociales et fiscales et paiements ExportDataset_tax_1=Taxes sociales et fiscales et paiements
CalcModeVATDebt=Mode <b>%sTVA sur débit%s</b>. CalcModeVATDebt=Mode <b>%sTVA sur débit%s</b>.
CalcModeVATEngagement=Mode <b>%sTVA sur encaissement%s</b>. CalcModeVATEngagement=Mode <b>%sTVA sur encaissement%s</b>.
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. 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. CalcModeBookkeeping=Analyse des données journalisées dans le Grand livre.
CalcModeLT1= Mode <b>%sRE sur factures clients - factures fournisseurs%s<b> CalcModeLT1= Mode <b>%sRE sur factures clients - factures fournisseurs%s<b>
@ -170,7 +170,7 @@ SeeReportInInputOutputMode=Voir <b>%sanalyse des paiements%s</b> pour un calcul
SeeReportInDueDebtMode=Voir <b>%sanalyse des documents enregistrés%s </b>pour un calcul basé sur les <b>documents enregistrées</b> même s'ils ne sont pas encore comptabilisés dans le Grand Livre. SeeReportInDueDebtMode=Voir <b>%sanalyse des documents enregistrés%s </b>pour un calcul basé sur les <b>documents enregistrées</b> même s'ils ne sont pas encore comptabilisés dans le Grand Livre.
SeeReportInBookkeepingMode=Voir <b> %sanalyse du grand livre%s </b> pour un rapport basé sur la <b>comptabilité</b> SeeReportInBookkeepingMode=Voir <b> %sanalyse du grand livre%s </b> pour un rapport basé sur la <b>comptabilité</b>
RulesAmountWithTaxIncluded=- Les montants affichés sont les montants taxe incluse 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. <br> - 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. <br> - 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. <br> - 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. RulesResultInOut=- Il comprend les paiements réels effectués sur les factures, les dépenses, la TVA et les salaires. <br> - 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.<br>- Il se base sur la date de facturation de ces factures.<br> RulesCADue=- Il inclut les factures clients dues, qu'elles soient payées ou non.<br>- Il se base sur la date de facturation 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> 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>