diff --git a/include/class/acc_ledger_sold.class.php b/include/class/acc_ledger_sold.class.php index e2dc5fd64..d5ba51825 100644 --- a/include/class/acc_ledger_sold.class.php +++ b/include/class/acc_ledger_sold.class.php @@ -334,9 +334,10 @@ class Acc_Ledger_Sold extends Acc_Ledger { $l = new Acc_Tva($this->db, $idx_tva); $l->load(); $tva_item = bcmul($amount, $l->get_parameter('rate')); + $tva_item=round($tva_item,2); } if (isset($tva[$idx_tva])) - $tva[$idx_tva]+=$tva_item; + $tva[$idx_tva]=bcadd($tva[$idx_tva],$tva_item); else $tva[$idx_tva] = $tva_item; if ($oTva->get_parameter("both_side") == 0) { diff --git a/unit-test/include/class/acc_ledger_sold.Test.php b/unit-test/include/class/acc_ledger_sold.Test.php index 3ec3e876e..726f69ad6 100644 --- a/unit-test/include/class/acc_ledger_sold.Test.php +++ b/unit-test/include/class/acc_ledger_sold.Test.php @@ -148,7 +148,7 @@ class Acc_Ledger_SoldTest extends TestCase $array["mt"]="1572714478.3155"; $array['e_march1_tva_amount']=""; $this->object->insert($array); - $this->assertEquals(254.6250,$g_connection->get_value("select qs_vat ".$sql)); + $this->assertEquals(254.63,$g_connection->get_value("select qs_vat ".$sql)); $this->clean_operation(); // Test space in e_march1_tva_amount instead of zero must be calculated