Changed so Purchase Order also print taxes.
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 24 Jul 2010 10:07:03 +0000 (10:07 +0000)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Sat, 24 Jul 2010 10:07:03 +0000 (10:07 +0000)
CHANGELOG.txt
reporting/includes/doctext.inc
reporting/rep209.php

index 6446a51d2777267fe5f2e524f7967f1232138439..663a6021a9075dfa64d50ed6ee2c204d9c589c09 100644 (file)
@@ -19,6 +19,11 @@ Legend:
 ! -> Note
 $ -> Affected files
 
+24-Jul-2010 Joe Hunt
+! Changed so Purchase Order also print taxes.
+$ /reporting/rep209.php
+  /reporting/doctype.inc
+  
 23-Jul-2010 Janusz Dobrowolski
 + Added tax information display
   /purchasing/view/view_grn.php
index 0f47b5450d436bad3f2c3a935e332a115f7bf96c..4f52bd2cb22ad6c69cfc2a2a53df6127f80dfe7a 100644 (file)
@@ -151,7 +151,7 @@ if (isset($linetype))
                $doc_TOTAL_INVOICE = $doctype ==ST_SALESINVOICE ? _("TOTAL INVOICE") : _("TOTAL CREDIT");
                $doc_TOTAL_ORDER = _("TOTAL ORDER EX VAT");
                $doc_TOTAL_ORDER2 = _("TOTAL ORDER VAT INCL.");
-               $doc_TOTAL_PO = _("TOTAL PO EX VAT");
+               $doc_TOTAL_PO = _("TOTAL PO");
                $doc_TOTAL_DELIVERY = _("TOTAL DELIVERY INCL. VAT");
        }
        elseif ($doctype == ST_SUPPAYMENT || $doctype == ST_CUSTPAYMENT)
index c2892cf0b37254b2110ff23bf87920335527fb54..f0a42fff0418b1435fccb0c92d623a9740d86a11 100644 (file)
@@ -1,12 +1,12 @@
 <?php
 /**********************************************************************
     Copyright (C) FrontAccounting, LLC.
-       Released under the terms of the GNU General Public License, GPL, 
-       as published by the Free Software Foundation, either version 3 
+       Released under the terms of the GNU General Public License, GPL,
+       as published by the Free Software Foundation, either version 3
        of the License, or (at your option) any later version.
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
 
@@ -24,6 +24,7 @@ include_once($path_to_root . "/includes/session.inc");
 include_once($path_to_root . "/includes/date_functions.inc");
 include_once($path_to_root . "/includes/data_checks.inc");
 include_once($path_to_root . "/includes/db/crm_contacts_db.inc");
+include_once($path_to_root . "/taxes/tax_calc.inc");
 
 //----------------------------------------------------------------------------------------------------
 
@@ -33,9 +34,9 @@ print_po();
 function get_po($order_no)
 {
        $sql = "SELECT ".TB_PREF."purch_orders.*, ".TB_PREF."suppliers.supp_name,  "
-               .TB_PREF."suppliers.supp_account_no,
+               .TB_PREF."suppliers.supp_account_no,".TB_PREF."suppliers.tax_included,
                ".TB_PREF."suppliers.curr_code, ".TB_PREF."suppliers.payment_terms, ".TB_PREF."locations.location_name,
-               ".TB_PREF."suppliers.address, ".TB_PREF."suppliers.contact
+               ".TB_PREF."suppliers.address, ".TB_PREF."suppliers.contact, ".TB_PREF."suppliers.tax_group_id
                FROM ".TB_PREF."purch_orders, ".TB_PREF."suppliers, ".TB_PREF."locations
                WHERE ".TB_PREF."purch_orders.supplier_id = ".TB_PREF."suppliers.supplier_id
                AND ".TB_PREF."locations.loc_code = into_stock_location
@@ -115,6 +116,7 @@ function print_po()
 
                $result = get_po_details($i);
                $SubTotal = 0;
+               $items = $prices = array();
                while ($myrow2=db_fetch($result))
                {
                        $data = get_purchase_data($myrow['supplier_id'], $myrow2['item_code']);
@@ -129,8 +131,10 @@ function print_po()
                                        $myrow2['unit_price'] = round2($myrow2['unit_price'] * $data['conversion_factor'], user_price_dec());
                                        $myrow2['quantity_ordered'] = round2($myrow2['quantity_ordered'] / $data['conversion_factor'], user_qty_dec());
                                }
-                       }       
+                       }
                        $Net = round2(($myrow2["unit_price"] * $myrow2["quantity_ordered"]), user_price_dec());
+                       $prices[] = $Net;
+                       $items[] = $myrow2['item_code'];
                        $SubTotal += $Net;
                        $dec2 = 0;
                        $DisplayPrice = price_decimal_format($myrow2["unit_price"],$dec2);
@@ -161,6 +165,46 @@ function print_po()
 
                $rep->TextCol(3, 6, $doc_Sub_total, -2);
                $rep->TextCol(6, 7,     $DisplaySubTot, -2);
+               $rep->NewLine();
+
+               $tax_items = get_tax_for_items($items, $prices, 0,
+                 $myrow['tax_group_id'], $myrow['tax_included'],  null);
+               $first = true;
+               foreach($tax_items as $tax_item)
+               {
+                       $DisplayTax = number_format2($tax_item['Value'], $dec);
+
+                       if (isset($suppress_tax_rates) && $suppress_tax_rates == 1)
+                               $tax_type_name = $tax_item['tax_type_name'];
+                       else
+                               $tax_type_name = $tax_item['tax_type_name']." (".$tax_item['rate']."%) ";
+
+                       if ($myrow['tax_included'])
+                       {
+                               if (isset($alternative_tax_include_on_docs) && $alternative_tax_include_on_docs == 1)
+                               {
+                                       if ($first)
+                                       {
+                                               $rep->TextCol(3, 6, _("Total Tax Excluded"), -2);
+                                               $rep->TextCol(6, 7,     number_format2($sign*$tax_item['net_amount'], $dec), -2);
+                                               $rep->NewLine();
+                                       }
+                                       $rep->TextCol(3, 6, $tax_type_name, -2);
+                                       $rep->TextCol(6, 7,     $DisplayTax, -2);
+                                       $first = false;
+                               }
+                               else
+                                       $rep->TextCol(3, 7, $doc_Included . " " . $tax_type_name . $doc_Amount . ": " . $DisplayTax, -2);
+                       }
+                       else
+                       {
+                               $SubTotal += $tax_item['Value'];
+                               $rep->TextCol(3, 6, $tax_type_name, -2);
+                               $rep->TextCol(6, 7,     $DisplayTax, -2);
+                       }
+                       $rep->NewLine();
+               }
+
                $rep->NewLine();
                $DisplayTotal = number_format2($SubTotal, $dec);
                $rep->Font('bold');
@@ -171,7 +215,7 @@ function print_po()
                {
                        $rep->NewLine(1);
                        $rep->TextCol(1, 7, $myrow['curr_code'] . ": " . $words, - 2);
-               }       
+               }
                $rep->Font();
                if ($email == 1)
                {