function add_gl_balance($type, $trans_id, $date_, $amount, $person_type_id=null, $person_id=null)
{
$amount = round2($amount, user_price_dec());
- if ($amount != 0)
+
+ if (floatcmp($amount, 0))
+ {
+ error_log(sprintf( _("Rounding error %s encountered for trans_type:%s,trans_no:%s"), $amount, $type, $trans_id));
return add_gl_trans($type, $trans_id, $date_, get_company_pref('exchange_diff_act'), 0, 0, "",
$amount, null, $person_type_id, $person_id, "The balanced GL transaction could not be inserted");
- else
+ } else
return 0;
-}
+}
//--------------------------------------------------------------------------------
." || (trans_type=".ST_JOURNAL ." AND amount<0)"
." || trans_type=".ST_CUSTCREDIT.", amount*ex_rate,0)) payable,
- SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE.",-1,1)*
+ SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE." || trans_type=".ST_JOURNAL.",-1,1)*
IF(trans_type=".ST_BANKDEPOSIT." || trans_type=".ST_SALESINVOICE
." || (trans_type=".ST_JOURNAL ." AND amount<0)"
." || trans_type=".ST_CUSTCREDIT.", 0, net_amount*ex_rate)) net_input,
- SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE.",-1,1)*
+ SUM(IF(trans_type=".ST_CUSTCREDIT." || trans_type=".ST_SUPPINVOICE." || trans_type=".ST_JOURNAL.",-1,1)*
IF(trans_type=".ST_BANKDEPOSIT." || trans_type=".ST_SALESINVOICE
." || (trans_type=".ST_JOURNAL ." AND amount<0)"
." || trans_type=".ST_CUSTCREDIT.", 0, amount*ex_rate)) collectible,