var $fixed_asset;
- function items_cart($type, $trans_no=0)
+ function __construct($type, $trans_no=0)
{
$this->trans_type = $type;
$this->order_id = $trans_no;
// --------------- line item functions
- function add_to_cart($line_no, $stock_id, $qty, $standard_cost, $description=null)
+ function add_to_cart($line_no, $stock_id, $qty, $unit_cost, $description=null)
{
if (isset($stock_id) && $stock_id != "" && isset($qty))
{
$this->line_items[$line_no] = new line_item($stock_id, $qty,
- $standard_cost, $description);
+ $unit_cost, $description);
return true;
}
else
return null;
}
- function update_cart_item($line_no, $qty, $standard_cost)
+ function update_cart_item($line_no, $qty, $unit_cost)
{
$this->line_items[$line_no]->quantity = $qty;
- $this->line_items[$line_no]->standard_cost = $standard_cost;
+ $this->line_items[$line_no]->unit_cost = $unit_cost;
}
function remove_from_cart($line_no)
$low_stock = array();
- if (!$SysPrefs->allow_negative_stock() || is_fixed_asset($line_item->mb_flag))
+ if (!$SysPrefs->allow_negative_stock())
{
foreach ($this->line_items as $line_no => $line_item)
if (has_stock_holding($line_item->mb_flag) || is_fixed_asset($line_item->mb_flag))
{
foreach ($this->gl_items as $gl_item)
{
- if ($gl_item->person_id)
+ if (is_subledger_account($gl_item->code_id))
return true;
}
return false;
if (!isset($tax_info['tax_reg']) && isset($tax_info['person_type']))
$tax_info['tax_reg'] = $tax_info['person_type']==PT_CUSTOMER ? TR_OUTPUT : TR_INPUT;
- if (count(@$tax_info['net_amount'])) // guess exempt sales/purchase if any tax has been found
+ if (count_array(@$tax_info['net_amount'])) // guess exempt sales/purchase if any tax has been found
{
$ex_net = abs($net_sum) - @array_sum($tax_info['net_amount']);
if ($ex_net != 0)
$gl->date = $this->tran_date;
$total_gl += add_gl_trans($this->trans_type, $this->order_id, $gl->date, $gl->code_id, $gl->dimension_id, $gl->dimension2_id,
- $gl->reference, $gl->amount, $this->currency, $gl->person_type_id, $gl->person_id, "", $this->rate);
+ $gl->reference, $gl->amount, $this->currency, $gl->person_type_id, $gl->person_id, $this->rate);
// post to first found bank account using given gl acount code.
$is_bank_to = is_bank_account($gl->code_id);
// update bank ledger if used
foreach($bank_trans as $bank_id => $amount)
add_bank_trans($this->trans_type, $this->order_id, $bank_id, $this->reference,
- $this->tran_date, $amount, 0, "", $this->currency,
- "Cannot insert a destination bank transaction");
+ $this->tran_date, $amount, 0, "", $this->currency);
// add AP/AR for journal transaction
if ($this->trans_type == ST_JOURNAL)
foreach($cust_trans as $branch_id => $amount)
if (floatcmp($amount, 0))
write_cust_journal($this->trans_type, $this->order_id, $branch_id, $this->tran_date,
- $this->reference, -$amount, $this->rate);
+ $this->reference, $amount, $this->rate);
// update AP
foreach($supp_trans as $supp_id => $amount)
if (floatcmp($amount, 0))
add_trans_tax_details($this->trans_type, $this->order_id,
$tax_id, $this->tax_info['rate'][$tax_id], 0, $tax_nominal, $net, $this->rate,
$this->tran_date,
- $this->source_ref, $reg);
+ $this->source_ref, $reg, $this->tax_info['tax_group'], $this->tax_info['tax_category']);
}
}
}
var $quantity;
var $price;
- var $standard_cost;
+ var $unit_cost;
- function line_item ($stock_id, $qty, $standard_cost=null, $description=null)
+ function __construct($stock_id, $qty, $unit_cost=null, $description=null)
{
$item_row = get_item($stock_id);
else
$this->item_description = $description;
- if ($standard_cost == null)
- $this->standard_cost = $item_row["purchase_cost"];
+ if ($unit_cost == null)
+ $this->unit_cost = $item_row["purchase_cost"];
else
- $this->standard_cost = $standard_cost;
+ $this->unit_cost = $unit_cost;
$this->stock_id = $stock_id;
$this->quantity = $qty;
var $branch_id;
var $date;
- function gl_item($code_id=null, $dimension_id=0, $dimension2_id=0, $amount=0, $memo='',
+ function __construct($code_id=null, $dimension_id=0, $dimension2_id=0, $amount=0, $memo='',
$act_descr=null, $person_id=null, $date=null)
{
//echo "adding $index, $code_id, $dimension_id, $amount, $reference<br>";