+ if ($credit_invoice) {
+ update_customer_trans_version(get_parent_type(ST_CUSTCREDIT), $credit_note->src_docs );
+
+ $total = $credit_note_total + $credit_note->freight_cost + $items_added_tax
+ + $freight_added_tax;
+
+ if (!credit_sales_invoice_allocate($credit_invoice, $credit_no, $total, $credit_date))
+ return false;
+ }
+
+ $total = 0;
+ foreach ($credit_note->line_items as $credit_line) {
+
+ if ($credit_invoice && $credit_line->qty_dispatched!=$credit_line->qty_old ) {
+ update_parent_line(ST_CUSTCREDIT, $credit_line->src_id,($credit_line->qty_dispatched
+ -$credit_line->qty_old));
+ }
+
+ $line_taxfree_price = get_tax_free_price_for_item($credit_line->stock_id, $credit_line->price,
+ 0, $credit_note->tax_included, $credit_note->tax_group_array);
+
+ $line_tax = get_full_price_for_item($credit_line->stock_id, $credit_line->price,
+ 0, $credit_note->tax_included, $credit_note->tax_group_array) - $line_taxfree_price;
+
+ $credit_line->standard_cost = get_unit_cost($credit_line->stock_id);
+
+ write_customer_trans_detail_item(ST_CUSTCREDIT, $credit_no, $credit_line->stock_id,
+ $credit_line->item_description, $credit_line->qty_dispatched,
+ $credit_line->line_price(), $line_tax, $credit_line->discount_percent,
+ $credit_line->standard_cost, $credit_line->src_id, $trans_no==0 ? 0: $credit_line->id);
+
+ if ($credit_type == 'Return')
+ add_credit_movements_item($credit_note, $credit_line,
+ $credit_type, ($line_taxfree_price+$line_tax)*(1-$credit_line->discount_percent), $credit_invoice);
+
+ $total += add_gl_trans_credit_costs($credit_note, $credit_line, $credit_no,
+ $credit_date, $credit_type, $write_off_acc, $branch_data);
+ } /*end of credit_line loop */
+
+ /*Post credit note transaction to GL credit debtors,
+ debit freight re-charged and debit sales */
+
+ if (($credit_note_total + $credit_note->freight_cost) != 0) {
+
+ $total += add_gl_trans_customer(ST_CUSTCREDIT, $credit_no, $credit_date, $branch_data["receivables_account"], 0, 0,
+ -($credit_note_total + $credit_note->freight_cost + $items_added_tax + $freight_added_tax),
+ $credit_note->customer_id,
+ "The total debtor GL posting for the credit note could not be inserted");
+ }
+
+ if ($credit_note->freight_cost != 0) {
+ $total += add_gl_trans_customer(ST_CUSTCREDIT, $credit_no, $credit_date, $company_data["freight_act"], 0, 0,
+ $credit_note->get_tax_free_shipping(), $credit_note->customer_id,
+ "The freight GL posting for this credit note could not be inserted");
+ }
+
+ foreach ($taxes as $taxitem) {
+ if ($taxitem['Net'] != 0) {