+ Possibility to 'Credit This' in supplier transactions like in customer transaction.
If there are many invoice items during a year, there would be many rows suggestions.
$ /purchasing/includes/db/grn_db.inc
+ /purchasing/includes/db/invoice_db.inc
/purchasing/includes/ui/invoice_ui.inc
/purchasing/supplier_credit.php
/purchasing/inquiry/supplier_inquiry.php
+ /purchasing/view/view_supp_credit.php
22-Dec-2008 Janusz Dobrowolski
# Fixed item_code database update on item creation.
}
//----------------------------------------------------------------------------------------
-function add_supp_invoice($supp_trans) // do not receive as ref because we change locally
+function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref because we change locally
{
//$company_currency = get_company_currency();
/*Start an sql transaction */
references::save_last($supp_trans->reference, $trans_type);
+ if ($invoice_no != 0)
+ {
+ $invoice_alloc_balance = get_supp_trans_allocation_balance(20, $invoice_no);
+ if ($invoice_alloc_balance > 0)
+ { //the invoice is not already fully allocated
+
+ $trans = get_supp_trans($invoice_no, 20);
+ $total = $trans['Total'];
+
+ $allocate_amount = ($invoice_alloc_balance > $total) ? $total : $invoice_alloc_balance;
+ /*Now insert the allocation record if > 0 */
+ if ($allocate_amount != 0)
+ {
+ update_supp_trans_allocation(20, $invoice_no, $allocate_amount);
+ update_supp_trans_allocation(21, $invoice_id, $allocate_amount); // ***
+ add_supp_allocation($allocate_amount, 21, $invoice_id, 20, $invoice_no,
+ $date_);
+ // Exchange Variations Joe Hunt 2008-09-20 ////////////////////////////////////////
+
+ exchange_variation(21, $invoice_id, 20, $invoice_no, $date_,
+ $allocate_amount, payment_person_types::supplier());
+
+ ///////////////////////////////////////////////////////////////////////////
+ }
+ }
+ }
+
+
commit_transaction();
return $invoice_id;
if (!check_data())
return;
- $invoice_no = add_supp_invoice($_SESSION['supp_trans']);
+ if (isset($_POST['invoice_no']))
+ $invoice_no = add_supp_invoice($_SESSION['supp_trans'], $_POST['invoice_no']);
+ else
+ $invoice_no = add_supp_invoice($_SESSION['supp_trans']);
$_SESSION['supp_trans']->clear_items();
unset($_SESSION['supp_trans']);
if (!$voided)
{
- $tax_total = 0; // ??????
- display_allocations_from(payment_person_types::supplier(), $supp_trans->supplier_id, 21, $trans_no, -($supp_trans->ov_amount + $tax_total));
+ display_allocations_from(payment_person_types::supplier(), $supp_trans->supplier_id, 21, $trans_no, -($supp_trans->ov_amount + $supp_trans->ov_gst));
}
end_page(true);