From 0b50e4cbd1921c7d97da91c7967a6a9a6451d83f Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Mon, 15 Nov 2021 16:45:35 +0100 Subject: [PATCH] Bug 5522, 5523, 5524: Journal Entry Affecting in both sales and purchase and more. Fixed all three bugs. --- gl/includes/db/gl_db_trans.inc | 12 ++++++------ includes/ui/items_cart.inc | 2 +- reporting/rep709.php | 20 ++++++++++++-------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/gl/includes/db/gl_db_trans.inc b/gl/includes/db/gl_db_trans.inc index 45067bb7..a6a10e82 100644 --- a/gl/includes/db/gl_db_trans.inc +++ b/gl/includes/db/gl_db_trans.inc @@ -523,22 +523,22 @@ function get_tax_summary($from, $to, $also_zero_purchases=false) $sql = "SELECT SUM(IF(trans_type=".ST_CUSTCREDIT.",-1,1)* IF((reg_type=".TR_OUTPUT.")" - ." || ((trans_type IN(".ST_SALESINVOICE.",".ST_CUSTCREDIT.") OR (trans_type=".ST_JOURNAL." AND reg_type=".TR_INPUT.")) + ." || ((trans_type IN(".ST_SALESINVOICE.",".ST_CUSTCREDIT.",".ST_BANKDEPOSIT.")) ), net_amount*ex_rate,0) ) net_output, SUM(IF(trans_type=".ST_CUSTCREDIT.",-1,1)* IF((reg_type=".TR_OUTPUT.")" - ." || ((trans_type IN(".ST_SALESINVOICE.",".ST_CUSTCREDIT.") OR (trans_type=".ST_JOURNAL." AND reg_type=".TR_INPUT.")) + ." || ((trans_type IN(".ST_SALESINVOICE.",".ST_CUSTCREDIT.",".ST_BANKDEPOSIT.")) ), amount*ex_rate,0)) payable, - SUM(IF(trans_type IN(".ST_SUPPCREDIT."),-1,1)* - IF(reg_type=".TR_INPUT + SUM(IF(trans_type IN(".ST_SUPPCREDIT.",".ST_BANKPAYMENT."),-1,1)* + IF((reg_type=".TR_INPUT." OR trans_type IN (".ST_SUPPINVOICE.",".ST_BANKPAYMENT."))" . ($also_zero_purchases ? '': " AND tax_type_id AND taxrec.rate") .", net_amount*ex_rate, 0)) net_input, - SUM(IF(trans_type IN(".ST_SUPPCREDIT."),-1,1)* - IF(reg_type=".TR_INPUT + SUM(IF(trans_type IN(".ST_SUPPCREDIT.",".ST_BANKPAYMENT."),-1,1)* + IF((reg_type=".TR_INPUT." OR trans_type IN (".ST_SUPPINVOICE.",".ST_BANKPAYMENT."))" . ($also_zero_purchases ? '': " AND tax_type_id AND taxrec.rate ") .", amount*ex_rate, 0)) collectible, taxrec.rate, diff --git a/includes/ui/items_cart.inc b/includes/ui/items_cart.inc index 7de50277..f5b1940d 100644 --- a/includes/ui/items_cart.inc +++ b/includes/ui/items_cart.inc @@ -280,7 +280,7 @@ class items_cart } elseif ($tax_id = is_tax_account($gl->code_id)) { $tax_type = get_tax_type($tax_id); - if ($gl->code_id == $tax_type['purchasing_gl_code']) { + if ($gl->code_id == $tax_type['purchasing_gl_code'] && $gl->amount > 0) { if (!isset($tax_info['tax_in'][$tax_id])) $tax_info['tax_in'][$tax_id] = 0; $tax_info['tax_in'][$tax_id] += $gl->amount; diff --git a/reporting/rep709.php b/reporting/rep709.php index 36984ff2..435388d1 100644 --- a/reporting/rep709.php +++ b/reporting/rep709.php @@ -35,9 +35,10 @@ function getTaxTransactions($from, $to) $sql = "SELECT tt.name as taxname, taxrec.*, taxrec.amount*ex_rate AS amount, taxrec.net_amount*ex_rate AS net_amount, - IF(taxrec.trans_type=".ST_BANKPAYMENT." OR taxrec.trans_type=".ST_BANKDEPOSIT.", - IF(gl.person_type_id<>".PT_MISC.", gl.memo_, gl.person_id), - IF(ISNULL(supp.supp_name), debt.name, supp.supp_name)) as name, + IF(ISNULL(supp.supp_name), + IF(ISNULL(debt.name), + IF(gl.person_type_id<>".PT_MISC.", gl.memo_, gl.person_id), debt.name), + supp.supp_name) as name, branch.br_name FROM ".TB_PREF."trans_tax_details taxrec LEFT JOIN ".TB_PREF."tax_types tt @@ -54,9 +55,10 @@ function getTaxTransactions($from, $to) LEFT JOIN ".TB_PREF."debtors_master as debt ON dtrans.debtor_no=debt.debtor_no LEFT JOIN ".TB_PREF."cust_branch as branch ON dtrans.branch_code=branch.branch_code WHERE (taxrec.amount <> 0 OR taxrec.net_amount <> 0) - AND !ISNULL(taxrec.reg_type) AND taxrec.tran_date >= '$fromdate' AND taxrec.tran_date <= '$todate' + AND taxrec.trans_type <> ".ST_CUSTDELIVERY." + GROUP BY taxrec.id ORDER BY taxrec.trans_type, taxrec.tran_date, taxrec.trans_no, taxrec.ex_rate"; return db_query($sql,"No transactions were returned"); @@ -133,9 +135,11 @@ function print_tax_report() while ($trans=db_fetch($transactions)) { - if (in_array($trans['trans_type'], array(ST_CUSTCREDIT,ST_SUPPINVOICE,ST_JOURNAL))) { - $trans['net_amount'] *= -1; - $trans['amount'] *= -1; + if (in_array($trans['trans_type'], array(ST_CUSTCREDIT,ST_SUPPINVOICE, ST_JOURNAL))) { + if ($trans['reg_type'] == TR_INPUT) { + $trans['net_amount'] *= -1; + $trans['amount'] *= -1; + } } if (!$summaryOnly) @@ -174,7 +178,7 @@ function print_tax_report() elseif (in_array($trans['trans_type'], array(ST_BANKDEPOSIT,ST_SALESINVOICE,ST_CUSTCREDIT))) { $taxes[$tax_type]['taxout'] += $trans['amount']; $taxes[$tax_type]['out'] += $trans['net_amount']; - } elseif ($trans['reg_type'] !== NULL) { + } elseif ($trans['reg_type'] !== NULL || in_array($trans['trans_type'], array(ST_SUPPINVOICE, ST_SUPPCREDIT, ST_BANKPAYMENT))) { $taxes[$tax_type]['taxin'] += $trans['amount']; $taxes[$tax_type]['in'] += $trans['net_amount']; } -- 2.30.2