From: Joe Hunt Date: Mon, 4 Apr 2011 22:16:15 +0000 (+0200) Subject: Improved reports, COA, Trial Balance and Tax Report by Chaitanya. X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=1954d18a3462a1bb6fee03d624a29b0f989e1503;p=textcart.git Improved reports, COA, Trial Balance and Tax Report by Chaitanya. --- diff --git a/reporting/rep701.php b/reporting/rep701.php index b4f54c9..8a86114 100644 --- a/reporting/rep701.php +++ b/reporting/rep701.php @@ -25,7 +25,7 @@ include_once($path_to_root . "/gl/includes/gl_db.inc"); //---------------------------------------------------------------------------------------------------- -function display_type ($type, $typename, &$dec, &$rep, $showbalance) +function display_type ($type, $typename, &$dec, &$rep, $showbalance, $level) { $printtitle = 0; //Flag for printing type name @@ -36,12 +36,15 @@ function display_type ($type, $typename, &$dec, &$rep, $showbalance) //Print Type Title if it has atleast one non-zero account if (!$printtitle) { + $prefix = ''; + for ($sp=1; $sp<=$level; $sp++) + { + $prefix .= ' '; + } $printtitle = 1; $rep->row -= 4; - $rep->Font('bold'); $rep->TextCol(0, 1, $type); - $rep->TextCol(1, 4, $typename); - $rep->Font(); + $rep->TextCol(1, 4, $prefix.$typename); $rep->row -= 4; $rep->Line($rep->row); $rep->NewLine(); @@ -54,7 +57,7 @@ function display_type ($type, $typename, &$dec, &$rep, $showbalance) $balance = get_gl_trans_from_to($begin, ToDay(), $account["account_code"], 0); } $rep->TextCol(0, 1, $account['account_code']); - $rep->TextCol(1, 2, $account['account_name']); + $rep->TextCol(1, 2, $prefix.$account['account_name']); $rep->TextCol(2, 3, $account['account_code2']); if ($showbalance == 1) $rep->AmountCol(3, 4, $balance, $dec); @@ -76,8 +79,8 @@ function display_type ($type, $typename, &$dec, &$rep, $showbalance) $rep->Line($rep->row); $rep->NewLine(); } - - display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $showbalance); + $nextlevel = $level + 1; + display_type($accounttype["id"], $accounttype["name"].' ('.$typename.')', $dec, $rep, $showbalance, $nextlevel); } } @@ -128,7 +131,7 @@ function print_Chart_of_Accounts() $typeresult = get_account_types(false, $class['cid'], -1); while ($accounttype=db_fetch($typeresult)) { - display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $showbalance); + display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $showbalance, 0); } $rep->NewLine(); } diff --git a/reporting/rep708.php b/reporting/rep708.php index 2095602..44fc271 100644 --- a/reporting/rep708.php +++ b/reporting/rep708.php @@ -24,6 +24,108 @@ include_once($path_to_root . "/includes/date_functions.inc"); include_once($path_to_root . "/includes/data_checks.inc"); include_once($path_to_root . "/gl/includes/gl_db.inc"); +$pdeb = $pcre = $cdeb = $ccre = $tdeb = $tcre = $pbal = $cbal = $tbal = 0; +$cls_pdeb = $cls_pcre = $cls_cdeb = $cls_ccre = $cls_tdeb = $cls_tcre = $cls_pbal = $cls_cbal = $cls_tbal = 0; +$grp_pdeb = $grp_pcre = $grp_cdeb = $grp_ccre = $grp_tdeb = $grp_tcre = $grp_pbal = $grp_cbal = $grp_tbal = 0; + +//---------------------------------------------------------------------------------------------------- + +function display_type ($type, $typename, &$dec, &$rep, $from, $to, $zero, $balances, $dimension, $dimension2) +{ + global $pdeb, $pcre, $cdeb, $ccre, $tdeb, $tcre, $pbal, $cbal, $tbal; + + $printtitle = 0; //Flag for printing type name + + //Get Accounts directly under this group/type + $accounts = get_gl_accounts(null, null, $type); + + $pdeb = $pcre = $cdeb = $ccre = $tdeb = $tcre = $pbal = $cbal = $tbal = 0; + + $begin = begin_fiscalyear(); + if (date1_greater_date2($begin, $from)) + $begin = $from; + $begin = add_days($begin, -1); + while ($account=db_fetch($accounts)) + { + //Print Type Title if it has atleast one non-zero account + if (!$printtitle) + { + $rep->row -= 4; + $rep->TextCol(0, 8, _("Group")." - ".$type ." - ".$typename); + $printtitle = 1; + $rep->row -= 4; + $rep->Line($rep->row); + $rep->NewLine(); + } + + $prev = get_balance($account["account_code"], $dimension, $dimension2, $begin, $from, false, false); + $curr = get_balance($account["account_code"], $dimension, $dimension2, $from, $to, true, true); + $tot = get_balance($account["account_code"], $dimension, $dimension2, $begin, $to, false, true); + + if ($zero == 0 && !$prev['balance'] && !$curr['balance'] && !$tot['balance']) + continue; + $rep->TextCol(0, 1, $account['account_code']); + $rep->TextCol(1, 2, $account['account_name']); + if ($balances != 0) + { + if ($prev['balance'] >= 0.0) + $rep->AmountCol(2, 3, $prev['balance'], $dec); + else + $rep->AmountCol(3, 4, abs($prev['balance']), $dec); + if ($curr['balance'] >= 0.0) + $rep->AmountCol(4, 5, $curr['balance'], $dec); + else + $rep->AmountCol(5, 6, abs($curr['balance']), $dec); + if ($tot['balance'] >= 0.0) + $rep->AmountCol(6, 7, $tot['balance'], $dec); + else + $rep->AmountCol(7, 8, abs($tot['balance']), $dec); + } + else + { + $rep->AmountCol(2, 3, $prev['debit'], $dec); + $rep->AmountCol(3, 4, $prev['credit'], $dec); + $rep->AmountCol(4, 5, $curr['debit'], $dec); + $rep->AmountCol(5, 6, $curr['credit'], $dec); + $rep->AmountCol(6, 7, $tot['debit'], $dec); + $rep->AmountCol(7, 8, $tot['credit'], $dec); + $pdeb += $prev['debit']; + $pcre += $prev['credit']; + $cdeb += $curr['debit']; + $ccre += $curr['credit']; + $tdeb += $tot['debit']; + $tcre += $tot['credit']; + } + $pbal += $prev['balance']; + $cbal += $curr['balance']; + $tbal += $tot['balance']; + $rep->NewLine(); + + if ($rep->row < $rep->bottomMargin + $rep->lineHeight) + { + $rep->Line($rep->row - 2); + $rep->NewPage(); + } + } + + //Get Account groups/types under this group/type + $result = get_account_types(false, false, $type); + while ($accounttype=db_fetch($result)) + { + //Print Type Title if has sub types and not previously printed + if (!$printtitle) + { + $rep->row -= 4; + $rep->TextCol(0, 8, _("Group")." - ".$type ." - ".$typename); + $printtitle = 1; + $rep->row -= 4; + $rep->Line($rep->row); + $rep->NewLine(); + } + display_type($accounttype["id"], $accounttype["name"].' ('.$typename.')', $dec, $rep, $from, $to, $zero, $balances, $dimension, $dimension2); + } +} + //---------------------------------------------------------------------------------------------------- print_trial_balance(); @@ -33,6 +135,7 @@ print_trial_balance(); function print_trial_balance() { global $path_to_root; + global $pdeb, $pcre, $cdeb, $ccre, $tdeb, $tcre, $pbal, $cbal, $tbal; $dim = get_company_pref('use_dimension'); $dimension = $dimension2 = 0; @@ -74,8 +177,9 @@ function print_trial_balance() $aligns2 = array('left', 'left', 'left', 'left', 'left'); //$cols = array(0, 50, 200, 250, 300, 350, 400, 450, 500, 550); - $cols = array(0, 50, 150, 210, 270, 330, 390, 450, 510, 570); - //------------0--1---2----3----4----5----6----7----8----9-- + $cols = array(0, 50, 150, 210, 270, 330, 390, 450, 510, 570); + //$cols = array(0, 50, 190, 250, 310, 370, 430, 490, 550); + //------------0--1---2----3----4----5----6----7----8-- $headers = array(_('Account'), _('Account Name'), _('Debit'), _('Credit'), _('Debit'), _('Credit'), _('Debit'), _('Credit')); @@ -109,65 +213,23 @@ function print_trial_balance() $rep->Font(); $rep->Info($params, $cols, $headers, $aligns, $cols2, $headers2, $aligns2); $rep->NewPage(); - - $accounts = get_gl_accounts(); - - $pdeb = $pcre = $cdeb = $ccre = $tdeb = $tcre = $pbal = $cbal = $tbal = 0; - $begin = begin_fiscalyear(); - if (date1_greater_date2($begin, $from)) - $begin = $from; - $begin = add_days($begin, -1); - while ($account=db_fetch($accounts)) + + $classresult = get_account_classes(false); + while ($class = db_fetch($classresult)) { - $prev = get_balance($account["account_code"], $dimension, $dimension2, $begin, $from, false, false); - $curr = get_balance($account["account_code"], $dimension, $dimension2, $from, $to, true, true); - $tot = get_balance($account["account_code"], $dimension, $dimension2, $begin, $to, false, true); - - if ($zero == 0 && !$prev['balance'] && !$curr['balance'] && !$tot['balance']) - continue; - $rep->TextCol(0, 1, $account['account_code']); - $rep->TextCol(1, 2, $account['account_name']); - if ($balances != 0) - { - if ($prev['balance'] >= 0.0) - $rep->AmountCol(2, 3, $prev['balance'], $dec); - else - $rep->AmountCol(3, 4, abs($prev['balance']), $dec); - if ($curr['balance'] >= 0.0) - $rep->AmountCol(4, 5, $curr['balance'], $dec); - else - $rep->AmountCol(5, 6, abs($curr['balance']), $dec); - if ($tot['balance'] >= 0.0) - $rep->AmountCol(6, 7, $tot['balance'], $dec); - else - $rep->AmountCol(7, 8, abs($tot['balance']), $dec); - } - else - { - $rep->AmountCol(2, 3, $prev['debit'], $dec); - $rep->AmountCol(3, 4, $prev['credit'], $dec); - $rep->AmountCol(4, 5, $curr['debit'], $dec); - $rep->AmountCol(5, 6, $curr['credit'], $dec); - $rep->AmountCol(6, 7, $tot['debit'], $dec); - $rep->AmountCol(7, 8, $tot['credit'], $dec); - $pdeb += $prev['debit']; - $pcre += $prev['credit']; - $cdeb += $curr['debit']; - $ccre += $curr['credit']; - $tdeb += $tot['debit']; - $tcre += $tot['credit']; - - } - $pbal += $prev['balance']; - $cbal += $curr['balance']; - $tbal += $tot['balance']; - $rep->NewLine(); + $rep->Font('bold'); + $rep->TextCol(0, 1, $class['cid']); + $rep->TextCol(1, 4, $class['class_name']); + $rep->Font(); + $rep->NewLine(); - if ($rep->row < $rep->bottomMargin + $rep->lineHeight) + //Get Account groups/types under this group/type with no parents + $typeresult = get_account_types(false, $class['cid'], -1); + while ($accounttype=db_fetch($typeresult)) { - $rep->Line($rep->row - 2); - $rep->NewPage(); + display_type($accounttype["id"], $accounttype["name"], $dec, $rep, $from, $to, $zero, $balances, $dimension, $dimension2); } + $rep->NewLine(); } $rep->Line($rep->row); $rep->NewLine(); @@ -204,7 +266,7 @@ function print_trial_balance() $rep->AmountCol(7, 8, abs($tbal), $dec); $rep->NewLine(); - $rep->Line($rep->row); + $rep->Line($rep->row + 10); if (($pbal = round2($pbal, $dec)) != 0.0) { $rep->NewLine(2); diff --git a/reporting/rep709.php b/reporting/rep709.php index e52f293..7c09e30 100644 --- a/reporting/rep709.php +++ b/reporting/rep709.php @@ -33,11 +33,13 @@ function getTaxTransactions($from, $to) $fromdate = date2sql($from); $todate = date2sql($to); - $sql = "SELECT taxrec.*, taxrec.amount*ex_rate AS amount, + $sql = "SELECT tt.name as taxname, taxrec.*, taxrec.amount*ex_rate AS amount, taxrec.net_amount*ex_rate AS net_amount, IF(ISNULL(supp.supp_name), debt.name, supp.supp_name) as name, branch.br_name FROM ".TB_PREF."trans_tax_details taxrec + LEFT JOIN ".TB_PREF."tax_types tt + ON taxrec.tax_type_id=tt.id LEFT JOIN ".TB_PREF."supp_trans strans ON taxrec.trans_no=strans.trans_no AND taxrec.trans_type=strans.type LEFT JOIN ".TB_PREF."suppliers as supp ON strans.supplier_id=supp.supplier_id @@ -49,7 +51,7 @@ function getTaxTransactions($from, $to) AND taxrec.trans_type <> ".ST_CUSTDELIVERY." AND taxrec.tran_date >= '$fromdate' AND taxrec.tran_date <= '$todate' - ORDER BY taxrec.tran_date"; + ORDER BY taxrec.trans_type, taxrec.tran_date, taxrec.trans_no, taxrec.ex_rate"; //display_error($sql); return db_query($sql,"No transactions were returned"); } @@ -71,7 +73,7 @@ function getTaxInfo($id) function print_tax_report() { - global $path_to_root, $trans_dir, $systypes_array; + global $path_to_root, $trans_dir, $Hooks, $systypes_array; $from = $_POST['PARAM_0']; $to = $_POST['PARAM_1']; @@ -102,11 +104,11 @@ function print_tax_report() 1 => array('text' => _('Period'), 'from' => $from, 'to' => $to), 2 => array('text' => _('Type'), 'from' => $summary, 'to' => '')); - $cols = array(0, 100, 130, 180, 290, 370, 420, 470, 520); + $cols = array(0, 80, 130, 180, 270, 350, 400, 430, 480, 485, 520); $headers = array(_('Trans Type'), _('Ref'), _('Date'), _('Name'), _('Branch Name'), - _('Net'), _('Rate'), _('Tax')); - $aligns = array('left', 'left', 'left', 'left', 'left', 'right', 'right', 'right'); + _('Net'), _('Rate'), _('Tax'), '', _('Name')); + $aligns = array('left', 'left', 'left', 'left', 'left', 'right', 'right', 'right', 'right','left'); $rep->Font(); $rep->Info($params, $cols, $headers, $aligns); if (!$summaryOnly) @@ -138,6 +140,8 @@ function print_tax_report() $rep->AmountCol(5, 6, $trans['net_amount'], $dec); $rep->AmountCol(6, 7, $trans['rate'], $dec); $rep->AmountCol(7, 8, $trans['amount'], $dec); + + $rep->TextCol(9, 10, $trans['taxname']); $rep->NewLine();