Fixed bug in Supplier Credit Note allocation to Purchase Invoice.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 4 Feb 2014 11:47:46 +0000 (12:47 +0100)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Tue, 4 Feb 2014 11:52:34 +0000 (12:52 +0100)
purchasing/includes/db/invoice_db.inc

index 83e9f7f83a4dfa6c1453f8d2b4aa6f8f251187f5..6218052b3d4eb194fca41ea42bffc8e4c751ef97 100644 (file)
@@ -345,24 +345,24 @@ function add_supp_invoice($supp_trans, $invoice_no=0) // do not receive as ref b
                if ($invoice_alloc_balance > 0) 
                {       //the invoice is not already fully allocated 
 
-                       $trans = get_supp_trans($invoice_no, ST_SUPPINVOICE);
-                       $total = $trans['Total'];
+                       $trans = get_supp_trans($invoice_id, ST_SUPPCREDIT);
+                       $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(ST_SUPPINVOICE, $invoice_no, $allocate_amount);
-                               update_supp_trans_allocation(ST_SUPPCREDIT, $invoice_id, $allocate_amount);
                                add_supp_allocation($allocate_amount, ST_SUPPCREDIT, $invoice_id, ST_SUPPINVOICE, $invoice_no,
                                        $date_);
+                               update_supp_trans_allocation(ST_SUPPINVOICE, $invoice_no);
+                               update_supp_trans_allocation(ST_SUPPCREDIT, $invoice_id);
 
                                exchange_variation(ST_SUPPCREDIT, $invoice_id, ST_SUPPINVOICE, $invoice_no, $date_,
                                        $allocate_amount, PT_SUPPLIER);
                        }
                }
        }
-
        $supp_trans->trans_no = $invoice_id;
        hook_db_postwrite($supp_trans, $supp_trans->trans_type);
     commit_transaction();