Allowed multiply bank accounts on same gl account, removed bank trans type.
[fa-stable.git] / sales / includes / db / sales_invoice_db.inc
index b3dfd743d7ebe5fb82f45fff89deab003b8f0623..d11786356d4d2820942ec0e985515b461da0ae52 100644 (file)
@@ -91,7 +91,7 @@ function write_sales_invoice(&$invoice)
 
                // Update delivery items for the quantity invoiced
                if ($invoice_line->qty_old != $invoice_line->qty_dispatched)
-                       update_parent_line(10, $invoice_line->id, ($invoice_line->qty_dispatched-$invoice_line->qty_old));
+                       update_parent_line(10, $invoice_line->src_id, ($invoice_line->qty_dispatched-$invoice_line->qty_old));
 
                if ($invoice_line->qty_dispatched != 0) {
                        $stock_gl_code = get_stock_gl_code($invoice_line->stock_id);
@@ -148,8 +148,21 @@ function write_sales_invoice(&$invoice)
 
        if ($trans_no == 0) {
                references::save_last($invoice->reference, 10);
+               if ($invoice->cash) {
+                       $amount = $items_total + $items_added_tax + $invoice->freight_cost 
+                               + $freight_added_tax;
+
+                       // to use debtors.pmt_discount on cash sale:
+                       // extend invoice entry page with final amount after discount 
+                       // and change line below.
+                       $discount = 0; // $invoice->cash_discount*$amount;
+                       $pmtno = write_customer_payment(0, $invoice->customer_id, 
+                               $invoice->Branch, $invoice->cash_account, $date_,
+                               references::get_next(12), $amount-$discount, $discount,
+                               _('Cash invoice').' '.$invoice->trans_no);
+                       add_cust_allocation($amount, 12, $pmtno, 10, $invoice_no);
+               }
        }
-
        commit_transaction();
 
        return $invoice_no;