if ($edit_rate)
text_row(_("Exchange Rate:"), '_ex_rate', $rate, 8, 8, null, "", " $from_currency = 1 $to_currency");
else
- label_row(_("Exchange Rate:"),"<span id='_ex_rate'>$rate</span> $from_currency = 1 $to_currency" );
+ label_row(_("Exchange Rate:"),"<span style='vertical-align:top;' id='_ex_rate'>$rate</span> $from_currency = 1 $to_currency" );
$Ajax->addUpdate('_ex_rate','_ex_rate', $rate);
}
}
function display_debit_or_credit_cells($value)
{
- if ($value > 0)
+ if ($value >= 0)
{
amount_cell($value);
label_cell("");
label_cell("");
amount_cell(abs($value));
}
- else
- {
- //label_cell("");
- amount_cell(0);
- label_cell("");
- }
}
//--------------------------------------------------------------------------------------
case "t-": // ditto & reduce base amount
$taxes = get_taxes_for_item_tax($qe_line['dest_id']);
$tax_total = 0;
+ $totrate = 0;
+ // find total tax
+ if (substr($qe_line['action'],0,1) != 'T') {
+ foreach ($taxes as $index => $item_tax) {
+ $totrate += $item_tax['rate'];
+ }
+ }
+ $taxbase = $base/($totrate+100);
foreach ($taxes as $index => $item_tax) {
- if(substr($qe_line['action'],0,1) != 'T')
- $tax = round2($base * $item_tax['rate']
- / ($item_tax['rate'] + 100), user_price_dec());
- else
- $tax = round2($base * $item_tax['rate'] / 100, user_price_dec());
-
+ $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'],