- $taxbase = $base/($totrate+100);
- foreach ($taxes as $index => $item_tax) {
- $tax = round2($taxbase * $item_tax['rate'], user_price_dec());
- $gl_code = ($type == QE_DEPOSIT || ($type == QE_JOURNAL && $base < 0))
- ? $item_tax['sales_gl_code'] : $item_tax['purchasing_gl_code'];
- $tax_total += $tax;
- if ($tax==0) continue;
- if (!is_tax_gl_unique($gl_code)) {
- display_error(_("Cannot post to GL account used by more than one tax type."));
- break 3;
- }
- if ($type != QE_SUPPINV)
- $cart->add_gl_item($gl_code,
- $qe_line['dimension_id'], $qe_line['dimension2_id'],
- $tax, $qe['description']);
- else
- {
- $acc_name = get_gl_account_name($gl_code);
- $cart->add_gl_codes_to_trans($gl_code,
- $acc_name, $qe_line['dimension_id'],
- $qe_line['dimension2_id'], $tax, $qe['description']);
- }
+ $tax = round2($part * $item_tax['rate'], user_price_dec());
+ if ($tax==0) continue 2;
+ $gl_code = ($type == QE_DEPOSIT || ($type == QE_JOURNAL && $base < 0))
+ ? $item_tax['sales_gl_code'] : $item_tax['purchasing_gl_code'];
+ if (!is_tax_gl_unique($gl_code)) {
+ display_error(_("Cannot post to GL account used by more than one tax type."));
+ break 2;
+ }
+ if ($type != QE_SUPPINV)
+ $cart->add_gl_item($gl_code,
+ $qe_line['dimension_id'], $qe_line['dimension2_id'],
+ $tax, $qe['description']);
+ else
+ {
+ $acc_name = get_gl_account_name($gl_code);
+ $cart->add_gl_codes_to_trans($gl_code,
+ $acc_name, $qe_line['dimension_id'],
+ $qe_line['dimension2_id'], $tax, $qe['description']);