! -> Note
$ -> Affected files
+01-Aug-2008 Joe Hunt
+! Customer Dimension overrides an Item Dimension when creating GL transactions
+$ /sales/includes/db/customers_db.inc
+ /sales/includes/db/sales_credit_db.inc
+ /sales/includes/db/sales_delivery_db.inc
+ /sales/includes/db/sales_invoice_db.inc
+
31-Jul-2008 Joe Hunt
+ Added a new menu entry after that Bank Payment or Bank Deposit has been processed.
$ /gl/gl_bank.php
}
+function get_customer($customer_id)
+{
+ $sql = "SELECT * FROM ".TB_PREF."debtors_master WHERE debtor_no=$customer_id";
+
+ $result = db_query($sql, "could not get customer");
+
+ return db_fetch($result);
+}
+
function get_customer_name($customer_id)
{
$sql = "SELECT name FROM ".TB_PREF."debtors_master WHERE debtor_no=$customer_id";
$credit_type, $write_off_gl_code, &$branch_data)
{
$stock_gl_codes = get_stock_gl_code($order_line->stock_id);
+ $customer = get_customer($order->customer_id);
+ // 2008-08-01. If there is a Customer Dimension, then override with this,
+ // else take the Item Dimension (if any)
+ $dim = ($customer['dimension_id'] != 0 ? $customer["dimension_id"] : $stock_gl_codes["dimension_id"]);
+ $dim2 = ($customer['dimension2_id'] != 0 ? $customer["dimension2_id"] : $stock_gl_codes["dimension2_id"]);
/* insert gl_trans to credit stock and debit cost of sales at standard cost*/
if ($order_line->standard_cost != 0) {
/*first the cost of sales entry*/
add_gl_trans_std_cost(11, $credit_no, $date_, $stock_gl_codes["cogs_account"],
- $stock_gl_codes["dimension_id"], $stock_gl_codes["dimension2_id"], "",
- -($order_line->standard_cost * $order_line->qty_dispatched),
+ $dim, $dim2, "", -($order_line->standard_cost * $order_line->qty_dispatched),
payment_person_types::customer(), $order->customer_id,
"The cost of sales GL posting could not be inserted");
$sales_account = $branch_data['sales_account'];
else
$sales_account = $stock_gl_codes['sales_account'];
- add_gl_trans_customer(11, $credit_no, $date_, $sales_account, $stock_gl_codes["dimension_id"],
- $stock_gl_codes["dimension2_id"],
+ add_gl_trans_customer(11, $credit_no, $date_, $sales_account, $dim, $dim2,
($line_taxfree_price * $order_line->qty_dispatched), $order->customer_id,
"The credit note GL posting could not be inserted");
if ($order_line->discount_percent != 0) {
add_gl_trans_customer(11, $credit_no, $date_, $branch_data["sales_discount_account"],
- $stock_gl_codes["dimension_id"], $stock_gl_codes["dimension2_id"],
- -($line_taxfree_price * $order_line->qty_dispatched * $order_line->discount_percent),
+ $dim, $dim2, -($line_taxfree_price * $order_line->qty_dispatched * $order_line->discount_percent),
$order->customer_id,
"The credit note discount GL posting could not be inserted");
begin_transaction();
+ $customer = get_customer($delivery->customer_id);
$delivery_items_total = $delivery->get_items_total_dispatch();
$freight_tax = $delivery->get_shipping_tax();
if ($delivery_line->standard_cost != 0) {
/*first the cost of sales entry*/
+ // 2008-08-01. If there is a Customer Dimension, then override with this,
+ // else take the Item Dimension (if any)
+ $dim = ($customer['dimension_id'] != 0 ? $customer["dimension_id"] : $stock_gl_code["dimension_id"]);
+ $dim2 = ($customer['dimension2_id'] != 0 ? $customer["dimension2_id"] : $stock_gl_code["dimension2_id"]);
+
add_gl_trans_std_cost(13, $delivery_no,
- $delivery->document_date, $stock_gl_code["cogs_account"],
- $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"], "",
+ $delivery->document_date, $stock_gl_code["cogs_account"], $dim, $dim2, "",
$delivery_line->standard_cost * $delivery_line->qty_dispatched,
payment_person_types::customer(), $delivery->customer_id,
"The cost of sales GL posting could not be inserted");
$branch_data = get_branch_accounts($invoice->Branch);
+ $customer = get_customer($invoice->customer_id);
+
// offer price values without freight costs
$items_total = $invoice->get_items_total_dispatch();
$freight_tax = $invoice->get_shipping_tax();
if ($invoice_line->qty_dispatched != 0) {
$stock_gl_code = get_stock_gl_code($invoice_line->stock_id);
- // 2008-06-14. If there is a Branch Sales Account, then override with this,
- // else take the Item Sales Account
- if ($branch_data['sales_account'] != "")
- $sales_account = $branch_data['sales_account'];
- else
- $sales_account = $stock_gl_code['sales_account'];
if ($invoice_line->line_price() != 0) {
//Post sales transaction to GL credit sales
- add_gl_trans_customer(10, $invoice_no, $date_, $sales_account,
- $stock_gl_code["dimension_id"], $stock_gl_code["dimension2_id"],
- (-$line_taxfree_price * $invoice_line->qty_dispatched),
- $invoice->customer_id, "The sales price GL posting could not be inserted");
+ // 2008-06-14. If there is a Branch Sales Account, then override with this,
+ // else take the Item Sales Account
+ $sales_account = ($branch_data['sales_account'] != "" ? $branch_data['sales_account'] : $stock_gl_code['sales_account']);
+ // 2008-08-01. If there is a Customer Dimension, then override with this,
+ // else take the Item Dimension (if any)
+ $dim = ($customer['dimension_id'] != 0 ? $customer["dimension_id"] : $stock_gl_code["dimension_id"]);
+ $dim2 = ($customer['dimension2_id'] != 0 ? $customer["dimension2_id"] : $stock_gl_code["dimension2_id"]);
+ add_gl_trans_customer(10, $invoice_no, $date_, $sales_account, $dim, $dim2,
+ (-$line_taxfree_price * $invoice_line->qty_dispatched),
+ $invoice->customer_id, "The sales price GL posting could not be inserted");
if ($invoice_line->discount_percent != 0) {
add_gl_trans_customer(10, $invoice_no, $date_,
- $branch_data["sales_discount_account"], $stock_gl_code["dimension_id"],
- $stock_gl_code["dimension2_id"],
+ $branch_data["sales_discount_account"], $dim, $dim2,
($line_taxfree_price * $invoice_line->qty_dispatched * $invoice_line->discount_percent),
$invoice->customer_id, "The sales discount GL posting could not be inserted");
} /*end of if discount !=0 */