if (!is_date_in_fiscalyear($supp_trans->tran_date))
$supp_trans->tran_date = end_fiscalyear();
}
- if ($supp_trans->supplier_id != $supplier_id)
- get_duedate_from_terms($supp_trans);
- $supp_trans->supplier_id = $supplier_id;
$supp_trans->tax_included = $myrow['tax_included'];
$supp_trans->supplier_name = $myrow['supp_name'];
$supp_trans->terms = array(
'days_before_due' => $myrow['days_before_due'],
'day_in_following_month' => $myrow['day_in_following_month'] );
+ if ($supp_trans->supplier_id != $supplier_id)
+ get_duedate_from_terms($supp_trans);
+
+ $supp_trans->supplier_id = $supplier_id;
+
$supp_trans->credit = $myrow['cur_credit'];
$supp_trans->tax_description = $myrow['tax_group_name'];
return $diff;
}
//----------------------------------------------------------------------------------------
-
function add_supp_invoice(&$supp_trans)
{
global $Refs;
$taxes = $supp_trans->get_taxes($supp_trans->tax_group_id);
if ($trans_no) {
$allocs = get_payments_for($trans_no, $trans_type, $supp_trans->supplier_id); // save allocations
- void_transaction($trans_type, $trans_no, Today(), _("Document reentered."));
+ void_transaction($trans_type, $trans_no, $supp_trans->tran_date, _("Document reentered."));
$Refs->restore_last($trans_type, $trans_no);
} else
$allocs = get_po_prepayments($supp_trans);
foreach ($taxes as $n => $taxitem)
$item_added_tax += isset($taxitem['Override']) ? $taxitem['Override'] : round2($taxitem['Value'], user_price_dec());
}
-
if ($trans_type == ST_SUPPCREDIT)
{
// let's negate everything because it's a credit note
$ref = $Refs->get_next(ST_JOURNAL, null, $date_);
add_journal(ST_JOURNAL, $id, $diff, $date_, get_company_currency(), $ref);
$stock_id = $entered_grn->item_code;
- $stock_gl_code = get_stock_gl_code($stock_id);
$memo = _("Supplier invoice adjustment for zero inventory of ").$stock_id." "._("Invoice")." ".$supp_trans->reference;
//Reverse the inventory effect if $qoh <=0
add_gl_trans_std_cost(ST_JOURNAL, $id, $date_,
if (count($supp_trans->src_docs) == 1)
{
$invoice_no = key($supp_trans->src_docs);
- $invoice_alloc_balance = get_supp_trans_allocation_balance(ST_SUPPINVOICE, $supp_trans->src_docs);
+ $invoice_alloc_balance = get_supp_trans_allocation_balance(ST_SUPPINVOICE, $invoice_no);
if ($invoice_alloc_balance > 0)
{ //the invoice is not already fully allocated
update_supp_trans_allocation(ST_SUPPINVOICE, $invoice_no, $supp_trans->supplier_id);
update_supp_trans_allocation(ST_SUPPCREDIT, $invoice_id, $supp_trans->supplier_id);
- exchange_variation(ST_SUPPCREDIT, $invoice_id, ST_SUPPINVOICE, $supp_trans->src_docs, $date_,
+ exchange_variation(ST_SUPPCREDIT, $invoice_id, ST_SUPPINVOICE, $invoice_no, $date_,
$allocate_amount, PT_SUPPLIER);
}
}
$supp_trans->add_grn_to_trans($details_row["grn_item_id"], $details_row["po_detail_item_id"], $details_row["stock_id"],
$details_row["description"],
$details_row['qty_recd'],
- $details_row['quantity_inv']-$details_row["quantity"],
- $details_row["quantity"], 0, $details_row["FullUnitPrice"],
+ $details_row['quantity_inv'],
+ ($trans_type == ST_SUPPCREDIT ? -1 : 1) * $details_row["quantity"], 0, $details_row["FullUnitPrice"], // SUPPCREDIT quantities are stored negative in database
0, 0);
}
else
//Reverse the inventory effect if $qoh <=0
add_gl_trans_std_cost(ST_JOURNAL, $id, $old_date,
$stock_gl_code["inventory_account"],
- $dim, $dim2, $memo, $details_row["quantity"] * $diff);
+ $details_row['dimension_id'], $details_row['dimension2_id'], $memo, $details_row["quantity"] * $diff);
//GL Posting to inventory adjustment account
add_gl_trans_std_cost(ST_JOURNAL, $id, $old_date,
$stock_gl_code["adjustment_account"],
- $dim, $dim2, $memo, -$details_row["quantity"] * $diff);
+ $details_row['dimension_id'], $details_row['dimension2_id'], $memo, -$details_row["quantity"] * $diff);
add_audit_trail(ST_JOURNAL, $id, $old_date);
add_comments(ST_JOURNAL, $id, $old_date, $memo);