2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
13 $path_to_root="../..";
14 include_once($path_to_root . "/includes/session.inc");
16 include_once($path_to_root . "/sales/includes/sales_ui.inc");
18 include_once($path_to_root . "/sales/includes/sales_db.inc");
21 if ($use_popup_windows)
22 $js .= get_js_open_window(900, 600);
23 page(_("View Sales Invoice"), true, false, "", $js);
26 if (isset($_GET["trans_no"]))
28 $trans_id = $_GET["trans_no"];
30 elseif (isset($_POST["trans_no"]))
32 $trans_id = $_POST["trans_no"];
35 // 3 different queries to get the information - what a JOKE !!!!
37 $myrow = get_customer_trans($trans_id, 10);
39 $branch = get_branch($myrow["branch_code"]);
41 $sales_order = get_sales_order_header($myrow["order_"]);
43 display_heading(sprintf(_("SALES INVOICE #%d"),$trans_id));
46 start_table("$table_style2 width=95%");
47 echo "<tr valign=top><td>"; // outer table
49 /*Now the customer charged to details in a sub table*/
50 start_table("$table_style width=100%");
51 $th = array(_("Charge To"));
54 label_row(null, $myrow["DebtorName"] . "<br>" . nl2br($myrow["address"]), "nowrap");
58 /*end of the small table showing charge to account details */
60 echo "</td><td>"; // outer table
62 /*end of the main table showing the company name and charge to details */
64 start_table("$table_style width=100%");
65 $th = array(_("Charge Branch"));
68 label_row(null, $branch["br_name"] . "<br>" . nl2br($branch["br_address"]), "nowrap");
71 echo "</td><td>"; // outer table
73 start_table("$table_style width=100%");
74 $th = array(_("Delivered To"));
77 label_row(null, $sales_order["deliver_to"] . "<br>" . nl2br($sales_order["delivery_address"]),
81 echo "</td><td>"; // outer table
83 start_table("$table_style width=100%");
85 label_cells(_("Reference"), $myrow["reference"], "class='tableheader2'");
86 label_cells(_("Currency"), $sales_order["curr_code"], "class='tableheader2'");
87 label_cells(_("Our Order No"),
88 get_customer_trans_view_str(systypes::sales_order(),$sales_order["order_no"]), "class='tableheader2'");
91 label_cells(_("Customer Order Ref."), $sales_order["customer_ref"], "class='tableheader2'");
92 label_cells(_("Shipping Company"), $myrow["shipper_name"], "class='tableheader2'");
93 label_cells(_("Sales Type"), $myrow["sales_type"], "class='tableheader2'");
96 label_cells(_("Invoice Date"), sql2date($myrow["tran_date"]), "class='tableheader2'", "nowrap");
97 label_cells(_("Due Date"), sql2date($myrow["due_date"]), "class='tableheader2'", "nowrap");
98 label_cells(_("Deliveries"), get_customer_trans_view_str(systypes::cust_dispatch(),
99 get_parent_trans(10,$trans_id)), "class='tableheader2'");
101 comments_display_row(10, $trans_id);
105 end_table(1); // outer table
108 $result = get_customer_trans_details(10, $trans_id);
110 start_table("$table_style width=95%");
112 if (db_num_rows($result) > 0)
114 $th = array(_("Item Code"), _("Item Description"), _("Quantity"),
115 _("Unit"), _("Price"), _("Discount %"), _("Total"));
118 $k = 0; //row colour counter
120 while ($myrow2 = db_fetch($result))
122 if($myrow2["quantity"]==0) continue;
123 alt_table_row_color($k);
125 $value = round2(((1 - $myrow2["discount_percent"]) * $myrow2["unit_price"] * $myrow2["quantity"]),
127 $sub_total += $value;
129 if ($myrow2["discount_percent"] == 0)
131 $display_discount = "";
135 $display_discount = percent_format($myrow2["discount_percent"]*100) . "%";
138 label_cell($myrow2["stock_id"]);
139 label_cell($myrow2["StockDescription"]);
140 qty_cell($myrow2["quantity"], false, get_qty_dec($myrow2["stock_id"]));
141 label_cell($myrow2["units"], "align=right");
142 amount_cell($myrow2["unit_price"]);
143 label_cell($display_discount, "nowrap align=right");
146 } //end while there are line items to print out
150 display_note(_("There are no line items on this invoice."), 1, 2);
152 $display_sub_tot = price_format($sub_total);
153 $display_freight = price_format($myrow["ov_freight"]);
155 /*Print out the invoice text entered */
156 label_row(_("Sub-total"), $display_sub_tot, "colspan=6 align=right",
157 "nowrap align=right width=15%");
158 label_row(_("Shipping"), $display_freight, "colspan=6 align=right", "nowrap align=right");
160 $tax_items = get_trans_tax_details(10, $trans_id);
161 display_customer_trans_tax_details($tax_items, 6);
163 $display_total = price_format($myrow["ov_freight"]+$myrow["ov_gst"]+$myrow["ov_amount"]+$myrow["ov_freight_tax"]);
165 label_row(_("TOTAL INVOICE"), $display_total, "colspan=6 align=right",
166 "nowrap align=right");
169 is_voided_display(10, $trans_id, _("This invoice has been voided."));