X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fdb%2Fsales_invoice_db.inc;h=b858652e98cefd07c3582ca84c015c40215ab986;hb=159af00183e3732314b508729b06eae88721954c;hp=ec650f302e02ff7d861deed3d4737b55c4b4334a;hpb=f5a86be183c6023b189199c69ac409df1b7116df;p=fa-stable.git diff --git a/sales/includes/db/sales_invoice_db.inc b/sales/includes/db/sales_invoice_db.inc index ec650f30..b858652e 100644 --- a/sales/includes/db/sales_invoice_db.inc +++ b/sales/includes/db/sales_invoice_db.inc @@ -176,7 +176,7 @@ function write_sales_invoice(&$invoice) add_trans_tax_details(ST_SALESINVOICE, $invoice_no, $taxitem['tax_type_id'], $taxitem['rate'], $invoice->tax_included, $prepaid_factor*$taxitem['Value'], $taxitem['Net'], $ex_rate, $date_, $invoice->reference, TR_OUTPUT); - if (isset($taxitem['sales_gl_code'])) + if (isset($taxitem['sales_gl_code']) && !empty($taxitem['sales_gl_code']) && $taxitem['Value'] != 0) $total += add_gl_trans_customer(ST_SALESINVOICE, $invoice_no, $date_, $taxitem['sales_gl_code'], 0, 0, (-$taxitem['Value'])*$prepaid_factor, $invoice->customer_id, "A tax GL posting could not be inserted"); @@ -193,21 +193,22 @@ function write_sales_invoice(&$invoice) if ($invoice->payment_terms['cash_sale'] && $invoice->pos['pos_account']) { $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->pos['pos_account'], $date_, - $Refs->get_next(ST_CUSTPAYMENT, null, array('customer' => $invoice->customer_id, - 'branch' => $invoice->Branch, 'date' => $date_)), - $amount-$discount, $discount, - $invoice->pos['pos_name'].' #'.$invoice_no); - add_cust_allocation($amount, ST_CUSTPAYMENT, $pmtno, ST_SALESINVOICE, $invoice_no, $invoice->customer_id, $date_); - - update_debtor_trans_allocation(ST_SALESINVOICE, $invoice_no, $invoice->customer_id); - update_debtor_trans_allocation(ST_CUSTPAYMENT, $pmtno, $invoice->customer_id); + if ($amount != 0) { + // 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->pos['pos_account'], $date_, + $Refs->get_next(ST_CUSTPAYMENT, null, array('customer' => $invoice->customer_id, + 'branch' => $invoice->Branch, 'date' => $date_)), + $amount-$discount, $discount, + $invoice->pos['pos_name'].' #'.$invoice_no); + add_cust_allocation($amount, ST_CUSTPAYMENT, $pmtno, ST_SALESINVOICE, $invoice_no, $invoice->customer_id, $date_); + + update_debtor_trans_allocation(ST_SALESINVOICE, $invoice_no, $invoice->customer_id); + update_debtor_trans_allocation(ST_CUSTPAYMENT, $pmtno, $invoice->customer_id); + } } } reallocate_payments($invoice_no, ST_SALESINVOICE, $date_, $to_allocate, $allocs, $invoice->customer_id);