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 ***********************************************************************/
14 include($path_to_root . "/includes/session.inc");
16 page(_("System and General GL Setup"));
18 include_once($path_to_root . "/includes/date_functions.inc");
19 include_once($path_to_root . "/includes/ui.inc");
20 include_once($path_to_root . "/includes/data_checks.inc");
22 include_once($path_to_root . "/admin/db/company_db.inc");
24 //-------------------------------------------------------------------------------------------------
26 function can_process()
28 if (!check_num('po_over_receive', 0, 100))
30 display_error(_("The delivery over-receive allowance must be between 0 and 100."));
31 set_focus('po_over_receive');
35 if (!check_num('po_over_charge', 0, 100))
37 display_error(_("The invoice over-charge allowance must be between 0 and 100."));
38 set_focus('po_over_charge');
42 if (!check_num('past_due_days', 0, 100))
44 display_error(_("The past due days interval allowance must be between 0 and 100."));
45 set_focus('past_due_days');
51 //-------------------------------------------------------------------------------------------------
53 if (isset($_POST['submit']) && can_process())
55 update_company_gl_setup($_POST['debtors_act'], $_POST['pyt_discount_act'],
56 $_POST['creditors_act'], $_POST['freight_act'],
57 $_POST['exchange_diff_act'],
58 $_POST['default_sales_act'],
59 $_POST['default_sales_discount_act'],
60 $_POST['default_prompt_payment_act'],
61 $_POST['default_inventory_act'],
62 $_POST['default_cogs_act'],
63 $_POST['default_adj_act'],
64 $_POST['default_inv_sales_act'],
65 $_POST['default_assembly_act'],
66 check_value('allow_negative_stock'),
67 input_num('po_over_receive'),
68 input_num('po_over_charge'),
69 check_value('accumulate_shipping'),
71 $_POST['past_due_days'],
72 $_POST['default_credit_limit'],
73 $_POST['default_workorder_required'],
74 $_POST['default_dim_required'],
75 $_POST['default_delivery_required']);
77 display_notification(_("The general GL setup has been updated."));
79 } /* end of if submit */
81 //-------------------------------------------------------------------------------------------------
85 //start_outer_table("class='tablestyle'");
86 start_outer_table($table_style2, 5);
90 $myrow = get_company_prefs();
92 $_POST['debtors_act'] = $myrow["debtors_act"];
93 $_POST['creditors_act'] = $myrow["creditors_act"];
94 $_POST['freight_act'] = $myrow["freight_act"];
95 $_POST['pyt_discount_act'] = $myrow["pyt_discount_act"];
97 $_POST['exchange_diff_act'] = $myrow["exchange_diff_act"];
98 $_POST['default_sales_act'] = $myrow["default_sales_act"];
99 $_POST['default_sales_discount_act'] = $myrow["default_sales_discount_act"];
100 $_POST['default_prompt_payment_act'] = $myrow["default_prompt_payment_act"];
102 $_POST['default_inventory_act'] = $myrow["default_inventory_act"];
103 $_POST['default_cogs_act'] = $myrow["default_cogs_act"];
104 $_POST['default_adj_act'] = $myrow["default_adj_act"];
105 $_POST['default_inv_sales_act'] = $myrow['default_inv_sales_act'];
106 $_POST['default_assembly_act'] = $myrow['default_assembly_act'];
108 $_POST['allow_negative_stock'] = $myrow['allow_negative_stock'];
110 $_POST['po_over_receive'] = percent_format($myrow['po_over_receive']);
111 $_POST['po_over_charge'] = percent_format($myrow['po_over_charge']);
112 $_POST['past_due_days'] = $myrow['past_due_days'];
114 $_POST['default_credit_limit'] = $myrow['default_credit_limit'];
115 $_POST['legal_text'] = $myrow['legal_text'];
116 $_POST['accumulate_shipping'] = $myrow['accumulate_shipping'];
118 $_POST['default_workorder_required'] = $myrow['default_workorder_required'];
119 $_POST['default_dim_required'] = $myrow['default_dim_required'];
120 $_POST['default_delivery_required'] = $myrow['default_delivery_required'];
125 table_section_title(_("General GL"));
127 // Not used in FA2.0.
128 //gl_all_accounts_list_row(_("Retained Earning Clearing Account:"), 'retained_earnings_act', $_POST['retained_earnings_act']);
129 // Not used in FA2.0.
130 //gl_all_accounts_list_row(_("Payroll Account:"), 'payroll_act', $_POST['payroll_act']);
132 text_row(_("Past Due Days Interval:"), 'past_due_days', $_POST['past_due_days'], 6, 6, '', "", _("days"));
134 gl_all_accounts_list_row(_("Exchange Variances Account:"), 'exchange_diff_act', $_POST['exchange_diff_act']);
138 table_section_title(_("Customers and Sales"));
140 text_row(_("Default Credit Limit:"), 'default_credit_limit', $_POST['default_credit_limit'], 12, 12);
142 check_row(_("Accumulate batch shipping:"), 'accumulate_shipping', null);
144 textarea_row(_("Legal Text on Invoice:"), 'legal_text', $_POST['legal_text'], 32, 3);
146 gl_all_accounts_list_row(_("Shipping Charged Account:"), 'freight_act', $_POST['freight_act']);
150 table_section_title(_("Customers and Sales Defaults"));
151 // default for customer branch
152 gl_all_accounts_list_row(_("Receivable Account:"), 'debtors_act');
154 gl_all_accounts_list_row(_("Sales Account:"), 'default_sales_act', null,
157 gl_all_accounts_list_row(_("Sales Discount Account:"), 'default_sales_discount_act');
159 gl_all_accounts_list_row(_("Prompt Payment Discount Account:"), 'default_prompt_payment_act');
161 text_row(_("Delivery Required By:"), 'default_delivery_required', $_POST['default_delivery_required'], 6, 6, '', "", _("days"));
165 table_section_title(_("Dimension Defaults"));
167 text_row(_("Dimension Required By After:"), 'default_dim_required', $_POST['default_dim_required'], 6, 6, '', "", _("days"));
172 table_section_title(_("Suppliers and Purchasing"));
174 percent_row(_("Delivery Over-Receive Allowance:"), 'po_over_receive');
176 percent_row(_("Invoice Over-Charge Allowance:"), 'po_over_charge');
178 // Not used in FA2.0.
179 //gl_all_accounts_list_row(_("Purchases Exchange Variances Account:"), 'purch_exchange_diff_act', $_POST['purch_exchange_diff_act']);
180 // Not used in FA2.0.
181 //gl_all_accounts_list_row(_("Goods Received Clearing Account:"), 'grn_act', $_POST['grn_act']);
183 table_section_title(_("Suppliers and Purchasing Defaults"));
185 gl_all_accounts_list_row(_("Payable Account:"), 'creditors_act', $_POST['creditors_act']);
187 gl_all_accounts_list_row(_("Purchase Discount Account:"), 'pyt_discount_act', $_POST['pyt_discount_act']);
189 table_section_title(_("Inventory"));
191 check_row(_("Allow Negative Inventory:"), 'allow_negative_stock', null);
193 table_section_title(_("Items Defaults"));
194 gl_all_accounts_list_row(_("Sales Account:"), 'default_inv_sales_act', $_POST['default_inv_sales_act']);
196 gl_all_accounts_list_row(_("Inventory Account:"), 'default_inventory_act', $_POST['default_inventory_act']);
197 // this one is default for items and suppliers (purchase account)
198 gl_all_accounts_list_row(_("C.O.G.S. Account:"), 'default_cogs_act', $_POST['default_cogs_act']);
200 gl_all_accounts_list_row(_("Inventory Adjustments Account:"), 'default_adj_act', $_POST['default_adj_act']);
202 gl_all_accounts_list_row(_("Item Assembly Costs Account:"), 'default_assembly_act', $_POST['default_assembly_act']);
206 table_section_title(_("Manufacturing Defaults"));
208 text_row(_("Work Order Required By After:"), 'default_workorder_required', $_POST['default_workorder_required'], 6, 6, '', "", _("days"));
215 submit_center('submit', _("Update"), true, '', 'default');
219 //-------------------------------------------------------------------------------------------------