diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 8edcb68b2b7..b5e756ebb19 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -4000,7 +4000,9 @@ if ($action == 'create') { $multicurrency_totaldeposits = $object->getSumDepositsUsed(1); $multicurrency_resteapayer = price2num($object->multicurrency_total_ttc - $multicurrency_totalpaid - $multicurrency_totalcreditnotes - $multicurrency_totaldeposits, 'MT'); // Code to fix case of corrupted data - if ($resteapayer == 0 && $multicurrency_resteapayer != 0) { + // TODO We should not need this. Also data comes from a not reliable value of $object->multicurrency_total_ttc that may be wrong if it was + // calculated by summing lines that were in a currency for some of them and into another for others (lines from discount/down payment into another currency for example) + if ($resteapayer == 0 && $multicurrency_resteapayer != 0 && $object->multicurrency_code != $conf->currency) { $resteapayer = price2num($multicurrency_resteapayer / $object->multicurrency_tx, 'MT'); } } diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 7033b40cc1c..31cec906b0f 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -2629,7 +2629,9 @@ if ($action == 'create') { $multicurrency_totaldeposits = $object->getSumDepositsUsed(1); $multicurrency_resteapayer = price2num($object->multicurrency_total_ttc - $multicurrency_totalpaid - $multicurrency_totalcreditnotes - $multicurrency_totaldeposits, 'MT'); // Code to fix case of corrupted data - if ($resteapayer == 0 && $multicurrency_resteapayer != 0) { + // TODO We should not need this. Also data comes from not reliable value of $object->multicurrency_total_ttc that may be wrong if it was + // calculated by summing lines that were in a currency for some of them and into another for others (lines from discount/down payment into another currency for example) + if ($resteapayer == 0 && $multicurrency_resteapayer != 0 && $object->multicurrency_code != $conf->currency) { $resteapayer = price2num($multicurrency_resteapayer / $object->multicurrency_tx, 'MT'); } }