Incorrect Journal Balance (sales invoice) when many decimals in tax and price.
[fa-stable.git] / gl / includes / db / gl_db_trans.inc
index a6a10e8246da7b693937433d22baf77967351f4b..a899f7b4e6f272ff57ef425aa5d776e5431879c5 100644 (file)
@@ -92,7 +92,7 @@ function add_gl_balance($type, $trans_id, $date_, $amount, $person_type_id=null,
 {
        $amount = round2($amount, user_price_dec());
 
-       if (floatcmp($amount, 0))
+       if ($amount != 0.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, "",
@@ -458,11 +458,11 @@ function add_gl_tax_details($gl_code, $trans_type, $trans_no, $amount, $ex_rate,
 //
 function add_trans_tax_details($trans_type, $trans_no, $tax_id, $rate, $included,
        $amount, $net_amount, $ex_rate, $tran_date, $memo, $reg_type=null)
-{
+{      
        // guess tax register if not set
        if (!isset($reg_type))
-               $reg_type = in_array($trans_type, array(ST_SUPPINVOICE, ST_SUPPCREDIT)) ? TR_OUTPUT
-                               : (in_array($trans_type, array(ST_SALESINVOICE, ST_CUSTCREDIT)) ? TR_INPUT : null);
+               $reg_type = in_array($trans_type, array(ST_SUPPINVOICE, ST_SUPPCREDIT)) ? TR_INPUT
+                               : (in_array($trans_type, array(ST_SALESINVOICE, ST_CUSTCREDIT)) ? TR_OUTPUT : null);
 
        $sql = "INSERT INTO ".TB_PREF."trans_tax_details 
                (trans_type, trans_no, tran_date, tax_type_id, rate, ex_rate,