set_focus('charge');
return false;
}
- if (isset($_POST['charge']) && input_num('charge') > 0 && get_company_pref('bank_charge_act') == '') {
+ if (isset($_POST['charge']) && input_num('charge') > 0 && get_bank_charge_account($_POST['FromBankAccount']) == '') {
display_error(_("The Bank Charge Account has not been set in System and General GL Setup."));
set_focus('charge');
return false;
function add_bank_account($account_code, $account_type, $bank_account_name,
$bank_name, $bank_account_number, $bank_address, $bank_curr_code,
- $dflt_curr_act)
+ $dflt_curr_act, $bank_charge_act)
{
if($dflt_curr_act) // only one default account for any currency
clear_dflt_curr_account($bank_curr_code);
$sql = "INSERT INTO ".TB_PREF."bank_accounts (account_code, account_type,
bank_account_name, bank_name, bank_account_number, bank_address,
- bank_curr_code, dflt_curr_act)
+ bank_curr_code, dflt_curr_act, bank_charge_act)
VALUES (".db_escape($account_code).", ".db_escape($account_type).", "
.db_escape($bank_account_name).", ".db_escape($bank_name).", "
.db_escape($bank_account_number).",".db_escape($bank_address).
- ", ".db_escape($bank_curr_code).", ".db_escape($dflt_curr_act).")";
+ ", ".db_escape($bank_curr_code).", ".db_escape($dflt_curr_act).", ".db_escape($bank_charge_act).")";
db_query($sql, "could not add a bank account for $account_code");
}
//---------------------------------------------------------------------------------------------
function update_bank_account($id, $account_code, $account_type, $bank_account_name,
- $bank_name, $bank_account_number, $bank_address, $bank_curr_code, $dflt_curr_act)
+ $bank_name, $bank_account_number, $bank_address, $bank_curr_code, $dflt_curr_act, $bank_charge_act)
{
if($dflt_curr_act) // only one default account for any currency
clear_dflt_curr_account($bank_curr_code);
bank_account_name=".db_escape($bank_account_name).", bank_name=".db_escape($bank_name).",
bank_account_number=".db_escape($bank_account_number).", bank_curr_code=".db_escape($bank_curr_code).",
bank_address=".db_escape($bank_address).",
- dflt_curr_act=".db_escape($dflt_curr_act)
- ." WHERE id = ".db_escape($id);
+ dflt_curr_act=".db_escape($dflt_curr_act).", bank_charge_act=".db_escape($bank_charge_act)."
+ WHERE id = ".db_escape($id);
db_query($sql, "could not update bank account for $account_code");
}
//---------------------------------------------------------------------------------------------
+function get_bank_charge_account($id)
+{
+ $sql = "SELECT bank_charge_act FROM ".TB_PREF."bank_accounts WHERE id=".db_escape($id);
+
+ $result = db_query($sql, "could not retreive bank account for $id");
+
+ $bank_account = db_fetch($result);
+
+ return $bank_account['bank_charge_act'];
+}
+
+//---------------------------------------------------------------------------------------------
+
function add_quick_entry($description, $type, $base_amount, $base_desc, $bal_type)
{
$sql = "INSERT INTO ".TB_PREF."quick_entries (description, type, base_amount, base_desc, bal_type)
if ($charge != 0)
{
/* Now Debit bank charge account with charges */
- $charge_act = get_company_pref('bank_charge_act');
+ $charge_act = get_bank_charge_account($from_account);
$total += add_gl_trans($trans_type, $trans_no, $date_,
$charge_act, 0, 0, $person_id, $charge, $currency);
}
$_POST['account_type'], $_POST['bank_account_name'],
$_POST['bank_name'], $_POST['bank_account_number'],
$_POST['bank_address'], $_POST['BankAccountCurrency'],
- $_POST['dflt_curr_act']);
+ $_POST['dflt_curr_act'], $_POST['bank_charge_act']);
display_notification(_('Bank account has been updated'));
}
else
add_bank_account($_POST['account_code'], $_POST['account_type'],
$_POST['bank_account_name'], $_POST['bank_name'],
$_POST['bank_account_number'], $_POST['bank_address'],
- $_POST['BankAccountCurrency'], $_POST['dflt_curr_act']);
+ $_POST['BankAccountCurrency'], $_POST['dflt_curr_act'], $_POST['bank_charge_act']);
display_notification(_('New bank account has been added'));
}
$Mode = 'RESET';
$selected_id = -1;
$_POST['bank_name'] = $_POST['bank_account_name'] = '';
$_POST['bank_account_number'] = $_POST['bank_address'] = '';
+ $_POST['bank_charge_act'] = get_company_pref('bank_charge_act');
}
+if (!isset($_POST['bank_charge_act']))
+ $_POST['bank_charge_act'] = get_company_pref('bank_charge_act');
/* Always show the list of accounts */
$_POST['bank_address'] = $myrow["bank_address"];
$_POST['BankAccountCurrency'] = $myrow["bank_curr_code"];
$_POST['dflt_curr_act'] = $myrow["dflt_curr_act"];
+ $_POST['bank_charge_act'] = $myrow["bank_charge_act"];
}
hidden('selected_id', $selected_id);
hidden('account_code');
else
gl_all_accounts_list_row(_("Bank Account GL Code:"), 'account_code', null);
+gl_all_accounts_list_row(_("Bank Charges Account:"), 'bank_charge_act', null, true);
text_row(_("Bank Name:"), 'bank_name', null, 50, 60);
text_row(_("Bank Account Number:"), 'bank_account_number', null, 30, 60);
textarea_row(_("Bank Address:"), 'bank_address', null, 40, 5);
if ($supp_charge != 0)
{
- $charge_act = get_company_pref('bank_charge_act');
+ $charge_act = get_bank_charge_account($bank_account);
$total += add_gl_trans_supplier($trans_type, $payment_id, $date_, $charge_act, 0, 0,
$supp_charge, $supplier_id, "", $rate);
}
}
if (isset($_POST['charge']) && input_num('charge') > 0) {
- $charge_acct = get_company_pref('bank_charge_act');
+ $charge_acct = get_bank_charge_account($_POST['bank_account']);
if (get_gl_account($charge_acct) == false) {
display_error(_("The Bank Charge Account has not been set in System and General GL Setup."));
set_focus('charge');
return false;
}
if (isset($_POST['charge']) && input_num('charge') > 0) {
- $charge_acct = get_company_pref('bank_charge_act');
+ $charge_acct = get_bank_charge_account($_POST['bank_account']);
if (get_gl_account($charge_acct) == false) {
display_error(_("The Bank Charge Account has not been set in System and General GL Setup."));
set_focus('charge');
if ($charge != 0) {
/* Now Debit bank charge account with charges */
- $charge_act = get_company_pref('bank_charge_act');
+ $charge_act = get_bank_charge_account($bank_account);
$total += add_gl_trans_customer(ST_CUSTPAYMENT, $payment_no, $date_,
$charge_act, 0, 0, $charge, $customer_id,
"Cannot insert a GL transaction for the payment bank charge debit", $rate);
ALTER TABLE `0_debtor_trans` ADD COLUMN `tax_included` tinyint(1) unsigned NOT NULL default '0' AFTER `payment_terms`;
UPDATE `0_debtor_trans` tr, `0_trans_tax_details` td SET tr.tax_included=td.included_in_price
- WHERE tr.`type`=td.trans_type AND tr.trans_no=td.trans_no AND td.included_in_price
\ No newline at end of file
+ WHERE tr.`type`=td.trans_type AND tr.trans_no=td.trans_no AND td.included_in_price
+ALTER TABLE `0_bank_accounts` ADD COLUMN `bank_charge_act` varchar(15) NOT NULL DEFAULT '' AFTER `id`;
+UPDATE `0_bank_accounts` SET `bank_charge_act`=(SELECT `value` FROM 0_sys_prefs WHERE name='bank_charge_act');
+
\ No newline at end of file
`bank_curr_code` char(3) NOT NULL default '',
`dflt_curr_act` tinyint(1) NOT NULL default '0',
`id` smallint(6) NOT NULL auto_increment,
+ `bank_charge_act` varchar(15) NOT NULL default '',
`last_reconciled_date` timestamp NOT NULL default '0000-00-00 00:00:00',
`ending_reconcile_balance` double NOT NULL default '0',
`inactive` tinyint(1) NOT NULL default '0',
-- Dumping data for table `0_bank_accounts`
--
-INSERT INTO `0_bank_accounts` VALUES('1060', 0, 'Current account', '9999999999', 'Wachovia Bank', '', 'USD', 1, 1, '0000-00-00 00:00:00', 0, 0);
-INSERT INTO `0_bank_accounts` VALUES('1065', 3, 'Petty Cash account', 'N/A', 'N/A', '', 'USD', 0, 2, '0000-00-00 00:00:00', 0, 0);
+INSERT INTO `0_bank_accounts` VALUES('1060', 0, 'Current account', '9999999999', 'Wachovia Bank', '', 'USD', 1, 1, '5690', '0000-00-00 00:00:00', 0, 0);
+INSERT INTO `0_bank_accounts` VALUES('1065', 3, 'Petty Cash account', 'N/A', 'N/A', '', 'USD', 0, 2, '5690', '0000-00-00 00:00:00', 0, 0);
-- --------------------------------------------------------
`bank_curr_code` char(3) NOT NULL default '',
`dflt_curr_act` tinyint(1) NOT NULL default '0',
`id` smallint(6) NOT NULL auto_increment,
+ `bank_charge_act` varchar(15) NOT NULL default '',
`last_reconciled_date` timestamp NOT NULL default '0000-00-00 00:00:00',
`ending_reconcile_balance` double NOT NULL default '0',
`inactive` tinyint(1) NOT NULL default '0',
-- Dumping data for table `0_bank_accounts`
--
-INSERT INTO `0_bank_accounts` VALUES('1060', 0, 'Current account', 'N/A', 'N/A', '', 'USD', 1, 1, '0000-00-00 00:00:00', 0, 0);
-INSERT INTO `0_bank_accounts` VALUES('1065', 3, 'Petty Cash account', 'N/A', 'N/A', '', 'USD', 0, 2, '0000-00-00 00:00:00', 0, 0);
+INSERT INTO `0_bank_accounts` VALUES('1060', 0, 'Current account', 'N/A', 'N/A', '', 'USD', 1, 1, '5690', '0000-00-00 00:00:00', 0, 0);
+INSERT INTO `0_bank_accounts` VALUES('1065', 3, 'Petty Cash account', 'N/A', 'N/A', '', 'USD', 0, 2, '5690', '0000-00-00 00:00:00', 0, 0);
-- --------------------------------------------------------